A devcontainer that bundles four AI coding agents — Claude Code, GitHub Copilot CLI, OpenCode, and Codex — with Pulumi, Kubernetes tooling, and 29 agent skills, 12 agents, 5 hooks, and 4 MCP servers powered by yaah. Open it in VS Code (or any devcontainer-compatible editor) and you get a ready-to-go environment for building cloud infrastructure with AI assistance.
Coding agents: Claude Code, GitHub Copilot (VS Code extension + CLI), OpenCode, Codex
Languages: Node.js, Python, Go (all latest)
Infrastructure tools: kubectl, Helm, GitHub CLI
Linters and language servers: Ruff, golangci-lint, gopls, Prettier, Pyright, TypeScript language server
Agent harness: yaah v0.2.2 — generates skills, agents, hooks, and MCP server config for all four agents via yaah generate. See docs/tools-and-skills.md for the full list.
- Docker (or a compatible container runtime)
- VS Code with the Dev Containers extension, or another devcontainer-compatible tool (GitHub Codespaces, DevPod, etc.)
- Clone the repo:
git clone https://github.com/dirien/devcontainer-coding-agents.git
cd devcontainer-coding-agents-
Open in VS Code and reopen in container when prompted (or run
Dev Containers: Reopen in Containerfrom the command palette). -
Authenticate whichever agents you want to use:
# Claude Code — OAuth (port 19999 is pre-forwarded)
claude auth login --callback-port 19999
# GitHub Copilot CLI
copilot /login
# OpenCode
opencode auth login
# Codex — set OPENAI_API_KEY env var- Start building.
Set these on your host machine before opening the container, or pass them through your devcontainer tooling. They get forwarded into the container automatically.
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY |
Claude Code (alternative to OAuth), OpenCode |
OPENAI_API_KEY |
OpenCode, Codex |
GITHUB_TOKEN |
GitHub CLI and Copilot |
PULUMI_ACCESS_TOKEN |
Pulumi Cloud |
| Port | Used by |
|---|---|
| 19999 | Claude Code OAuth callback |
| 4096 | OpenCode API |
| 4097 | OpenCode Web UI |
| 3000, 8000, 8080 | General dev servers |
Claude Code configuration is stored in a Docker volume (claude-config) mounted at /home/vscode/.claude, so your settings survive container rebuilds.
Edit .devcontainer/devcontainer.json to add or remove features, skills, tools, or port forwards. The postCreateCommand section runs once when the container is first built; postStartCommand runs on every start.
This project is licensed under the MIT License — see the LICENSE file for details.