claude-dev-setup
This repository provides a comprehensive setup for developing Claude Code, including MCP servers, development containers, and support for long-running jobs. It allows efficient development using VS Code and Docker. Setting environment variables and executing initialization scripts is straightforward, making it accessible for both beginners and intermediate users.
GitHub Stars
6
User Rating
Not Rated
Favorites
0
Views
7
Forks
2
Issues
0
Claude Code Development Environment Setup
A comprehensive development environment setup for Claude Code with MCP servers, dev containers, and long-running job capabilities.
🚀 Quick Start
Clone this repository:
git clone https://github.com/your-username/claude-dev-setup.git cd claude-dev-setup
Set up environment variables:
cp .env.example .env # Edit .env with your API tokens
Start the dev container:
# Using VS Code Dev Containers extension code . # Or using Docker Compose directly docker-compose up -d
Initialize MCP servers:
./.devcontainer/init-mcp.sh
Start a long-running job:
./scripts/ten-minute-job.sh
📋 Table of Contents
✨ Features
Development Environment
- VS Code Dev Container with pre-configured extensions
- Docker-based isolated development environment
- Zsh with Oh-My-Zsh for enhanced terminal experience
- Git Delta for better diff visualization
MCP (Model Context Protocol) Servers
- Filesystem Server: File operations and project management
- Monday.com Integration: Project management and task tracking
- Figma Integration: Design system access and component management
- Playwright Integration: Browser automation and testing
Long-Running Jobs
- Auto-continuation: Jobs that persist across sessions
- Monitoring: Real-time progress tracking
- Logging: Comprehensive job logging and analysis
- Templates: Pre-built job templates for common tasks
Security & Networking
- Firewall Configuration: Automated network security setup
- Permission Management: Controlled access to system resources
- Token Management: Secure handling of API credentials
🔧 Prerequisites
- Docker Desktop or Docker Engine with Docker Compose
- VS Code with Dev Containers extension (recommended)
- Git for version control
- Node.js 20+ (included in container)
Required API Tokens
Service | Required | Purpose | How to Get |
---|---|---|---|
GitHub | ✅ Yes | Repository operations | GitHub Settings → Developer settings → Personal access tokens |
Monday.com | ⚪ Optional | Project management | Monday.com → Admin → API |
Figma | ⚪ Optional | Design system access | Figma → Settings → Account → Personal access tokens |
📦 Installation
Method 1: VS Code Dev Container (Recommended)
Clone and open in VS Code:
git clone https://github.com/your-username/claude-dev-setup.git cd claude-dev-setup code .
When prompted, click "Reopen in Container"
- VS Code will automatically build and start the dev container
- All dependencies will be installed automatically
Set up environment variables:
cp .env.example .env # Edit .env with your API tokens
Method 2: Docker Compose
Clone the repository:
git clone https://github.com/your-username/claude-dev-setup.git cd claude-dev-setup
Configure environment:
cp .env.example .env # Edit .env with your API tokens
Start the container:
docker-compose up -d
Access the container:
docker-compose exec claude-dev zsh
Method 3: Local Installation
If you prefer to run without containers:
Install Node.js dependencies:
npm install -g \ @anthropic-ai/claude-code \ @modelcontextprotocol/server-filesystem \ @mondaydotcomorg/monday-api-mcp \ @playwright/mcp \ figma-developer-mcp
Set up environment:
cp .env.example .env source .env
Run initialization scripts:
chmod +x .devcontainer/*.sh scripts/*.sh ./.devcontainer/init-mcp.sh
⚙️ Configuration
Environment Variables
Edit .env
file with your configuration:
# Required: GitHub Personal Access Token
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here
# Optional: Monday.com API token
MONDAY_API_TOKEN=your_monday_token_here
# Optional: Figma API token
FIGMA_TOKEN=your_figma_token_here
# Optional: Timezone (defaults to UTC)
TZ=America/New_York
# Optional: Node.js memory limit
NODE_OPTIONS=--max-old-space-size=8192
MCP Server Configuration
MCP servers are automatically configured during container startup. To manually configure:
# Add MCP servers to Claude
claude mcp add filesystem "npx @modelcontextprotocol/server-filesystem /workspace"
claude mcp add monday "npx @mondaydotcomorg/monday-api-mcp --token $MONDAY_API_TOKEN"
claude mcp add playwright "npx @playwright/mcp"
claude mcp add figma "npx figma-developer-mcp --figma-api-key=$FIGMA_TOKEN --stdio"
# Verify configuration
claude mcp list
🎯 Usage
Quick Commands
# Start MCP servers
./.devcontainer/start-mcps.sh
# Run a 10-minute demo job
./scripts/ten-minute-job.sh
# Start custom long-running job
./scripts/run-long-claude-job.sh "Your task description"
# Monitor job progress
./scripts/monitor-job.sh /workspace/claude-job-*.log
# Check system status
docker-compose ps
ps aux | grep claude
Development Workflow
Start development environment:
# Open in VS Code code . # Or start container manually docker-compose up -d
Initialize your project:
# Create new project mkdir my-project && cd my-project npm init -y # Start Claude Code claude-code --dangerously-skip-permissions
Run long-running analysis:
./scripts/ten-minute-job.sh # Monitor in another terminal tail -f /workspace/claude-job-*.log
Job Templates
Code Analysis
./scripts/run-long-claude-job.sh "
Perform comprehensive code analysis:
1. Review all components for performance issues
2. Identify security vulnerabilities
3. Suggest architectural improvements
4. Generate detailed report with recommendations
"
Documentation Generation
./scripts/run-long-claude-job.sh "
Create comprehensive documentation:
1. Add JSDoc comments to all functions
2. Create API documentation
3. Write usage examples for components
4. Generate architecture diagrams
"
Testing Setup
./scripts/run-long-claude-job.sh "
Set up comprehensive testing infrastructure:
1. Configure Jest and testing libraries
2. Create test files for existing components
3. Set up E2E testing with Playwright
4. Add test coverage reporting
"
📚 Documentation
- MCP Setup Guide - Detailed MCP server configuration
- Long-Running Jobs - Job management and monitoring
- Dev Container Guide - Container configuration details
- Troubleshooting Guide - Common issues and solutions
🔍 Monitoring and Debugging
Check System Status
# Container status
docker-compose ps
# MCP server status
ps aux | grep mcp
# Claude processes
ps aux | grep claude
# Resource usage
docker stats
Log Files
# MCP server logs
tail -f /tmp/mcp-server.log
tail -f /tmp/monday-mcp.log
tail -f /tmp/figma-mcp.log
tail -f /tmp/playwright-mcp.log
# Job logs
tail -f /workspace/claude-job-*.log
# Container logs
docker-compose logs -f claude-dev
Health Checks
# Test MCP connections
claude mcp test filesystem
claude mcp test monday
claude mcp test playwright
claude mcp test figma
# Network connectivity
ping github.com
curl -I https://api.monday.com
🐛 Troubleshooting
Common Issues
Container Won't Start
# Check Docker daemon
docker version
# Check disk space
df -h
# Rebuild container
docker-compose down
docker-compose build --no-cache
docker-compose up -d
MCP Servers Not Working
# Restart MCP servers
pkill -f mcp
./.devcontainer/init-mcp.sh
# Check environment variables
echo $MONDAY_API_TOKEN
echo $FIGMA_TOKEN
# Verify installations
npm list -g | grep mcp
Long-Running Jobs Failing
# Check Claude authentication
claude-code --version
# Verify permissions
ls -la /workspace
# Check available memory
free -m
# Review error logs
grep -i error /workspace/claude-job-*.log
Getting Help
- Check logs for specific error messages
- Review documentation in the
docs/
directory - Search issues in the GitHub repository
- Create an issue with:
- Error messages
- Steps to reproduce
- Environment details (
docker version
,node --version
)
🔒 Security Considerations
- API Tokens: Store in
.env
file, never commit to repository - Permissions: Use
--dangerously-skip-permissions
only in trusted environments - Network: Firewall rules are automatically configured
- Container: Runs with non-root user by default
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
Development Guidelines
- Follow existing code style and conventions
- Add documentation for new features
- Test changes in both container and local environments
- Update relevant documentation files
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Anthropic for Claude Code and MCP protocol
- Microsoft for VS Code Dev Containers
- Docker for containerization platform
- Community contributors for improvements and feedback
📞 Support
- Documentation: Check the
docs/
directory - Issues: GitHub Issues
- Discussions: GitHub Discussions
Happy Coding with Claude! 🎉
0
Followers
8
Repositories
0
Gists
0
Total Contributions
Handle context at scale - my custom Claude Code workflow including hooks, mcp and sub agents
awesome-mcp-lists is a curated list of containerized MCP servers, clients, and toolkits. This repository provides resources across various categories, including DevOps, infrastructure, databases, and web content. It particularly promotes the use of MCP with Docker, making it a highly valuable resource for developers and engineers looking to leverage containerization in their workflows.
Enable any LLM (e.g. Claude) to interactively debug any language for you via MCP and a VS Code Extension