Dev Container Templates
RAPID provides pre-configured dev container templates optimized for AI-assisted development. Each template includes the tools, extensions, and configuration needed for a productive RAPID workflow.
Available Templates
Section titled “Available Templates”| Template | Languages/Tools | Use Case |
|---|---|---|
| typescript | TypeScript, JavaScript, Node.js | Web apps, APIs, CLI tools |
| python | Python 3.11+ | AI/ML, APIs, scripting |
| go | Go 1.22+ | Cloud native, CLI, systems |
| rust | Rust | Systems programming, CLI, WebAssembly |
| infrastructure | Terraform, Kubernetes, Helm | IaC, DevOps, platform engineering |
| universal | Multiple | Polyglot projects, experimentation |
Quick Start
Section titled “Quick Start”# Initialize with a specific templaterapid init --template typescript
# Or copy template manuallycp -r templates/typescript/.devcontainer .devcontainerTemplate Features
Section titled “Template Features”All RAPID templates include:
- AI Tool Support - Pre-installed Node.js/Python for AI CLI tools
- direnv Integration - Automatic secret loading
- Git Configuration - Proper line endings, credentials
- Shell Enhancements - Starship prompt, useful aliases
- RAPID Lifecycle Hooks - Integration with
rapid start
typescript
Section titled “typescript”Full-stack TypeScript/JavaScript development with Node.js.
Included
Section titled “Included”- Node.js 20 LTS
- pnpm, yarn, npm
- TypeScript, ts-node
- ESLint, Prettier
- Common VS Code extensions
rapid init --template typescriptdevcontainer.json
Section titled “devcontainer.json”{ "name": "RAPID TypeScript", "image": "mcr.microsoft.com/devcontainers/typescript-node:20", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers-contrib/features/direnv:1": {}, "ghcr.io/devcontainers-contrib/features/starship:1": {} }, "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "bradlc.vscode-tailwindcss" ] } }, "postCreateCommand": "npm install -g @anthropic-ai/claude-code opencode", "postStartCommand": "direnv allow 2>/dev/null || true"}python
Section titled “python”Python development for AI/ML, APIs, and scripting.
Included
Section titled “Included”- Python 3.11
- pip, pipx, poetry, uv
- pylint, black, ruff
- Jupyter support
- Common VS Code extensions
rapid init --template pythondevcontainer.json
Section titled “devcontainer.json”{ "name": "RAPID Python", "image": "mcr.microsoft.com/devcontainers/python:3.11", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers-contrib/features/direnv:1": {}, "ghcr.io/devcontainers-contrib/features/poetry:2": {}, "ghcr.io/devcontainers-contrib/features/starship:1": {} }, "customizations": { "vscode": { "extensions": [ "ms-python.python", "ms-python.vscode-pylance", "charliermarsh.ruff", "ms-toolsai.jupyter" ] } }, "postCreateCommand": "npm install -g @anthropic-ai/claude-code opencode && pip install aider-chat", "postStartCommand": "direnv allow 2>/dev/null || true"}Go development for cloud-native applications, CLIs, and systems.
Included
Section titled “Included”- Go 1.21
- gopls, golangci-lint
- Air (hot reload)
- Common VS Code extensions
rapid init --template godevcontainer.json
Section titled “devcontainer.json”{ "name": "RAPID Go", "image": "mcr.microsoft.com/devcontainers/go:1.21", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers-contrib/features/direnv:1": {}, "ghcr.io/devcontainers-contrib/features/starship:1": {} }, "customizations": { "vscode": { "extensions": ["golang.go", "zxh404.vscode-proto3"] } }, "postCreateCommand": "npm install -g @anthropic-ai/claude-code opencode && go install github.com/cosmtrek/air@latest", "postStartCommand": "direnv allow 2>/dev/null || true"}infrastructure
Section titled “infrastructure”Infrastructure-as-Code development with Terraform, Kubernetes, and cloud providers.
Included
Section titled “Included”- Terraform, tflint, terragrunt
- kubectl, Helm
- AWS CLI, Azure CLI
- Docker-in-Docker
- checkov (security scanning)
- Common VS Code extensions
rapid init --template infrastructuredevcontainer.json
Section titled “devcontainer.json”{ "name": "RAPID Infrastructure", "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/terraform:1": { "version": "latest", "tflint": "latest", "terragrunt": "latest" }, "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": { "version": "latest", "helm": "latest" }, "ghcr.io/devcontainers/features/aws-cli:1": {}, "ghcr.io/devcontainers/features/azure-cli:1": {}, "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers-contrib/features/direnv:1": {}, "ghcr.io/devcontainers-contrib/features/starship:1": {} }, "customizations": { "vscode": { "extensions": [ "hashicorp.terraform", "ms-kubernetes-tools.vscode-kubernetes-tools", "redhat.vscode-yaml", "tim-koehler.helm-intellisense" ] } }, "mounts": [ "source=${localEnv:HOME}/.kube,target=/home/vscode/.kube,type=bind", "source=${localEnv:HOME}/.aws,target=/home/vscode/.aws,type=bind" ], "postCreateCommand": "npm install -g @anthropic-ai/claude-code opencode && pip install checkov pre-commit", "postStartCommand": "direnv allow 2>/dev/null || true"}Cloud Credentials
Section titled “Cloud Credentials”The infrastructure template mounts your local cloud credentials:
~/.kube/config- Kubernetes configuration~/.aws/credentials- AWS credentials
For secure credential management, use .envrc with 1Password:
export AWS_ACCESS_KEY_ID=$(op read "op://Development/AWS/access-key-id")export AWS_SECRET_ACCESS_KEY=$(op read "op://Development/AWS/secret-access-key")Rust development for systems programming, CLI tools, and WebAssembly.
Included
Section titled “Included”- Rust (stable)
- cargo, rustfmt, clippy
- rust-analyzer
- WASM toolchain (optional)
rapid init --template rustdevcontainer.json
Section titled “devcontainer.json”{ "name": "RAPID Rust", "image": "mcr.microsoft.com/devcontainers/rust:latest", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers-contrib/features/direnv:1": {}, "ghcr.io/devcontainers-contrib/features/starship:1": {} }, "customizations": { "vscode": { "extensions": ["rust-lang.rust-analyzer", "tamasfe.even-better-toml", "serayuzgur.crates"] } }, "postCreateCommand": "npm install -g @anthropic-ai/claude-code opencode", "postStartCommand": "direnv allow 2>/dev/null || true"}universal
Section titled “universal”Multi-language template for polyglot projects or experimentation.
Included
Section titled “Included”- Node.js 20
- Python 3.11
- Go 1.21
- Rust
- Common tools for all languages
rapid init --template universaldevcontainer.json
Section titled “devcontainer.json”{ "name": "RAPID Universal", "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "features": { "ghcr.io/devcontainers/features/node:1": { "version": "20" }, "ghcr.io/devcontainers/features/python:1": { "version": "3.11" }, "ghcr.io/devcontainers/features/go:1": { "version": "1.21" }, "ghcr.io/devcontainers/features/rust:1": {}, "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers-contrib/features/direnv:1": {}, "ghcr.io/devcontainers-contrib/features/starship:1": {} }, "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", "ms-python.python", "golang.go", "rust-lang.rust-analyzer" ] } }, "postCreateCommand": "npm install -g @anthropic-ai/claude-code opencode && pip install aider-chat", "postStartCommand": "direnv allow 2>/dev/null || true"}Common Features
Section titled “Common Features”All templates include these dev container features:
| Feature | Purpose |
|---|---|
node:1 | Required for AI CLI tools (Claude, OpenCode) |
git:1 | Git with credential helpers |
direnv:1 | Automatic .envrc loading |
starship:1 | Modern shell prompt |
Customizing Templates
Section titled “Customizing Templates”Adding Features
Section titled “Adding Features”Add more features to your devcontainer.json:
{ "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {}, "ghcr.io/devcontainers/features/aws-cli:1": {} }}Adding Extensions
Section titled “Adding Extensions”Add VS Code extensions:
{ "customizations": { "vscode": { "extensions": ["github.copilot", "eamodio.gitlens"] } }}RAPID Lifecycle Integration
Section titled “RAPID Lifecycle Integration”Templates use lifecycle hooks for RAPID integration:
{ "initializeCommand": "rapid hooks initialize 2>/dev/null || true", "postCreateCommand": "rapid hooks postCreate 2>/dev/null || npm install -g @anthropic-ai/claude-code opencode", "postStartCommand": "rapid hooks postStart 2>/dev/null || direnv allow"}Creating Custom Templates
Section titled “Creating Custom Templates”- Start from an existing template
- Modify
devcontainer.jsonas needed - Add a
Dockerfileif you need custom base image - Test with
rapid start --rebuild
Template Structure
Section titled “Template Structure”templates/my-template/├── .devcontainer/│ ├── devcontainer.json│ └── Dockerfile (optional)├── rapid.json (template defaults)├── AGENTS.md (template)└── README.mdTroubleshooting
Section titled “Troubleshooting”Container build fails
Section titled “Container build fails”# Rebuild without cacherapid start --rebuild --no-cacheFeatures not installing
Section titled “Features not installing”Check feature availability at containers.dev/features.
Extensions not loading
Section titled “Extensions not loading”Ensure extension IDs are correct (check VS Code marketplace).
AI tools not found
Section titled “AI tools not found”# Reinstall AI toolsrapid start --reinstall-tools