Dev Environments
Runtime managers, devcontainers, Docker Compose, and reproducible local setups.
Runtime / version managers
- ★ mise (formerly rtx) — single tool for Node, Python, Ruby, Go, Bun, Deno, Java, Rust toolchains. The default in 2026.
- ★ fnm — fast Node version manager; great if you only need Node.
- Volta — fast Node manager with
package.json-pinned versions. - nvm — bash-based Node manager; long-running classic; slower than fnm.
- asdf — predecessor to mise; still works.
- Bun's
bun upgrade— Bun manages its own version. - Deno's
deno upgrade— same.
Project-level reproducibility
- ★ mise.toml /
.tool-versions— pin runtime versions per repo. enginesin package.json — pin Node version for npm / pnpm / yarn warnings.packageManagerfield — pin pnpm/yarn/bun version (Corepack picks it up)..nvmrc— older approach; mise / fnm / volta read it.
Reproducible all-the-way-down
- ★ Devbox — Nix-based, zero-Nix-knowledge dev environments; declarative
devbox.json. The default for "I want a single config that gives every dev the same Postgres / Redis / Node / etc." - Devenv — also Nix-based; richer language for declaring services.
- Nix flakes — pure Nix; most powerful, steepest curve.
- direnv +
mise— auto-load env when youcd. - dotenv / dotenvx —
.envfiles; see Secrets Management.
Containers / Docker
- ★ Docker + Docker Compose — the default for "stand up Postgres + Redis + your app for dev."
- ★ OrbStack — fastest Docker for Mac; lighter than Docker Desktop.
- Colima — open-source Docker Desktop alternative on Mac.
- Podman — daemonless Docker alternative; rootless.
- Lima — Linux VM on Mac for containers.
Devcontainers / cloud dev environments
- ★ Dev Containers spec — open standard; works in VS Code, JetBrains, GitHub Codespaces, GitPod.
- ★ GitHub Codespaces — hosted dev environment; generous free tier per month.
- GitPod — competitor; free tier.
- Coder — self-hosted Codespaces.
- Daytona — open-source dev environment manager.
- Replit — full hosted dev environment + deploy; free tier.
Hot-reload / process management for local dev
- Tilt — for multi-service / Kubernetes-like local dev; live reload.
- Skaffold — Google's k8s dev loop.
@parcel/watcher, chokidar — file watching primitives.- concurrently /
pnpm run -r— run multiple scripts in parallel. - foreman / overmind / hivemind — Procfile runners.
Editor-side defaults
.editorconfig— universal indent / line-endings / final-newline rules.- VS Code workspace settings —
.vscode/settings.json,.vscode/extensions.json. zed.json— Zed equivalents.
Pick this if…
- Just need Node version per repo: mise (multi-language) or fnm (Node-only).
- Reproducible toolchain + services: Devbox or Devenv.
- Standardize across team via VS Code / GitHub: Dev Containers + Codespaces.
- Daily container dev on Mac: OrbStack.
- Postgres / Redis / etc for dev: Docker Compose (boring, works).
- Run multiple npm scripts in parallel: concurrently or
pnpm run -r.