Language-Specific Quickstarts
Ready-to-use DevContainer configurations for every major programming language. Copy these production-ready devcontainer.json templates into your projects and start developing in the cloud instantly
How to Use These Quickstarts
Create the .devcontainer directory
In your project root, create a .devcontainer folder.
Copy the configuration
Choose your language below and copy the devcontainer.json file into .devcontainer/devcontainer.json.
Open in your CDE
Use VS Code Remote Containers, GitHub Codespaces, Ona (formerly Gitpod), Coder, or any DevContainer-compatible platform. The environment will build automatically.
Customize as needed
Modify the configuration to add project-specific tools, extensions, AI coding agents, or environment variables.
Node.js / JavaScript / TypeScript
Production-ready Node.js 22 LTS environment with TypeScript support, ESLint 9 flat config, Prettier, and debugging configured.
Common Issues and Fixes
eslint.config.js (flat config) by default. Legacy .eslintrc files require the ESLINT_USE_FLAT_CONFIG=false env variableversion in features to match your project (18, 20, 22)"postCreateCommand": "npm ci" instead of npm install for faster installscorepack enable in postCreateCommand for pnpm or Yarn Berry projectsPython
Python 3.13 with uv, pip, virtual environments, Jupyter, Ruff linting, and comprehensive debugging support.
uv and Poetry Support
For uv (recommended - fastest Python package manager), add to postCreateCommand:
"postCreateCommand": "pip install uv && uv sync"For Poetry-based projects, add this feature and change the postCreateCommand:
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "3.13"
},
"ghcr.io/eitsupi/devcontainer-features/poetry:1": {
"version": "latest"
}
},
"postCreateCommand": "poetry install"Common Issues and Fixes
source .venv/bin/activateinstallJupyterlab to true in featuresversion in features (3.10, 3.11, 3.12, 3.13)python.linting and python.formatting settings are deprecated in VS Code. Use the Ruff extension or Black extension directly insteadJava / Kotlin
JDK 21 LTS with Maven, Gradle, Spring Boot 3 support, and comprehensive Java tooling.
Common Issues and Fixes
chmod +x mvnwversion to match your project (17, 21, 23)gabrielbb.vscode-lombok extension is installed and reload windowGo
Go 1.23+ with module support, generics, debugging, linting, and testing configured.
Common Issues and Fixes
go install golang.org/x/tools/gopls@latestgo.mod exists in project root, create with go mod initgo install github.com/golangci/golangci-lint/cmd/golangci-lint@latestRust
Latest Rust toolchain with rust-analyzer, Cargo, clippy, and CodeLLDB debugging.
Common Issues and Fixes
cargo.allFeatures for large projectsCargo.tomlcargo clean to clear build artifacts.NET / C#
.NET 9 SDK with C# Dev Kit, NuGet, and comprehensive debugging support.
Common Issues and Fixes
ms-dotnettools.csdevkit extension is installeddotnet restore --forceversion to match your project (6.0, 8.0, 9.0)AI Coding Tool Quickstarts
DevContainer configurations optimized for AI-assisted and agentic development workflows in cloud environments
Claude Code (Agentic CLI)
Agentic Workflow Tips
ANTHROPIC_API_KEY in your local environment or use a .env file (add to .gitignore)CLAUDE.md file in your project root with project conventions, architecture notes, and coding standards for Claude Code to followclaude -p "your prompt" for CI/CD integration or batch scripting within the containerGitHub Copilot
Multi-Agent Environment (Python + AI Tools)
AI Agent Security in CDEs
containerEnv with ${localEnv:VAR} to pass secrets from your host machine. Add .env to .gitignoreFull-Stack Examples
Multi-container configurations for full-stack development with databases and services
React + Node.js + PostgreSQL
Django + PostgreSQL
Spring Boot + MySQL
Performance Tips
Optimize your DevContainers for faster builds and better developer experience
Layer Caching
Use pre-built base images and avoid reinstalling dependencies on every rebuild
// Use official images
"image": "mcr.microsoft.com/..."
// Cache dependencies
"mounts": [
"source=node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
]Volume Mounts
Use cached volumes for node_modules, .venv, and build artifacts
"mounts": [
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
]Prebuild Images
For GitHub Codespaces and Ona, use prebuilds to speed up workspace creation
// GitHub Codespaces
{
"prebuildOptions": {
"commands": ["npm ci", "npm run build"]
}
}Selective Extensions
Only install essential extensions to reduce startup time
// Install only what you need
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
// Skip theme extensions in CDEs
]Additional Optimization Strategies
Use npm ci instead of npm install
Faster, deterministic installs from package-lock.json
Configure postAttachCommand
Run lightweight startup tasks after container is ready
Minimize Dockerfile layers
Combine RUN commands to reduce image size and build time
Use multi-stage builds
Separate build and runtime environments for smaller images
Scope AI agent containers
Limit AI agent resource access with containerEnv and mount restrictions
Pin devcontainer feature versions
Use specific versions instead of "latest" for reproducible builds across teams
Ready to start developing in the cloud?
Copy these configurations, customize for your project, and experience the power of standardized development environments with integrated AI tooling.
