janix
v0.2.4
Published
Isolated Docker + Nix dev environments per git branch
Downloads
535
Readme
janix
Janix creates isolated Docker + Nix dev environments per git branch. Each branch gets its own git clone, Docker container, and Nix-based environment — so you can work on multiple branches simultaneously without conflicts.
Each container mounts your Claude config, so Claude Code works inside environments out of the box.
How it works:
initconfigures the project: detects package manager, collects.envfiles, template variables, init/teardown scripts, and optional Docker networkcreateclones the repo for the branch, builds a Docker image fromflake.nix, and starts a container with persistent cache volumesattachdrops you into an interactive shell inside the container vianix develop- Package manager and Nix caches are persisted across environment recreations via Docker volumes
flake.nixchanges are detected automatically and trigger an image rebuild offer
Usage
janix init # Initialize janix in current repo
janix create [branch] # Create dev environment for a branch
janix list # List environments and their status
janix attach [branch] # Attach to a running environment
janix stop [branch] # Stop a container (preserves clone)
janix start [branch] # Start a stopped container
janix destroy [branch] # Remove container and cloneDevelopment
npm run check && npm run build