gitwtfhub

wtf is devbox?

jetify-com/devbox — explained in plain English

Analysis updated 2026-06-24

11,560GoAudience · developerComplexity · 2/5LicenseSetup · easy

TL;DR

A command-line tool that creates isolated, reproducible development environments for each project using the Nix package registry, so different projects can use different tool versions without conflicting on your laptop.

Mindmap

mindmap
  root((devbox))
    What it does
      Isolated environments
      Reproducible tooling
      Clean laptop
    Under the hood
      Nix packages
      400k package versions
      Go CLI
    Use cases
      Version conflicts
      Team environments
      Devcontainers
    Audience
      All developers
      Team leads
      DevOps engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Isolate each project's tools so Python 3.9 for one project doesn't conflict with Python 3.12 for another on the same machine.

REASON 2

Commit a devbox.json to version control so every team member gets an identical development environment by running one command.

REASON 3

Use a Devbox environment as a VS Code devcontainer or Dockerfile to keep local development and production tooling identical.

What's in the stack?

GoNixDocker

How it stacks up

jetify-com/devboxgravitl/netmakerquic-go/quic-go
Stars11,56011,57411,584
LanguageGoGoGo
Setup difficultyeasyhardmoderate
Complexity2/54/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min
Apache 2.0 license, use freely in any project, including commercial ones, with attribution.

Wtf does this do

Devbox is a command-line tool that creates isolated, reproducible development environments for your projects. You define a list of tools and their exact versions in a devbox.json file, and Devbox sets up a shell with exactly those tools available, without touching anything else on your computer. When you leave the Devbox shell, those tools disappear from your path. Your laptop stays clean. The problem Devbox solves is common: different projects need different versions of the same tool (one project needs Python 3.9, another needs 3.12), or a tool you install for one project breaks something for another. Devbox handles this by keeping each project's tools in a fully isolated environment. It draws from the Nix package registry, which contains over 400,000 package versions, so you can pin tools to very specific versions and know they will install the same way on any machine. Under the hood, Devbox is powered by Nix, a package manager designed around reproducibility. Devbox adds a friendlier interface on top: instead of writing Nix expressions, you run commands like devbox add python@3.10 and devbox shell. You commit the devbox.json file to version control, and anyone who clones the project and runs devbox shell gets an identical environment. Once you have a Devbox environment defined, you can use it in several ways beyond the local shell: as a VS Code devcontainer (a container VS Code opens your project inside), as a Dockerfile for building a production image with the same tools, or as a remote cloud development environment. Installing Devbox takes a single curl command. The project is maintained by Jetify and released under the Apache 2.0 license.

Yoink these prompts

Prompt 1
How do I add Python 3.10 and Node.js 18 to a Devbox environment and open a shell with both available?
Prompt 2
I want everyone on my team to get the same dev tools when they clone our repo. Walk me through creating and committing a devbox.json file.
Prompt 3
How do I convert my Devbox environment into a Dockerfile so I can use the same tools in production builds?
Prompt 4
What is the difference between Devbox and Docker for managing development environments, and when should I use each?
Prompt 5
I have version conflicts between two projects on my laptop. Show me how Devbox isolates their dependencies so they don't interfere.

Frequently asked questions

wtf is devbox?

A command-line tool that creates isolated, reproducible development environments for each project using the Nix package registry, so different projects can use different tool versions without conflicting on your laptop.

What language is devbox written in?

Mainly Go. The stack also includes Go, Nix, Docker.

What license does devbox use?

Apache 2.0 license, use freely in any project, including commercial ones, with attribution.

How hard is devbox to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is devbox for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.