New to Claude Skills? Learn how to install them โ†’

Edavila7 on GitHub

Environment Setup Guide

Free

Streamline your development environment setup process.

Get this skill

Free ยท Opens the source repo

What Environment Setup Guide does

The Environment Setup Guide skill assists developers in establishing their development environments efficiently and accurately. It provides a structured approach to setting up tools, dependencies, and configurations required for various programming languages and frameworks. This skill is particularly useful for developers who are starting new projects, onboarding new team members, or switching to different machines or operating systems. By following the step-by-step instructions, users can ensure that their environments are correctly configured and ready for development.

The process begins with identifying the specific requirements for the project, such as the programming language, package managers, database systems, and development tools needed. After determining these requirements, the skill helps users check their current setup to avoid redundant installations. It then provides platform-specific installation commands tailored for macOS, Linux, and Windows, making it accessible for developers regardless of their operating system.

Once the necessary tools are installed, the skill guides users through configuring their environment. This includes setting up environment variables, configuration files, and IDE settings to ensure that everything is optimized for development. Finally, the skill offers verification steps to confirm that the installation was successful and that the environment is functioning correctly. This comprehensive approach minimizes setup errors and saves developers valuable time, allowing them to focus on coding rather than configuration issues.

When to use it

Use this skill when starting a new project, onboarding team members, or troubleshooting environment issues.

When not to use it

This skill may not be suitable for advanced users who prefer manual setup or those working in highly customized environments.

What you can build with it

Starting a New Project

When beginning a new project, this skill guides you through the setup of all necessary tools and dependencies.

Onboarding Team Members

Use this skill to provide new team members with clear setup instructions, ensuring consistency across development environments.

Switching Machines or OS

When transitioning to a new machine or operating system, this skill helps you replicate your development environment quickly.

How to install Environment Setup Guide

View source

1. Install with the skills CLI

npx skills add davila7/claude-code-templates/environment-setup-guide --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by davila7

Environment Setup Guide

Overview

Help 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.

When to Use This Skill

  • Use when starting a new project and need to set up the development environment
  • Use when onboarding new team members to a project
  • Use when switching to a new machine or operating system
  • Use when troubleshooting environment-related issues
  • Use when documenting setup instructions for a project
  • Use when creating development environment documentation

How It Works

Step 1: Identify Requirements

I'll help you determine what needs to be installed:

  • Programming language and version (Node.js, Python, Go, etc.)
  • Package managers (npm, pip, cargo, etc.)
  • Database systems (PostgreSQL, MongoDB, Redis, etc.)
  • Development tools (Git, Docker, IDE extensions, etc.)
  • Environment variables and configuration files

Step 2: Check Current Setup

Before installing anything, I'll help you check what's already installed:

# Check versions of installed tools
node --version
python --version
git --version
docker --version

Step 3: Provide Installation Instructions

I'll give platform-specific installation commands:

  • macOS: Using Homebrew
  • Linux: Using apt, yum, or package manager
  • Windows: Using Chocolatey, Scoop, or direct installers

Step 4: Configure the Environment

Help set up:

  • Environment variables (.env files)
  • Configuration files (.gitconfig, .npmrc, etc.)
  • IDE settings (VS Code, IntelliJ, etc.)
  • Shell configuration (.bashrc, .zshrc, etc.)

Step 5: Verify Installation

Provide verification steps to ensure everything works:

  • Run version checks
  • Test basic commands
  • Verify database connections
  • Check environment variables are loaded

Examples

Example 1: Node.js Project Setup

## Setting Up Node.js Development Environment

### Prerequisites
- macOS, Linux, or Windows
- Terminal/Command Prompt access
- Internet connection

### Step 1: Install Node.js

