The DevEx Compass

Ergonomics runs west to east, production parity south to north. A public checklist places every dot.

How a dot is placed

No dot is placed by hand. Each tool earns 10 points per criterion it meets, with a source. Ties sit in a small cluster around the same point.

Developer ergonomics west → east

  1. One command starts it. A single command brings up the whole thing it manages.
  2. Works with little config. Useful out of the box, or with a short generated config.
  3. Fast feedback on change. Live reload, file sync or incremental rebuilds in seconds.
  4. Clear errors and diagnostics. Says what broke and how to fix it, or ships a doctor-style check.
  5. Built-in UI. A web dashboard, TUI or desktop app, not only raw logs.
  6. Quickstart in minutes. Official docs get a newcomer to a working result in about ten minutes.
  7. macOS, Linux and Windows. Supported on all three, natively or through WSL.
  8. Local, no account. Runs on your machine without signing up or a network round trip.
  9. Light and quick to start. Starts in seconds and does not need a large VM or many GB of RAM.
  10. Agent-ready. An MCP server, a JSON output mode or an API an AI agent can drive.

Complexity and production parity south → north

  1. Real containers. Runs or builds OCI containers.
  2. Many services at once. Brings up and coordinates several services together.
  3. Prod-like networking. Service-to-service networking, DNS or ingress like production.
  4. Real stateful dependencies. Databases, queues or volumes, not only in-memory fakes.
  5. Same artifacts as production. Uses the images, bundles or lockfiles that production uses.
  6. Kubernetes semantics. Manifests, pods, Helm charts or a real Kubernetes API.
  7. Cloud APIs. Emulates or reaches real cloud provider APIs.
  8. Prod-like config and secrets. Environment, config and secrets handled the way production handles them.
  9. Logs, metrics and traces. Exposes telemetry the way production does.
  10. Scales to big teams. Built for many services and many developers sharing a setup.
The same tools as a table
ToolFamilyCategoryRingLicenseErgonomicsParity
npm The package manager bundled with Node.js Package & build Package managers Adopt Open source 50 10
pnpm Fast, disk-efficient Node package manager Package & build Package managers Adopt Open source 70 20
Yarn Node package manager with workspaces and Plug'n'Play Package & build Package managers Adopt Open source 40 20
Bun JavaScript runtime, package manager and bundler in one Package & build Package managers Adopt Open source 70 10
Deno JavaScript and TypeScript runtime with built-in tooling Package & build Package managers Adopt Open source 70 10
uv Fast Python package and project manager Package & build Package managers Trial Open source 80 10
pip The standard Python package installer Package & build Package managers Adopt Open source 50 0
Poetry Python dependency management and packaging Package & build Package managers Adopt Open source 40 10
PDM Standards-based Python package and project manager Package & build Package managers Adopt Open source 50 10
Hatch Python project manager with environments and builds Package & build Package managers Adopt Open source 40 0
Pipenv Python virtualenv and Pipfile.lock manager Package & build Package managers Adopt Open source 40 10
Rye Experimental Python project manager, superseded by uv Package & build Package managers Hold Open source 50 10
Conda Cross-language package and environment manager Package & build Package managers Adopt Open source 30 10
Pixi Fast conda and PyPI project manager with lockfiles Package & build Package managers Trial Open source 70 10
Cargo Rust's package manager and build tool Package & build Package managers Adopt Open source 70 20
Go modules Go's built-in dependency management Package & build Package managers Adopt Open source 90 20
Maven Convention-based Java build and dependency tool Package & build Package managers Adopt Open source 30 20
Gradle Build automation and dependency tool for the JVM Package & build Package managers Adopt Open source 40 20
Composer Dependency manager for PHP Package & build Package managers Adopt Open source 60 10
Bundler Gem dependency manager for Ruby Package & build Package managers Adopt Open source 60 10
NuGet Package manager for .NET Package & build Package managers Adopt Open source 40 20
Homebrew Package manager for macOS and Linux Package & build Package managers Adopt Open source 40 0
Swift Package Manager Swift's built-in package and build manager Package & build Package managers Adopt Open source 40 10
mise Polyglot tool versions, env vars and tasks Package & build Version managers Adopt Open source 80 20
asdf Plugin-based version manager for many runtimes Package & build Version managers Trial Open source 30 10
nvm Shell script to manage Node.js versions Package & build Version managers Adopt Open source 30 0
fnm Fast Node.js version manager written in Rust Package & build Version managers Adopt Open source 50 0
Volta JavaScript tool manager pinned via package.json Package & build Version managers Hold Open source 50 10
pyenv Install and switch between Python versions Package & build Version managers Adopt Open source 30 0
rbenv Lightweight Ruby version manager Package & build Version managers Adopt Open source 30 0
rustup The Rust toolchain installer Package & build Version managers Adopt Open source 60 10
SDKMAN! Manage parallel JDK and JVM tool versions Package & build Version managers Adopt Open source 40 10
proto Pluggable multi-language version manager Package & build Version managers Trial Open source 50 10
Vite Frontend dev server and build tool Package & build Build tools Adopt Open source 80 10
esbuild Extremely fast JavaScript bundler and minifier Package & build Build tools Trial Open source 70 10
Rspack Rust bundler compatible with the webpack API Package & build Build tools Adopt Open source 50 20
Rolldown Rust bundler with a Rollup-compatible API Package & build Build tools Adopt Open source 60 10
Turbopack Incremental Rust bundler built into Next.js Package & build Build tools Adopt Open source 60 10
webpack Configurable module bundler for JavaScript Package & build Build tools Adopt Open source 30 20
Rollup ES module bundler for libraries Package & build Build tools Adopt Open source 40 10
Parcel Zero-configuration web application bundler Package & build Build tools Adopt Open source 60 10
SWC Rust compiler for JavaScript and TypeScript Package & build Build tools Adopt Open source 50 10
tsdown Library bundler for TypeScript, powered by Rolldown Package & build Build tools Trial Open source 70 10
Bazel Hermetic, multi-language build system from Google Package & build Build tools Adopt Open source 30 30
Buck2 Meta's fast multi-language build system Package & build Build tools Trial Open source 20 20
Pants Monorepo build system for Python, Go, JVM and more Package & build Build tools Adopt Open source 30 30
Earthly Containerized builds from Dockerfile-like Earthfiles Package & build Build tools Hold Open source 30 20
Dagger Programmable CI/CD pipelines that run in containers Package & build Build tools Trial Open source 40 50
Make The classic dependency-based build and task tool Package & build Task runners Hold Open source 20 0
Just A command runner with make-like recipes Package & build Task runners Adopt Open source 70 0
Task YAML-based task runner and build tool in Go Package & build Task runners Adopt Open source 60 0