[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AEHJ4PBCB6H2NY0EC1C84H":3,"skill-same:01M6AEHJ4PBCB6H2NY0EC1C84H":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6AEHJ4PBCB6H2NY0EC1C84H","environment-setup-guide",null,"Guide developers through setting up development environments with proper tools, dependencies, and configurations","davila7\u002Fclaude-code-templates","davila7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6216945?v=4","01M6ADEWWFPS191NFM0Y1EX1JH","Daniel Avila","01M6ADJHGM78PHQRD3XZTFDVKK",33481,"MIT","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fenvironment-setup-guide\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29],"setup","environment setup guide","environment","guide","environment setup","development","Tools","up","dependencies","with","environments","2026-11-10 10:12:30",false,"---\nname: environment-setup-guide\ndescription: \"Guide developers through setting up development environments with proper tools, dependencies, and configurations\"\n---\n\n# Environment Setup Guide\n\n## Overview\n\nHelp developers set up complete development environments from scratch. This skill provides step-by-step guidance for installing tools, configuring dependencies, setting up environment variables, and verifying the setup works correctly.\n\n## When to Use This Skill\n\n- Use when starting a new project and need to set up the development environment\n- Use when onboarding new team members to a project\n- Use when switching to a new machine or operating system\n- Use when troubleshooting environment-related issues\n- Use when documenting setup instructions for a project\n- Use when creating development environment documentation\n\n## How It Works\n\n### Step 1: Identify Requirements\n\nI'll help you determine what needs to be installed:\n- Programming language and version (Node.js, Python, Go, etc.)\n- Package managers (npm, pip, cargo, etc.)\n- Database systems (PostgreSQL, MongoDB, Redis, etc.)\n- Development tools (Git, Docker, IDE extensions, etc.)\n- Environment variables and configuration files\n\n### Step 2: Check Current Setup\n\nBefore installing anything, I'll help you check what's already installed:\n```bash\n# Check versions of installed tools\nnode --version\npython --version\ngit --version\ndocker --version\n```\n\n### Step 3: Provide Installation Instructions\n\nI'll give platform-specific installation commands:\n- **macOS:** Using Homebrew\n- **Linux:** Using apt, yum, or package manager\n- **Windows:** Using Chocolatey, Scoop, or direct installers\n\n### Step 4: Configure the Environment\n\nHelp set up:\n- Environment variables (.env files)\n- Configuration files (.gitconfig, .npmrc, etc.)\n- IDE settings (VS Code, IntelliJ, etc.)\n- Shell configuration (.bashrc, .zshrc, etc.)\n\n### Step 5: Verify Installation\n\nProvide verification steps to ensure everything works:\n- Run version checks\n- Test basic commands\n- Verify database connections\n- Check environment variables are loaded\n\n## Examples\n\n### Example 1: Node.js Project Setup\n\n```markdown\n## Setting Up Node.js Development Environment\n\n### Prerequisites\n- macOS, Linux, or Windows\n- Terminal\u002FCommand Prompt access\n- Internet connection\n\n### Step 1: Install Node.js\n\n**macOS (using Homebrew):**\n\\`\\`\\`bash\n# Install Homebrew if not installed\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n\n# Install Node.js\nbrew install node\n\\`\\`\\`\n\n**Linux (Ubuntu\u002FDebian):**\n\\`\\`\\`bash\n# Update package list\nsudo apt update\n\n# Install Node.js and npm\ncurl -fsSL https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_20.x | sudo -E bash -\nsudo apt install -y nodejs\n\\`\\`\\`\n\n**Windows (using Chocolatey):**\n\\`\\`\\`powershell\n# Install Chocolatey if not installed\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https:\u002F\u002Fcommunity.chocolatey.org\u002Finstall.ps1'))\n\n# Install Node.js\nchoco install nodejs\n\\`\\`\\`\n\n### Step 2: Verify Installation\n\n\\`\\`\\`bash\nnode --version  # Should show v20.x.x or higher\nnpm --version   # Should show 10.x.x or higher\n\\`\\`\\`\n\n### Step 3: Install Project Dependencies\n\n\\`\\`\\`bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fyour-repo\u002Fproject.git\ncd project\n\n# Install dependencies\nnpm install\n\\`\\`\\`\n\n### Step 4: Set Up Environment Variables\n\nCreate a \\`.env\\` file:\n\\`\\`\\`bash\n# Copy example environment file\ncp .env.example .env\n\n# Edit with your values\nnano .env\n\\`\\`\\`\n\nExample \\`.env\\` content:\n\\`\\`\\`\nNODE_ENV=development\nPORT=3000\nDATABASE_URL=postgresql:\u002F\u002Flocalhost:5432\u002Fmydb\nAPI_KEY=your-api-key-here\n\\`\\`\\`\n\n### Step 5: Run the Project\n\n\\`\\`\\`bash\n# Start development server\nnpm run dev\n\n# Should see: Server running on http:\u002F\u002Flocalhost:3000\n\\`\\`\\`\n\n### Troubleshooting\n\n**Problem:** \"node: command not found\"\n**Solution:** Restart your terminal or run \\`source ~\u002F.bashrc\\` (Linux) or \\`source ~\u002F.zshrc\\` (macOS)\n\n**Problem:** \"Permission denied\" errors\n**Solution:** Don't use sudo with npm. Fix permissions:\n\\`\\`\\`bash\nmkdir ~\u002F.npm-global\nnpm config set prefix '~\u002F.npm-global'\necho 'export PATH=~\u002F.npm-global\u002Fbin:$PATH' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n\\`\\`\\`\n```\n\n### Example 2: Python Project Setup\n\n```markdown\n## Setting Up Python Development Environment\n\n### Step 1: Install Python\n\n**macOS:**\n\\`\\`\\`bash\nbrew install python@3.11\n\\`\\`\\`\n\n**Linux:**\n\\`\\`\\`bash\nsudo apt update\nsudo apt install python3.11 python3.11-venv python3-pip\n\\`\\`\\`\n\n**Windows:**\n\\`\\`\\`powershell\nchoco install python --version=3.11\n\\`\\`\\`\n\n### Step 2: Verify Installation\n\n\\`\\`\\`bash\npython3 --version  # Should show Python 3.11.x\npip3 --version     # Should show pip 23.x.x\n\\`\\`\\`\n\n### Step 3: Create Virtual Environment\n\n\\`\\`\\`bash\n# Navigate to project directory\ncd my-project\n\n# Create virtual environment\npython3 -m venv venv\n\n# Activate virtual environment\n# macOS\u002FLinux:\nsource venv\u002Fbin\u002Factivate\n\n# Windows:\nvenv\\Scripts\\activate\n\\`\\`\\`\n\n### Step 4: Install Dependencies\n\n\\`\\`\\`bash\n# Install from requirements.txt\npip install -r requirements.txt\n\n# Or install packages individually\npip install flask sqlalchemy python-dotenv\n\\`\\`\\`\n\n### Step 5: Set Up Environment Variables\n\nCreate \\`.env\\` file:\n\\`\\`\\`\nFLASK_APP=app.py\nFLASK_ENV=development\nDATABASE_URL=sqlite:\u002F\u002F\u002Fapp.db\nSECRET_KEY=your-secret-key-here\n\\`\\`\\`\n\n### Step 6: Run the Application\n\n\\`\\`\\`bash\n# Run Flask app\nflask run\n\n# Should see: Running on http:\u002F\u002F127.0.0.1:5000\n\\`\\`\\`\n```\n\n### Example 3: Docker Development Environment\n\n```markdown\n## Setting Up Docker Development Environment\n\n### Step 1: Install Docker\n\n**macOS:**\n\\`\\`\\`bash\nbrew install --cask docker\n# Or download Docker Desktop from docker.com\n\\`\\`\\`\n\n**Linux:**\n\\`\\`\\`bash\n# Install Docker\ncurl -fsSL https:\u002F\u002Fget.docker.com -o get-docker.sh\nsudo sh get-docker.sh\n\n# Add user to docker group\nsudo usermod -aG docker $USER\nnewgrp docker\n\\`\\`\\`\n\n**Windows:**\nDownload Docker Desktop from docker.com\n\n### Step 2: Verify Installation\n\n\\`\\`\\`bash\ndocker --version        # Should show Docker version 24.x.x\ndocker-compose --version # Should show Docker Compose version 2.x.x\n\\`\\`\\`\n\n### Step 3: Create docker-compose.yml\n\n\\`\\`\\`yaml\nversion: '3.8'\n\nservices:\n  app:\n    build: .\n    ports:\n      - \"3000:3000\"\n    environment:\n      - NODE_ENV=development\n      - DATABASE_URL=postgresql:\u002F\u002Fpostgres:password@db:5432\u002Fmydb\n    volumes:\n      - .:\u002Fapp\n      - \u002Fapp\u002Fnode_modules\n    depends_on:\n      - db\n\n  db:\n    image: postgres:15\n    environment:\n      - POSTGRES_USER=postgres\n      - POSTGRES_PASSWORD=password\n      - POSTGRES_DB=mydb\n    ports:\n      - \"5432:5432\"\n    volumes:\n      - postgres_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n\nvolumes:\n  postgres_data:\n\\`\\`\\`\n\n### Step 4: Start Services\n\n\\`\\`\\`bash\n# Build and start containers\ndocker-compose up -d\n\n# View logs\ndocker-compose logs -f\n\n# Stop services\ndocker-compose down\n\\`\\`\\`\n\n### Step 5: Verify Services\n\n\\`\\`\\`bash\n# Check running containers\ndocker ps\n\n# Test database connection\ndocker-compose exec db psql -U postgres -d mydb\n\\`\\`\\`\n```\n\n## Best Practices\n\n### ✅ Do This\n\n- **Document Everything** - Write clear setup instructions\n- **Use Version Managers** - nvm for Node, pyenv for Python\n- **Create .env.example** - Show required environment variables\n- **Test on Clean System** - Verify instructions work from scratch\n- **Include Troubleshooting** - Document common issues and solutions\n- **Use Docker** - For consistent environments across machines\n- **Pin Versions** - Specify exact versions in package files\n- **Automate Setup** - Create setup scripts when possible\n- **Check Prerequisites** - List required tools before starting\n- **Provide Verification Steps** - Help users confirm setup works\n\n### ❌ Don't Do This\n\n- **Don't Assume Tools Installed** - Always check and provide install instructions\n- **Don't Skip Environment Variables** - Document all required variables\n- **Don't Use Sudo with npm** - Fix permissions instead\n- **Don't Forget Platform Differences** - Provide OS-specific instructions\n- **Don't Leave Out Verification** - Always include test steps\n- **Don't Use Global Installs** - Prefer local\u002Fvirtual environments\n- **Don't Ignore Errors** - Document how to handle common errors\n- **Don't Skip Database Setup** - Include database initialization steps\n\n## Common Pitfalls\n\n### Problem: \"Command not found\" after installation\n**Symptoms:** Installed tool but terminal doesn't recognize it\n**Solution:**\n- Restart terminal or source shell config\n- Check PATH environment variable\n- Verify installation location\n```bash\n# Check PATH\necho $PATH\n\n# Add to PATH (example)\nexport PATH=\"\u002Fusr\u002Flocal\u002Fbin:$PATH\"\n```\n\n### Problem: Permission errors with npm\u002Fpip\n**Symptoms:** \"EACCES\" or \"Permission denied\" errors\n**Solution:**\n- Don't use sudo\n- Fix npm permissions or use nvm\n- Use virtual environments for Python\n```bash\n# Fix npm permissions\nmkdir ~\u002F.npm-global\nnpm config set prefix '~\u002F.npm-global'\necho 'export PATH=~\u002F.npm-global\u002Fbin:$PATH' >> ~\u002F.bashrc\n```\n\n### Problem: Port already in use\n**Symptoms:** \"Port 3000 is already in use\"\n**Solution:**\n- Find and kill process using the port\n- Use a different port\n```bash\n# Find process on port 3000\nlsof -i :3000\n\n# Kill process\nkill -9 \u003CPID>\n\n# Or use different port\nPORT=3001 npm start\n```\n\n### Problem: Database connection fails\n**Symptoms:** \"Connection refused\" or \"Authentication failed\"\n**Solution:**\n- Verify database is running\n- Check connection string\n- Verify credentials\n```bash\n# Check if PostgreSQL is running\nsudo systemctl status postgresql\n\n# Test connection\npsql -h localhost -U postgres -d mydb\n```\n\n## Setup Script Template\n\nCreate a `setup.sh` script to automate setup:\n\n```bash\n#!\u002Fbin\u002Fbash\n\necho \"? Setting up development environment...\"\n\n# Check prerequisites\ncommand -v node >\u002Fdev\u002Fnull 2>&1 || { echo \"❌ Node.js not installed\"; exit 1; }\ncommand -v git >\u002Fdev\u002Fnull 2>&1 || { echo \"❌ Git not installed\"; exit 1; }\n\necho \"✅ Prerequisites check passed\"\n\n# Install dependencies\necho \"? Installing dependencies...\"\nnpm install\n\n# Copy environment file\nif [ ! -f .env ]; then\n    echo \"? Creating .env file...\"\n    cp .env.example .env\n    echo \"⚠️  Please edit .env with your configuration\"\nfi\n\n# Run database migrations\necho \"?️  Running database migrations...\"\nnpm run migrate\n\n# Verify setup\necho \"? Verifying setup...\"\nnpm run test:setup\n\necho \"✅ Setup complete! Run 'npm run dev' to start\"\n```\n\n## Related Skills\n\n- `@brainstorming` - Plan environment requirements before setup\n- `@systematic-debugging` - Debug environment issues\n- `@doc-coauthoring` - Create setup documentation\n- `@git-pushing` - Set up Git configuration\n\n## Additional Resources\n\n- [Node.js Installation Guide](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002F)\n- [Python Virtual Environments](https:\u002F\u002Fdocs.python.org\u002F3\u002Ftutorial\u002Fvenv.html)\n- [Docker Documentation](https:\u002F\u002Fdocs.docker.com\u002Fget-started\u002F)\n- [Homebrew (macOS)](https:\u002F\u002Fbrew.sh\u002F)\n- [Chocolatey (Windows)](https:\u002F\u002Fchocolatey.org\u002F)\n- [nvm (Node Version Manager)](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm)\n- [pyenv (Python Version Manager)](https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv)\n\n---\n\n**Pro Tip:** Create a `setup.sh` or `setup.ps1` script to automate the entire setup process. Test it on a clean system to ensure it works!\n","# Environment Setup Guide\n\n## Overview\n\nHelp developers set up complete development environments from scratch. This skill provides step-by-step guidance for installing tools, configuring dependencies, setting up environment variables, and verifying the setup works correctly.\n\n## When to Use This Skill\n\n- Use when starting a new project and need to set up the development environment\n- Use when onboarding new team members to a project\n- Use when switching to a new machine or operating system\n- Use when troubleshooting environment-related issues\n- Use when documenting setup instructions for a project\n- Use when creating development environment documentation\n\n## How It Works\n\n### Step 1: Identify Requirements\n\nI'll help you determine what needs to be installed:\n- Programming language and version (Node.js, Python, Go, etc.)\n- Package managers (npm, pip, cargo, etc.)\n- Database systems (PostgreSQL, MongoDB, Redis, etc.)\n- Development tools (Git, Docker, IDE extensions, etc.)\n- Environment variables and configuration files\n\n### Step 2: Check Current Setup\n\nBefore installing anything, I'll help you check what's already installed:\n```bash\n# Check versions of installed tools\nnode --version\npython --version\ngit --version\ndocker --version\n```\n\n### Step 3: Provide Installation Instructions\n\nI'll give platform-specific installation commands:\n- **macOS:** Using Homebrew\n- **Linux:** Using apt, yum, or package manager\n- **Windows:** Using Chocolatey, Scoop, or direct installers\n\n### Step 4: Configure the Environment\n\nHelp set up:\n- Environment variables (.env files)\n- Configuration files (.gitconfig, .npmrc, etc.)\n- IDE settings (VS Code, IntelliJ, etc.)\n- Shell configuration (.bashrc, .zshrc, etc.)\n\n### Step 5: Verify Installation\n\nProvide verification steps to ensure everything works:\n- Run version checks\n- Test basic commands\n- Verify database connections\n- Check environment variables are loaded\n\n## Examples\n\n### Example 1: Node.js Project Setup\n\n```markdown\n## Setting Up Node.js Development Environment\n\n### Prerequisites\n- macOS, Linux, or Windows\n- Terminal\u002FCommand Prompt access\n- Internet connection\n\n### Step 1: Install Node.js\n\n**macOS (using Homebrew):**\n\\`\\`\\`bash\n# Install Homebrew if not installed\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n\n# Install Node.js\nbrew install node\n\\`\\`\\`\n\n**Linux (Ubuntu\u002FDebian):**\n\\`\\`\\`bash\n# Update package list\nsudo apt update\n\n# Install Node.js and npm\ncurl -fsSL https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_20.x | sudo -E bash -\nsudo apt install -y nodejs\n\\`\\`\\`\n\n**Windows (using Chocolatey):**\n\\`\\`\\`powershell\n# Install Chocolatey if not installed\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https:\u002F\u002Fcommunity.chocolatey.org\u002Finstall.ps1'))\n\n# Install Node.js\nchoco install nodejs\n\\`\\`\\`\n\n### Step 2: Verify Installation\n\n\\`\\`\\`bash\nnode --version  # Should show v20.x.x or higher\nnpm --version   # Should show 10.x.x or higher\n\\`\\`\\`\n\n### Step 3: Install Project Dependencies\n\n\\`\\`\\`bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fyour-repo\u002Fproject.git\ncd project\n\n# Install dependencies\nnpm install\n\\`\\`\\`\n\n### Step 4: Set Up Environment Variables\n\nCreate a \\`.env\\` file:\n\\`\\`\\`bash\n# Copy example environment file\ncp .env.example .env\n\n# Edit with your values\nnano .env\n\\`\\`\\`\n\nExample \\`.env\\` content:\n\\`\\`\\`\nNODE_ENV=development\nPORT=3000\nDATABASE_URL=postgresql:\u002F\u002Flocalhost:5432\u002Fmydb\nAPI_KEY=your-api-key-here\n\\`\\`\\`\n\n### Step 5: Run the Project\n\n\\`\\`\\`bash\n# Start development server\nnpm run dev\n\n# Should see: Server running on http:\u002F\u002Flocalhost:3000\n\\`\\`\\`\n\n### Troubleshooting\n\n**Problem:** \"node: command not found\"\n**Solution:** Restart your terminal or run \\`source ~\u002F.bashrc\\` (Linux) or \\`source ~\u002F.zshrc\\` (macOS)\n\n**Problem:** \"Permission denied\" errors\n**Solution:** Don't use sudo with npm. Fix permissions:\n\\`\\`\\`bash\nmkdir ~\u002F.npm-global\nnpm config set prefix '~\u002F.npm-global'\necho 'export PATH=~\u002F.npm-global\u002Fbin:$PATH' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n\\`\\`\\`\n```\n\n### Example 2: Python Project Setup\n\n```markdown\n## Setting Up Python Development Environment\n\n### Step 1: Install Python\n\n**macOS:**\n\\`\\`\\`bash\nbrew install python@3.11\n\\`\\`\\`\n\n**Linux:**\n\\`\\`\\`bash\nsudo apt update\nsudo apt install python3.11 python3.11-venv python3-pip\n\\`\\`\\`\n\n**Windows:**\n\\`\\`\\`powershell\nchoco install python --version=3.11\n\\`\\`\\`\n\n### Step 2: Verify Installation\n\n\\`\\`\\`bash\npython3 --version  # Should show Python 3.11.x\npip3 --version     # Should show pip 23.x.x\n\\`\\`\\`\n\n### Step 3: Create Virtual Environment\n\n\\`\\`\\`bash\n# Navigate to project directory\ncd my-project\n\n# Create virtual environment\npython3 -m venv venv\n\n# Activate virtual environment\n# macOS\u002FLinux:\nsource venv\u002Fbin\u002Factivate\n\n# Windows:\nvenv\\Scripts\\activate\n\\`\\`\\`\n\n### Step 4: Install Dependencies\n\n\\`\\`\\`bash\n# Install from requirements.txt\npip install -r requirements.txt\n\n# Or install packages individually\npip install flask sqlalchemy python-dotenv\n\\`\\`\\`\n\n### Step 5: Set Up Environment Variables\n\nCreate \\`.env\\` file:\n\\`\\`\\`\nFLASK_APP=app.py\nFLASK_ENV=development\nDATABASE_URL=sqlite:\u002F\u002F\u002Fapp.db\nSECRET_KEY=your-secret-key-here\n\\`\\`\\`\n\n### Step 6: Run the Application\n\n\\`\\`\\`bash\n# Run Flask app\nflask run\n\n# Should see: Running on http:\u002F\u002F127.0.0.1:5000\n\\`\\`\\`\n```\n\n### Example 3: Docker Development Environment\n\n```markdown\n## Setting Up Docker Development Environment\n\n### Step 1: Install Docker\n\n**macOS:**\n\\`\\`\\`bash\nbrew install --cask docker\n# Or download Docker Desktop from docker.com\n\\`\\`\\`\n\n**Linux:**\n\\`\\`\\`bash\n# Install Docker\ncurl -fsSL https:\u002F\u002Fget.docker.com -o get-docker.sh\nsudo sh get-docker.sh\n\n# Add user to docker group\nsudo usermod -aG docker $USER\nnewgrp docker\n\\`\\`\\`\n\n**Windows:**\nDownload Docker Desktop from docker.com\n\n### Step 2: Verify Installation\n\n\\`\\`\\`bash\ndocker --version        # Should show Docker version 24.x.x\ndocker-compose --version # Should show Docker Compose version 2.x.x\n\\`\\`\\`\n\n### Step 3: Create docker-compose.yml\n\n\\`\\`\\`yaml\nversion: '3.8'\n\nservices:\n  app:\n    build: .\n    ports:\n      - \"3000:3000\"\n    environment:\n      - NODE_ENV=development\n      - DATABASE_URL=postgresql:\u002F\u002Fpostgres:password@db:5432\u002Fmydb\n    volumes:\n      - .:\u002Fapp\n      - \u002Fapp\u002Fnode_modules\n    depends_on:\n      - db\n\n  db:\n    image: postgres:15\n    environment:\n      - POSTGRES_USER=postgres\n      - POSTGRES_PASSWORD=password\n      - POSTGRES_DB=mydb\n    ports:\n      - \"5432:5432\"\n    volumes:\n      - postgres_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n\nvolumes:\n  postgres_data:\n\\`\\`\\`\n\n### Step 4: Start Services\n\n\\`\\`\\`bash\n# Build and start containers\ndocker-compose up -d\n\n# View logs\ndocker-compose logs -f\n\n# Stop services\ndocker-compose down\n\\`\\`\\`\n\n### Step 5: Verify Services\n\n\\`\\`\\`bash\n# Check running containers\ndocker ps\n\n# Test database connection\ndocker-compose exec db psql -U postgres -d mydb\n\\`\\`\\`\n```\n\n## Best Practices\n\n### ✅ Do This\n\n- **Document Everything** - Write clear setup instructions\n- **Use Version Managers** - nvm for Node, pyenv for Python\n- **Create .env.example** - Show required environment variables\n- **Test on Clean System** - Verify instructions work from scratch\n- **Include Troubleshooting** - Document common issues and solutions\n- **Use Docker** - For consistent environments across machines\n- **Pin Versions** - Specify exact versions in package files\n- **Automate Setup** - Create setup scripts when possible\n- **Check Prerequisites** - List required tools before starting\n- **Provide Verification Steps** - Help users confirm setup works\n\n### ❌ Don't Do This\n\n- **Don't Assume Tools Installed** - Always check and provide install instructions\n- **Don't Skip Environment Variables** - Document all required variables\n- **Don't Use Sudo with npm** - Fix permissions instead\n- **Don't Forget Platform Differences** - Provide OS-specific instructions\n- **Don't Leave Out Verification** - Always include test steps\n- **Don't Use Global Installs** - Prefer local\u002Fvirtual environments\n- **Don't Ignore Errors** - Document how to handle common errors\n- **Don't Skip Database Setup** - Include database initialization steps\n\n## Common Pitfalls\n\n### Problem: \"Command not found\" after installation\n**Symptoms:** Installed tool but terminal doesn't recognize it\n**Solution:**\n- Restart terminal or source shell config\n- Check PATH environment variable\n- Verify installation location\n```bash\n# Check PATH\necho $PATH\n\n# Add to PATH (example)\nexport PATH=\"\u002Fusr\u002Flocal\u002Fbin:$PATH\"\n```\n\n### Problem: Permission errors with npm\u002Fpip\n**Symptoms:** \"EACCES\" or \"Permission denied\" errors\n**Solution:**\n- Don't use sudo\n- Fix npm permissions or use nvm\n- Use virtual environments for Python\n```bash\n# Fix npm permissions\nmkdir ~\u002F.npm-global\nnpm config set prefix '~\u002F.npm-global'\necho 'export PATH=~\u002F.npm-global\u002Fbin:$PATH' >> ~\u002F.bashrc\n```\n\n### Problem: Port already in use\n**Symptoms:** \"Port 3000 is already in use\"\n**Solution:**\n- Find and kill process using the port\n- Use a different port\n```bash\n# Find process on port 3000\nlsof -i :3000\n\n# Kill process\nkill -9 \u003CPID>\n\n# Or use different port\nPORT=3001 npm start\n```\n\n### Problem: Database connection fails\n**Symptoms:** \"Connection refused\" or \"Authentication failed\"\n**Solution:**\n- Verify database is running\n- Check connection string\n- Verify credentials\n```bash\n# Check if PostgreSQL is running\nsudo systemctl status postgresql\n\n# Test connection\npsql -h localhost -U postgres -d mydb\n```\n\n## Setup Script Template\n\nCreate a `setup.sh` script to automate setup:\n\n```bash\n#!\u002Fbin\u002Fbash\n\necho \"? Setting up development environment...\"\n\n# Check prerequisites\ncommand -v node >\u002Fdev\u002Fnull 2>&1 || { echo \"❌ Node.js not installed\"; exit 1; }\ncommand -v git >\u002Fdev\u002Fnull 2>&1 || { echo \"❌ Git not installed\"; exit 1; }\n\necho \"✅ Prerequisites check passed\"\n\n# Install dependencies\necho \"? Installing dependencies...\"\nnpm install\n\n# Copy environment file\nif [ ! -f .env ]; then\n    echo \"? Creating .env file...\"\n    cp .env.example .env\n    echo \"⚠️  Please edit .env with your configuration\"\nfi\n\n# Run database migrations\necho \"?️  Running database migrations...\"\nnpm run migrate\n\n# Verify setup\necho \"? Verifying setup...\"\nnpm run test:setup\n\necho \"✅ Setup complete! Run 'npm run dev' to start\"\n```\n\n## Related Skills\n\n- `@brainstorming` - Plan environment requirements before setup\n- `@systematic-debugging` - Debug environment issues\n- `@doc-coauthoring` - Create setup documentation\n- `@git-pushing` - Set up Git configuration\n\n## Additional Resources\n\n- [Node.js Installation Guide](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002F)\n- [Python Virtual Environments](https:\u002F\u002Fdocs.python.org\u002F3\u002Ftutorial\u002Fvenv.html)\n- [Docker Documentation](https:\u002F\u002Fdocs.docker.com\u002Fget-started\u002F)\n- [Homebrew (macOS)](https:\u002F\u002Fbrew.sh\u002F)\n- [Chocolatey (Windows)](https:\u002F\u002Fchocolatey.org\u002F)\n- [nvm (Node Version Manager)](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm)\n- [pyenv (Python Version Manager)](https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv)\n\n---\n\n**Pro Tip:** Create a `setup.sh` or `setup.ps1` script to automate the entire setup process. Test it on a clean system to ensure it works!\n",{"name":5,"description":7},"main","2b749c82b5d11fac39d9a6e021ce3f5b8a541bd1","cli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fenvironment-setup-guide",3931,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates","https:\u002F\u002Faitmpl.com","https:\u002F\u002Fgithub.com\u002Fdavila7","https:\u002F\u002Fdanielavila.me","Building AI dev tools with LLMs","2026-11-14 06:14:46",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add davila7\u002Fclaude-code-templates --skill environment-setup-guide",{"tool":51,"command":52},"bunx","bunx skills add davila7\u002Fclaude-code-templates --skill environment-setup-guide",{"tool":54,"command":55},"pnpm","pnpm dlx skills add davila7\u002Fclaude-code-templates --skill environment-setup-guide","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fenvironment-setup-guide\u002FSKILL.md",true,[],[60,91,118,151,185,209],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":71,"publishedAt":30},"01M70NHBTQ8BV0A2SCAZXEPHCX","wealthville-pool-scoring","Score DeFi liquidity pools before providing liquidity. Returns a 0-100 pool score and an Enter\u002FHold\u002FExit\u002FReduce\u002FAvoid verdict with calibrated confidence for ~68,800 Solana pools and 575 EVM pools, plus a public miss-inclusive track record. Use when asked whether a pool is worth LPing into, which pools look best right now, or how accurate the scores have actually been.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fweb-data\u002Fwealthville-pool-scoring\u002FSKILL.md",[66],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[72,73,74,75,76,77,78,79,80,81,82,28,83,84,85,86,87,88,89,90],"scoring","pool","wealthville pool scoring","liquidity","which","for","exit","now","use","when","reduce","record","track","verdict","evm","solana","how","public","look",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":98,"publishedAt":30},"01M70MB6VR8ERJ4EM8D5KHBMEV","technical-debt-auditor","Scans a codebase and produces a quantified technical debt report with a prioritized remediation plan. Analyzes dead code, TODO\u002FFIXME\u002FHACK markers, dependency staleness, complexity hotspots, code duplication signals, test coverage gaps, unused exports, and outdated patterns. Use this skill when the user asks to audit their codebase for tech debt, wants a health check of their code quality, says things like \"where should I focus refactoring\", \"find code smells\", \"audit my codebase\", \"what technical debt do we have\", \"prioritize cleanup work\", or asks about code quality metrics. Also trigger when the user mentions \"code rot\", \"legacy cleanup\", \"refactoring priorities\", or wants to understand the overall health of a project before a major effort. Trigger even if the user doesn't say \"technical debt\" explicitly — any request to systematically assess code quality and identify improvement priorities belongs here.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Ftechnical-debt-auditor\u002FSKILL.md",[97],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},[99,100,101,102,103,104,105,106,107,108,109,81,110,111,112,113,114,115,116,117],"technical debt","debt","technical","technical debt auditor","auditor","coverage","complexity","markers","project","cleanup","unused","code","todo","work","plan","focus","signals","audit","dependency",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":133,"publishedAt":30},"01M70KPYH9QNHCNME5GJQGE22K","readonly-sql-guard","Make an agent's database access provably read-only. Use when an agent runs caller-supplied SQL against a production\u002FERP\u002Fanalytics database (a \"query\" MCP tool, text-to-SQL, an admin console), or when reviewing DB-access code for write\u002FDDL\u002Fside-effect\u002Ftransaction-escape risks. Checks what a statement CALLS, not just its shape.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdatabase\u002Freadonly-sql-guard\u002FSKILL.md",[124,127,128],{"categoryNo":125,"categoryName":126,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[134,135,136,137,138,139,140,77,141,142,143,144,145,146,147,80,148,149,81,150],"readonly","guard","sql guard","sql","readonly sql guard","erp","effect","read-only","db","just","tool","calls","only","MCP","access","database","query",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":155,"licenseFileUrl":156,"sourceHtmlUrl":157,"categories":158,"keywords":162,"publishedAt":30},"01M6AFY6F7CC2BBZP1QD6VTNVC","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000009","前端开发",[163,164,165,166,167,168,169,170,171,172,173,174,25,175,176,177,178,179,180,181,182,183,77,184],"artifacts builder","web","web artifacts builder","artifacts","builder","state","routing","state management","component","css","frontend","ui","file","components","shadcn","react","Tailwind","suite","jsx","html","single-file","ui components",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":155,"licenseFileUrl":189,"sourceHtmlUrl":190,"categories":191,"keywords":196,"publishedAt":30},"01M6AFWF33SFV9Z3SF4PEEE4BF","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[192,195],{"categoryNo":193,"categoryName":194,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":160,"categoryName":161,"taxonomyType":69,"taxonomyTypeDesc":70},[197,198,199,200,201,164,202,173,174,203,204,205,206,77,207,28,208],"webapp testing","testing","webapp","browser","playwright","applications","debugging","toolkit","logs","screenshots","local","behavior",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":155,"licenseFileUrl":213,"sourceHtmlUrl":214,"categories":215,"keywords":223,"publishedAt":30},"01M6AF67Q67JJJ5V51JR2P52KA","discernment-nudge","After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FSKILL.md",[216,219,220],{"categoryNo":217,"categoryName":218,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":221,"categoryName":222,"taxonomyType":131,"taxonomyTypeDesc":132},"01JBSEEDCAT000000000000036","内容创作者",[224,225,226,227,228,229,230,231,166,232,175,110,233,234,235,236,26,146,237,81,238,239,240,241,242,88,243],"discernment nudge","nudge","interpretation","help","run","reasoning","data","writing","lookup","content","review","conversation","short","invoke","you","analysis","claims","argument","assemble","recommendations"]