# DevBox
DevBox (also styled Devbox) is an open-source CLI from Jetify that creates isolated, declarative, per-project development environments without containers or virtual machines. Under the hood, it is a friendly wrapper over the [Nix package manager](https://nixos.org/) ; you declare the packages your project needs in a `devbox.json`, run `devbox shell`, and DevBox materializes a reproducible shell with exactly those binaries on `PATH`.
It targets the same problem space as containers and [[Cloud Development Environment (CDE)|CDEs]] ; "the project must work the same on every machine" ; but stays *local* and *lightweight*. No daemon, no image build, no port mapping, no syncing.
## What It Is Good For
- **Local reproducibility**: `git clone` + `devbox shell` and the exact toolchain (Go 1.23, Node 22, postgres 16, ffmpeg 7) is on PATH for everyone on the team
- **Polyglot projects**: pin Python, Node, Rust, and a database without three separate version managers
- **Lower friction than [[Docker]] for editor + CLI workflows**: no FS performance penalty on macOS, no port-forwarding ceremony
- **Reproducible CI**: the same `devbox.json` runs in [[GitHub Actions]] and locally
## How It Works
DevBox stores its dependency graph in `devbox.lock` ; each tool resolves to a specific Nix store path. `devbox shell` enters a subshell with PATH/env adjustments; nothing is installed globally. Removing the project deletes its environment ; nothing leaks into your `/usr/local`.
## Where It Doesn't Fit
- **You need an actual Linux kernel feature**: containers are still the right tool
- **You need to ship the environment to non-developers**: containers/[[Cloud Development Environment (CDE)|CDEs]] are easier to deliver
- **You're not on macOS or Linux**: Windows support requires WSL2
## DevBox vs Adjacent Tools
- **vs raw [[Docker]]**: faster, lighter, no networking concerns, no FS sync ; but Linux-only inside any actual container
- **vs Nix directly**: same engine, gentler interface ; trade some power for a lower learning curve
- **vs `mise` / `asdf`**: those manage runtime versions; DevBox manages *the entire toolbelt*, including system libraries
- **vs [[GitHub Codespaces]] / cloud IDEs**: stays local, no per-hour cost, but doesn't move compute off your laptop. For *that*, see [[Crabbox]]
## References
- Project home: https://www.jetify.com/devbox
- GitHub: https://github.com/jetify-com/devbox
- Documentation: https://www.jetify.com/devbox/docs/
## Related
- [[Docker]]
- [[Cloud Development Environment (CDE)]]
- [[GitHub Codespaces]]
- [[Crabbox]]
- [[Ephemeral Environments]]