Complete Setup Walkthrough
This walkthrough takes you from zero to a fully configured Claude Code and GSD development environment. By the end, you'll have Claude Code installed, the GSD plugin running, recommended plugins configured, and your first project underway.
Prerequisites
Before starting this walkthrough, ensure you have the following ready:
- Node.js (v18 or higher) and npm/npx installed
- Git installed and configured
- A terminal or shell (macOS Terminal, Linux shell, or Windows WSL)
- An Anthropic API key OR AWS Bedrock access configured
- A code editor (VS Code recommended but not required)
You can verify your prerequisites with these commands:
node --version
npm --version
git --version
Each command should return a version number. If any command fails, install the missing tool before continuing.
Step 1: Install Claude Code
Installing Claude Code is straightforward. Open your terminal and run:
npm install -g @anthropic-ai/claude-code
This installs Claude Code globally, making the claude command available from anywhere in your terminal.
Once installation completes, verify it worked:
claude --version
You should see a version number displayed. If you encounter a permissions error during installation, you may need to configure npm's global install directory or use sudo.
Step 2: Install the GSD Plugin
The GSD (Get Shit Done) plugin adds structured planning and autonomous execution to Claude Code. It's essential for managing larger projects with multiple phases.
Clone the GSD repository to Claude's plugin directory:
git clone https://github.com/get-shit-done/gsd.git ~/.claude/get-shit-done
To verify the installation, start Claude Code and try running the help command:
claude
Once Claude Code starts, type:
/gsd:help
You should see a list of available GSD commands. If the command isn't recognized, check that the directory ~/.claude/get-shit-done exists and contains the plugin files, then restart Claude Code.
Troubleshooting: GSD commands not found
If GSD commands aren't recognized after installation:
- Verify the plugin directory exists:
ls ~/.claude/get-shit-done - Check that the directory contains plugin files (not just an empty folder)
- Restart Claude Code completely and try again
- Ensure you cloned to the correct location (
~/.claude/get-shit-done, not~/.claude/gsd)
Step 3: Configure Initial Settings
Before running your first project, you'll want to configure a few key settings that affect how Claude Code and GSD operate.
Permissions Strategy
Claude Code has two permission approaches:
Full Trust Mode: Run Claude Code with the --dangerously-skip-permissions flag to allow GSD automation to run without interruption. This gives Claude full system access and is ideal for dedicated development environments.
claude --dangerously-skip-permissions
Granular Permissions: Configure specific tool permissions in Claude Code's settings file. This provides finer control but may require more interaction during GSD execution. You can configure permissions in ~/.claude/settings.json.
Model Profile Selection
GSD allows you to configure which Claude models are used for different agents (planner, executor, verifier). The default profiles work well for most users, balancing quality and cost.
You can review and modify model profiles using:
/gsd:settings
Step 4: Your First Project
There are two paths for starting a GSD project: working with an existing codebase or starting a brand new project. Choose the path that matches your situation.
Path A: Existing Codebase
If you have an existing project that you want to extend or refactor with GSD:
First, navigate to your project directory:
cd /path/to/your/project
Map the existing codebase so GSD can understand your project structure:
claude
/gsd:map-codebase
This creates files in .planning/codebase/ that describe your project structure, tech stack, and conventions. Review these files and correct any inaccuracies before proceeding.
Once the codebase is mapped, initialize GSD for this project:
/gsd:new-project
GSD will ask you about the goals for this phase of work, what you want to build or improve, and any constraints. Answer these questions to help Claude understand your vision.
Path B: New Project
If you're starting a project from scratch:
Create a new directory for your project and navigate into it:
mkdir my-new-project
cd my-new-project
git init
Start Claude Code and initialize a new GSD project:
claude
/gsd:new-project
GSD will conduct an interactive session to understand what you're building. Be specific and opinionated during this conversation:
- State your tech stack preferences clearly
- Describe anti-goals (what you don't want)
- Explain who the target user is
- Share any constraints (time, deployment platform, etc.)
The more context you provide upfront, the better GSD can plan and execute your project.
Step 5: First Phase Execution
Once your project is initialized, you're ready to execute your first phase. GSD follows a four-command sequence for each phase:
# 1. Discuss your vision for this phase
/gsd:discuss-phase 1
# 2. Review the generated plans
/gsd:plan-phase 1
# 3. Execute the phase
/gsd:execute-phase 1
# 4. Verify everything works
/gsd:verify-work 1
Discuss Phase: Describe what you want to accomplish in this phase. Answer Claude's questions about features, priorities, and technical approaches. This conversation shapes the plan.
Plan Phase: GSD breaks down the phase into concrete plans with specific tasks, files, and verification criteria. Review these plans to ensure they match your expectations before execution.
Execute Phase: GSD executes each task autonomously, committing work atomically and pausing at checkpoints for your verification. You'll see real-time progress as Claude builds your project.
Verify Work: After execution, GSD runs comprehensive verification to ensure everything works as expected. This catches integration issues and confirms success criteria are met.
After completing Phase 1, repeat this sequence for remaining phases. When all phases are complete, run /gsd:complete-milestone to finalize the milestone.
Step 6: Install Recommended Plugins
The "Sweet Spot" plugin stack enhances GSD with additional capabilities while maintaining a lean context budget. These five plugins work well together:
- GSD: Core project automation (already installed)
- Context7: Intelligent context management to keep Claude focused on relevant files
- Playwright: Automated browser testing and end-to-end test generation
- frontend-design: Design system compliance and component verification
- security hook: Pre-commit security scanning for common vulnerabilities
Install the recommended plugins:
# Context7
git clone https://github.com/context7/plugin.git ~/.claude/context7
# Playwright
git clone https://github.com/playwright-plugin/plugin.git ~/.claude/playwright
# Frontend Design
git clone https://github.com/frontend-design/plugin.git ~/.claude/frontend-design
# Security Hook
git clone https://github.com/security-hook/plugin.git ~/.claude/security-hook
After installing plugins, restart Claude Code to load them. You can verify installed plugins by running claude --plugins.
Troubleshooting
Common issues you might encounter during setup and how to resolve them:
GSD commands not recognized
If GSD commands aren't working after installation:
- Check the plugin directory exists:
ls ~/.claude/get-shit-done - Verify the directory contains files (not empty)
- Restart Claude Code completely
- Ensure the path is exactly
~/.claude/get-shit-done
If the directory is empty, delete it and re-clone the repository.
Colon syntax not working
Recent Claude Code updates may have compatibility issues with colon syntax in plugin commands. If /gsd:help doesn't work:
- Try the space syntax instead:
/gsd help - Check your Claude Code version:
claude --version - Reinstall Claude Code if on a very old version
- Check the GSD repository for known compatibility issues
Permission errors during execution
If you encounter permission errors while GSD is executing tasks:
- Review the permissions strategy in Step 3
- Consider using
--dangerously-skip-permissionsfor development environments - Configure granular permissions in
~/.claude/settings.json - Ensure the project directory has write permissions
Permission interruptions can break the autonomous execution flow, so choose your strategy based on your security requirements.
CLAUDE.md conflicts
If your project has an existing CLAUDE.md file, it may override GSD's execution rules:
- Review the existing CLAUDE.md to understand its directives
- Merge GSD-specific rules into the existing file if appropriate
- Or temporarily rename CLAUDE.md during GSD execution
- After the phase, decide which directives to keep permanently
GSD creates detailed prompts in .planning/phases/, so CLAUDE.md conflicts are usually resolvable by letting GSD's phase-specific prompts take precedence.
Context getting full during execution
If Claude's context window fills up during long execution sessions:
- Use
/clearaggressively between commands - All state persists in
.planning/files—clearing context is safe - Break large phases into smaller ones during planning
- Review the codebase map to ensure GSD isn't loading unnecessary files
GSD is designed for context-efficient execution. If you're hitting limits frequently, the phase scope may be too large.