Dev Container Primer
A dev container is a portable, reproducible development environment defined as code. It runs inside Docker and guarantees every team member shares the exact same toolchain, extensions, and runtime.
Why use one?
- ▸Zero drift. Node 20.11, pnpm 9, and every system dependency are pinned in a JSON file.
- ▸Instant onboarding. Clone the repo, click “Reopen in Container,” and you’re building in under 90 seconds.
- ▸CI parity. The same image that runs locally runs in GitHub Actions — no more “works on my machine.”
The anatomy
A single file — .devcontainer/devcontainer.json — drives everything:
{
"name": "Meridian",
"image": "mcr.microsoft.com/devcontainers/typescript-node:20",
"features": {
"ghcr.io/devcontainers/features/node:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"bradlc.vscode-tailwindcss",
"esbenp.prettier-vscode"
]
}
},
"postCreateCommand": "pnpm install"
}Getting started
- Install Docker Desktop and the VS Code Dev Containers extension.
- Add the
.devcontainerfolder to your repo root. - Run
Dev Containers: Reopen in Containerfrom the command palette. - Wait for the post-create script — then start shipping.
Meridian tip: Our monorepo ships with a pre-configured dev container. Clone it and you’ll have the full toolchain — Next.js 14, Tailwind, and pnpm — without installing anything locally.