This repository provides a VSCode devcontainer configuration for developing Roo Code with minimal setup across Linux, macOS, and Windows.
- Pre-configured TypeScript/Node.js development environment
- All recommended VSCode extensions pre-installed
- Automatic cloning and setup of Roo-Code and Roo-Docs repositories
- Homebrew package manager (cross-platform)
- Python with uv package manager
- GitHub CLI and Git configuration
- Prettier with project-specific configuration
- Debug configurations for extension development
- Automatic
pnpm devstartup - Full Windows support via WSL2 with automated setup scripts
- Cross-platform shell compatibility (bash/zsh)
- Automatic line ending handling for Windows developers
- Docker Desktop installed and running
- VSCode with the Dev Containers extension
- Git configured with GitHub access (for private repos)
Important: Windows users need WSL2 for Docker Desktop. See our detailed Windows Setup Guide for:
- WSL2 installation and configuration
- Docker Desktop setup for Windows
- Line ending configuration
- Performance optimization tips
- Docker Desktop for Mac (Apple Silicon or Intel)
- Xcode Command Line Tools:
xcode-select --install - See our detailed macOS Setup Guide for specific instructions
- Docker Engine and Docker Compose
- Add your user to the docker group:
sudo usermod -aG docker $USER
We provide PowerShell scripts to simplify setup:
# Check your environment first
.\scripts\check-windows-setup.ps1
# Quick start (recommended: use WSL2 for better performance)
.\scripts\start-devcontainer-windows.ps1 -UseWSL-
Clone this repository:
git clone https://github.com/cannuri/Roo-Code-Devcontainer.git cd Roo-Code-Devcontainer -
Windows/WSL2 Users Only: Run the host setup script first:
./scripts/setup-wsl2-host.sh
-
Open in VSCode:
code . -
When prompted, click "Reopen in Container" or run the command:
Dev Containers: Reopen in Container
-
Wait for the container to build and post-create scripts to complete (first run may take 5-10 minutes)
After setup, your workspace will contain:
/workspace/
├── Roo-Code/ # Main Roo Code repository
├── Roo-Docs/ # Documentation repository
└── .vscode/ # VSCode configurations
├── launch.json # Debug configurations
└── tasks.json # Build tasks
- The development server starts automatically (
pnpm dev) - Press
F5to launch a new VSCode window with the extension loaded - Use the Extension Host window to test your changes
cd /workspace/Roo-Code
pnpm buildcd /workspace/Roo-Code
pnpm testTwo debug configurations are available:
- Run Extension: Launches the extension in a new VSCode window
- Extension Tests: Runs the test suite with debugging
- TypeScript language support
- ESLint
- Prettier
- Error Lens
- Test Runner
- GitHub Actions
- GitHub Pull Requests
- GitLens
- Docker
- Node.js 20.x
- pnpm
- Python 3.11 with uv
- Homebrew
- Git
- GitHub CLI (
gh) - TypeScript
- VSCode Extension CLI (
vsce)
Edit .devcontainer/devcontainer.json and add extension IDs to the customizations.vscode.extensions array.
- For apt packages: Edit
.devcontainer/Dockerfile - For Homebrew packages: Edit
.devcontainer/post-create.sh - For npm packages: Add to
post-create.shor the Dockerfile
Edit the forwardPorts array in .devcontainer/devcontainer.json.
- Ensure Docker Desktop is running
- Check Docker resource limits (recommend 4GB+ RAM)
- Clear Docker cache:
docker system prune -a
- Reload the VSCode window:
Developer: Reload Window - Check the Extensions view for any errors
- Manually install from the Extensions sidebar if needed
Check the dev server logs:
cat /tmp/pnpm-dev.logRestart the dev server:
cd /workspace/Roo-Code
pkill -f "pnpm dev"
pnpm devThe container includes the VSCode CLI for headless operations:
code --helpThis can be useful for automated testing and CI/CD pipelines.
To improve this devcontainer:
- Fork this repository
- Make your changes
- Test thoroughly on Linux, macOS, and Windows
- Submit a pull request
This devcontainer configuration follows the same license as Roo Code.