**macOS (using Homebrew):**
\`\`\`bash
# Install Homebrew if not installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Node.js
brew install node
\`\`\`

**Linux (Ubuntu/Debian):**
\`\`\`bash
# Update package list
sudo apt update

# Install Node.js and npm
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
\`\`\`

**Windows (using Chocolatey):**
\`\`\`powershell
# Install Chocolatey if not installed
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Install Node.js
choco install nodejs
\`\`\`

### Step 2: Verify Installation

\`\`\`bash
node --version  # Should show v20.x.x or higher
npm --version   # Should show 10.x.x or higher
\`\`\`

### Step 3: Install Project Dependencies

\`\`\`bash
# Clone the repository
git clone https://github.com/your-repo/project.git
cd project

# Install dependencies
npm install
\`\`\`

### Step 4: Set Up Environment Variables

Create a \`.env\` file:
\`\`\`bash
# Copy example environment file
cp .env.example .env

# Edit with your values
nano .env
\`\`\`

Example \`.env\` content:
\`\`\`
NODE_ENV=development
PORT=3000
DATABASE_URL=postgresql://localhost:5432/mydb
API_KEY=your-api-key-here
\`\`\`

### Step 5: Run the Project

\`\`\`bash
# Start development server
npm run dev

# Should see: Server running on http://localhost:3000
\`\`\`

### Troubleshooting

**Problem:** "node: command not found"
**Solution:** Restart your terminal or run \`source ~/.bashrc\` (Linux) or \`source ~/.zshrc\` (macOS)

**Problem:** "Permission denied" errors
**Solution:** Don't use sudo with npm. Fix permissions:
\`\`\`bash
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
\`\`\`

Example 2: Python Project Setup

## Setting Up Python Development Environment

### Step 1: Install Python

**macOS:**
\`\`\`bash
brew install python@3.11
\`\`\`

**Linux:**
\`\`\`bash
sudo apt update
sudo apt install python3.11 python3.11-venv python3-pip
\`\`\`

**Windows:**
\`\`\`powershell
choco install python --version=3.11
\`\`\`

### Step 2: Verify Installation

\`\`\`bash
python3 --version  # Should show Python 3.11.x
pip3 --version     # Should show pip 23.x.x
\`\`\`

### Step 3: Create Virtual Environment

\`\`\`bash
# Navigate to project directory
cd my-project

# Create virtual environment
python3 -m venv venv

# Activate virtual environment
# macOS/Linux:
source venv/bin/activate

# Windows:
venv\Scripts\activate
\`\`\`

### Step 4: Install Dependencies

\`\`\`bash
# Install from requirements.txt
pip install -r requirements.txt

# Or install packages individually
pip install flask sqlalchemy python-dotenv
\`\`\`

### Step 5: Set Up Environment Variables

Create \`.env\` file:
\`\`\`
FLASK_APP=app.py
FLASK_ENV=development
DATABASE_URL=sqlite:///app.db
SECRET_KEY=your-secret-key-here
\`\`\`

### Step 6: Run the Application

\`\`\`bash
# Run Flask app
flask run

# Should see: Running on http://127.0.0.1:5000
\`\`\`

Example 3: Docker Development Environment

## Setting Up Docker Development Environment

### Step 1: Install Docker

**macOS:**
\`\`\`bash
brew install --cask docker
# Or download Docker Desktop from docker.com
\`\`\`

**Linux:**
\`\`\`bash
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
\`\`\`

**Windows:**
Download Docker Desktop from docker.com

### Step 2: Verify Installation

\`\`\`bash
docker --version        # Should show Docker version 24.x.x
docker-compose --version # Should show Docker Compose version 2.x.x
\`\`\`

### Step 3: Create docker-compose.yml

\`\`\`yaml
version: '3.8'

services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
      - DATABASE_URL=postgresql://postgres:password@db:5432/mydb
    volumes:
      - .:/app
      - /app/node_modules
    depends_on:
      - db

  db:
    image: postgres:15
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=mydb
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:
\`\`\`

### Step 4: Start Services

\`\`\`bash
# Build and start containers
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down
\`\`\`

### Step 5: Verify Services

\`\`\`bash
# Check running containers
docker ps

# Test database connection
docker-compose exec db psql -U postgres -d mydb
\`\`\`

Best Practices

โœ… Do This

  • Document Everything - Write clear setup instructions
  • Use Version Managers - nvm for Node, pyenv for Python
  • Create .env.example - Show required environment variables
  • Test on Clean System - Verify instructions work from scratch
  • Include Troubleshooting - Document common issues and solutions
  • Use Docker - For consistent environments across machines
  • Pin Versions - Specify exact versions in package files
  • Automate Setup - Create setup scripts when possible
  • Check Prerequisites - List required tools before starting
  • Provide Verification Steps - Help users confirm setup works

โŒ Don't Do This

  • Don't Assume Tools Installed - Always check and provide install instructions
  • Don't Skip Environment Variables - Document all required variables
  • Don't Use Sudo with npm - Fix permissions instead
  • Don't Forget Platform Differences - Provide OS-specific instructions
  • Don't Leave Out Verification - Always include test steps
  • Don't Use Global Installs - Prefer local/virtual environments
  • Don't Ignore Errors - Document how to handle common errors
  • Don't Skip Database Setup - Include database initialization steps

Common Pitfalls

Problem: "Command not found" after installation

Symptoms: Installed tool but terminal doesn't recognize it Solution:

  • Restart terminal or source shell config
  • Check PATH environment variable
  • Verify installation location
# Check PATH
echo $PATH

# Add to PATH (example)
export PATH="/usr/local/bin:$PATH"

Problem: Permission errors with npm/pip

Symptoms: "EACCES" or "Permission denied" errors Solution:

  • Don't use sudo
  • Fix npm permissions or use nvm
  • Use virtual environments for Python
# Fix npm permissions
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

Problem: Port already in use

Symptoms: "Port 3000 is already in use" Solution:

  • Find and kill process using the port
  • Use a different port
# Find process on port 3000
lsof -i :3000

# Kill process
kill -9 <PID>

# Or use different port
PORT=3001 npm start

Problem: Database connection fails

Symptoms: "Connection refused" or "Authentication failed" Solution:

  • Verify database is running
  • Check connection string
  • Verify credentials
# Check if PostgreSQL is running
sudo systemctl status postgresql

# Test connection
psql -h localhost -U postgres -d mydb

Setup Script Template

Create a setup.sh script to automate setup:

#!/bin/bash

echo "๐Ÿš€ Setting up development environment..."

# Check prerequisites
command -v node >/dev/null 2>&1 || { echo "โŒ Node.js not installed"; exit 1; }
command -v git >/dev/null 2>&1 || { echo "โŒ Git not installed"; exit 1; }

echo "โœ… Prerequisites check passed"

# Install dependencies
echo "๐Ÿ“ฆ Installing dependencies..."
npm install

# Copy environment file
if [ ! -f .env ]; then
    echo "๐Ÿ“ Creating .env file..."
    cp .env.example .env
    echo "โš ๏ธ  Please edit .env with your configuration"
fi

# Run database migrations
echo "๐Ÿ—„๏ธ  Running database migrations..."
npm run migrate

# Verify setup
echo "๐Ÿ” Verifying setup..."
npm run test:setup

echo "โœ… Setup complete! Run 'npm run dev' to start"

Related Skills

  • @brainstorming - Plan environment requirements before setup
  • @systematic-debugging - Debug environment issues
  • @doc-coauthoring - Create setup documentation
  • @git-pushing - Set up Git configuration

Additional Resources


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!

Frequently asked questions about Environment Setup Guide

Similar skills