Pre-built devcontainer for .NET services — APIs, workers, gRPC services, and background jobs. Works for both human developers and AI coding agents.
| Tool | Version | Purpose |
|---|---|---|
| .NET SDK | 10.0 (patch auto-updates) | Build, test, publish |
| Docker-outside-of-Docker | latest | Build images and run containers via the host Docker socket |
| kubectl | 1.36 | Deploy to and inspect Kubernetes clusters |
| Helm | 4.1.4 | Install and manage Helm charts |
| k3d | 5.8.3 | Local Kubernetes cluster (auto-started on container start) |
| git | latest | Source control |
GitHub CLI (gh) |
latest | PRs, issues, releases, Actions |
| Extension | Purpose |
|---|---|
github.copilot |
AI completions |
github.copilot-chat |
AI chat and inline edits |
anthropics.claude-code |
Claude Code agent |
ms-dotnettools.csdevkit |
C# Dev Kit (solution explorer, test runner) |
ms-dotnettools.csharp |
C# language server, IntelliSense, debugging |
A k3d cluster starts automatically when the container starts. You can deploy Helm charts directly against the local cluster:
helm upgrade --install my-worker ./charts/my-worker --namespace dev --create-namespace
kubectl logs -n dev deploy/my-worker -fdotnet test --logger "console;verbosity=detailed"No extra configuration needed. The image is wired for agent use out of the box:
GITHUB_TOKENis forwarded from the host soghand git operations authenticate without prompts.- A k3d cluster is ready for agents that need to validate Kubernetes deployments.
- Claude Code and Copilot extensions are pre-installed for VS Code / Codespaces agent runs.
Edit images/dotnet-dev/devcontainer.json and change the version field:
"ghcr.io/devcontainers/features/dotnet:2": {
"version": "11.0" // bump major.minor; patches flow automatically
}Push to main — CI rebuilds and pushes the new image. All service repos pick it up on next container rebuild.