Skip to main content
InfraGap.com Logo
Home
Getting Started
Core Concept What is a CDE? How It Works Benefits CDE Assessment Getting Started Guide CDEs for Startups
AI & Automation
AI Coding Assistants Agentic AI AI-Native IDEs Agentic Engineering AI Agent Orchestration AI Governance AI-Assisted Architecture Shift-Left AI LLMOps Autonomous Development AI/ML Workloads GPU Computing
Implementation
Architecture Patterns DevContainers Advanced DevContainers Language Quickstarts IDE Integration CI/CD Integration Platform Engineering Developer Portals Container Registry Multi-CDE Strategies Remote Dev Protocols Nix Environments
Operations
Performance Optimization High Availability & DR Disaster Recovery Monitoring Capacity Planning Multi-Cluster Development Troubleshooting Runbooks Ephemeral Environments
Security
Security Deep Dive Zero Trust Architecture Secrets Management Vulnerability Management Network Security IAM Guide Supply Chain Security Air-Gapped Environments AI Agent Security MicroVM Isolation Compliance Guide Governance
Planning
Pilot Program Design Stakeholder Communication Risk Management Migration Guide Cost Analysis FinOps GreenOps Vendor Evaluation Training Resources Developer Onboarding Team Structure DevEx Metrics Industry Guides
Resources
Tools Comparison CDE vs Alternatives Case Studies Lessons Learned Glossary FAQ

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

1

Create the .devcontainer directory

In your project root, create a .devcontainer folder.

2

Copy the configuration

Choose your language below and copy the devcontainer.json file into .devcontainer/devcontainer.json.

3

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.

4

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.

.devcontainer/devcontainer.json
.vscode/launch.json (Debugging)
Common Issues and Fixes
ESLint 9 flat config: ESLint 9 uses eslint.config.js (flat config) by default. Legacy .eslintrc files require the ESLINT_USE_FLAT_CONFIG=false env variable
Node version mismatch: Change the version in features to match your project (18, 20, 22)
Slow container builds: Use "postCreateCommand": "npm ci" instead of npm install for faster installs
Corepack/pnpm issues: Enable Corepack with corepack enable in postCreateCommand for pnpm or Yarn Berry projects

Python

Python 3.13 with uv, pip, virtual environments, Jupyter, Ruff linting, and comprehensive debugging support.

.devcontainer/devcontainer.json
.vscode/launch.json (Debugging)
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
Module not found errors: Ensure virtual environment is activated: source .venv/bin/activate
Jupyter not starting: Change installJupyterlab to true in features
Wrong Python version: Update the version in features (3.10, 3.11, 3.12, 3.13)
Deprecated linting settings: The python.linting and python.formatting settings are deprecated in VS Code. Use the Ruff extension or Black extension directly instead

Java / Kotlin

JDK 21 LTS with Maven, Gradle, Spring Boot 3 support, and comprehensive Java tooling.

.devcontainer/devcontainer.json
.vscode/launch.json (Debugging)
Common Issues and Fixes
Maven wrapper not executable: Run chmod +x mvnw
JDK version mismatch: Change version to match your project (17, 21, 23)
Lombok not working: Ensure gabrielbb.vscode-lombok extension is installed and reload window

Go

Go 1.23+ with module support, generics, debugging, linting, and testing configured.

.devcontainer/devcontainer.json
.vscode/launch.json (Debugging)
Common Issues and Fixes
gopls not found: Run go install golang.org/x/tools/gopls@latest
Module errors: Ensure go.mod exists in project root, create with go mod init
Linting not working: Install golangci-lint: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

Rust

Latest Rust toolchain with rust-analyzer, Cargo, clippy, and CodeLLDB debugging.

.devcontainer/devcontainer.json
.vscode/launch.json (Debugging)
Common Issues and Fixes
rust-analyzer slow: Disable cargo.allFeatures for large projects
Debugging not working: Ensure CodeLLDB extension is installed and workspace has Cargo.toml
Build cache issues: Run cargo clean to clear build artifacts

.NET / C#

.NET 9 SDK with C# Dev Kit, NuGet, and comprehensive debugging support.

.devcontainer/devcontainer.json
.vscode/launch.json (Debugging)
Common Issues and Fixes
C# Dev Kit not loading: Reload window or restart C# extension. Ensure the ms-dotnettools.csdevkit extension is installed
NuGet restore fails: Run dotnet restore --force
Wrong .NET version: Update version 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)

.devcontainer/devcontainer.json
Agentic Workflow Tips
API key setup: Set ANTHROPIC_API_KEY in your local environment or use a .env file (add to .gitignore)
CLAUDE.md context: Place a CLAUDE.md file in your project root with project conventions, architecture notes, and coding standards for Claude Code to follow
Headless mode: Use claude -p "your prompt" for CI/CD integration or batch scripting within the container

GitHub Copilot

.devcontainer/devcontainer.json

Multi-Agent Environment (Python + AI Tools)

.devcontainer/devcontainer.json
AI Agent Security in CDEs
Never commit API keys: Use containerEnv with ${localEnv:VAR} to pass secrets from your host machine. Add .env to .gitignore
Isolated agent sandboxing: CDEs provide natural isolation for AI coding agents. Each agent runs in its own container with limited filesystem and network access
Audit agent actions: Use Git history and terminal logs within the CDE to review all changes made by AI agents before committing
Rate limiting: Set API usage limits in your AI provider dashboards to prevent runaway costs from long-running agentic sessions

Full-Stack Examples

Multi-container configurations for full-stack development with databases and services

React + Node.js + PostgreSQL

.devcontainer/devcontainer.json
.devcontainer/docker-compose.yml

Django + PostgreSQL

.devcontainer/devcontainer.json
.devcontainer/docker-compose.yml

Spring Boot + MySQL

.devcontainer/devcontainer.json
.devcontainer/docker-compose.yml

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.