devbox
devbox Skill
devbox is a Nix-based development environment manager. It provides isolated, reproducible environments per project.
Installation
curl -fsSL https://get.jetify.com/devbox | bash
Basic Commands
# Initialize project (creates devbox.json)
devbox init
# Add packages
devbox add nodejs@20
devbox add python@3.12 go@1.22
# Remove a package
devbox rm nodejs
# Enter the devbox shell
devbox shell
# Run a command (without entering the shell)
devbox run -- npm test
# Run a script
devbox run test
# Start services (process-compose)
devbox services start
# Search packages
devbox search nodejs
devbox.json
{
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/main/.schema/devbox.schema.json",
"packages": [
"nodejs@20",
"python@3.12"
],
"shell": {
"init_hook": [
"echo 'Welcome to devbox!'",
"export FOO=bar"
],
"scripts": {
"test": "npm test",
"dev": "npm run dev",
"build": "npm run build"
}
}
}
Package Specification
{
"packages": [
"nodejs@20",
"python@3.12.0",
"go@latest",
"github:NixOS/nixpkgs#hello"
]
}
Package search: https://www.nixhub.io
Scripts
{
"shell": {
"scripts": {
"test": "npm test",
"dev": "npm run dev",
"lint": [
"eslint .",
"prettier --check ."
]
}
}
}
devbox run test
devbox run dev
Services (process-compose)
Create process-compose.yaml:
processes:
web:
command: npm run dev
db:
command: postgres -D /tmp/pgdata
devbox services start # Start all services
devbox services stop # Stop all services
devbox services ls # List services
Environment Variables
{
"env": {
"DATABASE_URL": "postgresql://localhost:5432/dev",
"NODE_ENV": "development"
},
"shell": {
"init_hook": [
"export API_KEY=$(<.api_key)"
]
}
}
GitHub Actions
Use jetify-com/devbox-install-action. See assets/gh_action_example.yaml for a complete example.
steps:
- uses: actions/checkout@v4
- uses: jetify-com/devbox-install-action@v0.12.0
# with:
# enable-cache: true # Nix store cache
- run: devbox run test
Common Options
| Option | Description |
|---|---|
--config |
Path to devbox.json |
--quiet |
Suppress output |
--print-env |
Print environment variables |
References
More from mizchi/skills
empirical-prompt-tuning
Methodology for iteratively improving agent-facing instructions (skills / slash commands / CLAUDE.md / code-gen prompts) by having a bias-free executor run them and evaluating two-sidedly (executor self-report + instruction-side metrics) until improvements plateau. Use after creating or revising a prompt or skill.
38gh-fix-ci
Debug or fix failing GitHub PR checks running in GitHub Actions. Inspects checks/logs via `gh`, drafts a fix plan, and implements only after explicit approval. Out of scope: external CI (e.g. Buildkite) — report only the details URL.
9tech-article-reproducibility
Evaluate the reproducibility of technical articles. Dispatch a subagent to simulate a first-time reader reproducing the work locally and list missing information. Use as the final check on a draft before publication.
8node-sqlite-vec
Set up Node 24+ built-in `node:sqlite` with the loadable `sqlite-vec` extension for vector / RAG storage in TypeScript, without `better-sqlite3`. Covers extension loading, vec0 BigInt rowids, vitest incompatibility (use `node --test`), tsconfig flags for `.ts` imports, and a CLI shebang.
5playwright-cli
Use when running Playwright via terminal CLI — `npx playwright test` (test runner), `codegen` (interactive recording), `screenshot` / `pdf` (one-off captures), and CI sharding. NOT for agent-driven real-time browser control (use `claude-in-chrome` MCP tools for that).
5cloudflare-deploy
Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.
5