{"id":48440917,"url":"https://github.com/blitzdotdev/aibox","last_synced_at":"2026-04-06T15:04:31.811Z","repository":{"id":344913025,"uuid":"1183670626","full_name":"blitzdotdev/aibox","owner":"blitzdotdev","description":"Instant sandbox containers for local projects on macbook with ai agents like claude code","archived":false,"fork":false,"pushed_at":"2026-03-31T20:04:13.000Z","size":58,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T20:11:03.065Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blitzdotdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-16T20:56:36.000Z","updated_at":"2026-03-31T20:04:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/blitzdotdev/aibox","commit_stats":null,"previous_names":["blitzdotdev/aibox"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/blitzdotdev/aibox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blitzdotdev%2Faibox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blitzdotdev%2Faibox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blitzdotdev%2Faibox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blitzdotdev%2Faibox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blitzdotdev","download_url":"https://codeload.github.com/blitzdotdev/aibox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blitzdotdev%2Faibox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31477014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T14:34:32.243Z","status":"ssl_error","status_checked_at":"2026-04-06T14:34:31.723Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-06T15:04:07.119Z","updated_at":"2026-04-06T15:04:31.795Z","avatar_url":"https://github.com/blitzdotdev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003eaibox\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\u003cstrong\u003eInstant Docker sandboxes for AI coding agents\u003c/strong\u003e\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.npmjs.com/package/aibox-cli\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/aibox-cli\" alt=\"npm\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.npmjs.com/package/aibox-cli\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/aibox-cli\" alt=\"downloads\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/blitzdotdev/aibox/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/blitzdotdev/aibox\" alt=\"license\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003c!-- TODO: Add a terminal recording (asciinema/VHS) demo GIF here showing `aibox claude --yolo` in action --\u003e\n\n\u003e *Skip permission prompts safely. Let agents run wild. Tear everything down when you're done.*\n\n```bash\ncd myproject \u0026\u0026 aibox claude --yolo\n```\n\nOne command to go from bare project to fully isolated Claude Code session. Changes sync both ways, the agent stays sandboxed, tear everything down when you're done.\n\n## Quickstart\n\n```bash\nnpm install -g aibox-cli    # 1. install\ncd myproject                 # 2. go to your project\naibox claude --yolo          # 3. run\n```\n\n## Features\n\n- **Zero config** — don't even need Docker installed. Detects your machine, auto-installs Colima/Docker, builds an Alpine image with Claude Code + dev tools on first run\n- **Safe by default** — network firewall (allowlisted domains only), restricted sudo, sensitive file detection. `--yolo` to unlock everything\n- **Full isolation** — `--copy` snapshots into a Docker volume, `--worktree` creates a git worktree. Both handle uncommitted changes, submodules, and LFS\n- **Parallel agents** — run multiple named instances on the same project, each with its own container\n- **Editor integration** — VS Code, Cursor, JetBrains, Windsurf — set startup command to `aibox claude --yolo`\n- **Clone and run** — `--repo \u003curl\u003e` clones any git repo and launches an agent session\n- **Not just Claude** — container ships with Node.js, python3, git, ripgrep, build tools. Run aider, codex, or anything else\n- **Just a shell script** — no daemon, no runtime dependencies, easy to fork\n\n## Install\n\n```bash\nnpm install -g aibox-cli\n# or\nbrew install blitzdotdev/tap/aibox\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePrerequisites\u003c/strong\u003e\u003c/summary\u003e\n\nOn macOS, if Docker isn't installed, aibox will offer to install [Colima](https://github.com/abiosoft/colima) + Docker via Homebrew automatically. Also works with [Docker Desktop](https://www.docker.com/products/docker-desktop/) or [OrbStack](https://orbstack.dev).\n\n\u003c/details\u003e\n\n## Usage\n\n```bash\naibox up                    # start container (auto-builds image on first run)\naibox claude --yolo         # no prompts, full sudo, no firewall\naibox claude --safe         # keep prompts, restricted sudo, firewall on\naibox claude                # asks you each time\naibox claude --resume       # resume most recent conversation\naibox shell                 # zsh inside the container\naibox down                  # stop and remove\n```\n\n### Named instances\n\nRun multiple containers for the same project:\n\n```bash\naibox --name refactor claude --yolo\naibox --name tests claude --safe\naibox --name refactor down\n```\n\n### Isolation modes\n\n| Mode | Flag | How it works |\n|------|------|-------------|\n| **Bind mount** | *(default)* | Live-sync project directory |\n| **Copy** | `--copy` | Snapshot into Docker volume (git or non-git) |\n| **Worktree** | `--worktree` | Lightweight git worktree on host |\n\nBoth `--copy` and `--worktree` auto-detect uncommitted changes, submodules, and Git LFS. Each creates a `aibox/\u003cinstance-name\u003e` branch.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCopy mode details\u003c/strong\u003e\u003c/summary\u003e\n\n- **Git repo** — uses `git bundle` to clone tracked files (preserves history, excludes .gitignored files). Asks to include uncommitted changes.\n- **Git subfolder** — asks whether to copy the full repo or just the current folder.\n- **Non-git directory** — tars the folder (excluding `node_modules` and `.git`).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWorktree mode details\u003c/strong\u003e\u003c/summary\u003e\n\nCreates a `git worktree` at `~/.config/aibox/worktrees/`. Near-instant, shares remotes with the main repo. Requires a git repository. Asks to include uncommitted changes.\n\n\u003c/details\u003e\n\n### Clone from URL\n\n```bash\naibox --repo https://github.com/user/project.git claude --yolo\naibox --repo git@github.com:user/project.git --branch dev claude\n```\n\nRepos cached at `~/.config/aibox/repos/` with submodules included.\n\n### Port forwarding\n\nForward ports from a running container to the host — no restart needed:\n\n```bash\naibox port-forward 3000              # host:3000 → container:3000\naibox port-forward 8080:3000         # host:8080 → container:3000\naibox port-forward 3000 5173         # multiple ports\naibox port-forward --list            # show active forwards\naibox port-forward --stop 3000       # stop one\naibox port-forward --stop-all        # stop all\n```\n\nUses a lightweight sidecar container (`alpine/socat`) on the same Docker network. Cleaned up automatically on `aibox down`.\n\n### Management\n\n```bash\naibox status              # list all aibox containers\naibox volumes             # list copy volumes and worktrees\naibox disk                # show disk usage breakdown\naibox clean               # clean everything (containers, volumes, images, sessions)\naibox clean --volumes     # only orphaned volumes\naibox clean --containers  # only stopped containers\naibox clean --sessions 7  # only session data older than 7 days (default: 30)\naibox clean --docker      # only dangling images + build cache\naibox clean --force       # skip confirmation\naibox doctor              # diagnose common issues\naibox down --clean        # also remove copy volumes / worktrees\naibox down --all          # stop all containers for this project\naibox nuke                # remove ALL aibox containers\n```\n\nContainers auto-stop when the last `claude` or `shell` session exits.\n\n## Security modes\n\n| | `--yolo` | `--safe` (default) |\n|---|---|---|\n| **Permission prompts** | Skipped | Kept |\n| **Sudo** | Full | Restricted (chown only) |\n| **Network** | Unrestricted | Firewall (allowlist only) |\n\nIn safe mode, outbound traffic is restricted to Claude API, npm, GitHub, PyPI, DNS, and SSH. Add extra domains:\n\n```bash\nexport AIBOX_EXTRA_DOMAINS=\"example.com,api.myservice.io\"\n```\n\n## IDE integration\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eJetBrains (WebStorm, IntelliJ, etc.)\u003c/strong\u003e\u003c/summary\u003e\n\n1. Install the [Claude Code plugin](https://plugins.jetbrains.com/plugin/claude-code)\n2. Run `aibox init` in your project\n3. Set the plugin's startup command to `aibox claude --yolo`\n\nNode.js interpreter is also configured to use the container.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eVS Code\u003c/strong\u003e\u003c/summary\u003e\n\n1. Install the [Claude Code extension](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)\n2. Set the Claude Code startup command to `aibox claude --yolo`\n3. Or use Dev Containers with the generated `compose.dev.yaml`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCursor / Windsurf / Other editors\u003c/strong\u003e\u003c/summary\u003e\n\nSet your agent's startup command to `aibox claude --yolo`. Works anywhere you can configure a shell command.\n\n\u003c/details\u003e\n\n## Other agents\n\nThe container ships with Node.js 20, git, git-lfs, ripgrep, zsh, python3, and build tools. Claude Code is pre-installed, but you can run anything:\n\n```bash\naibox shell    # then run: aider, codex, etc.\n```\n\nCustomize the Dockerfile at `~/.config/aibox/Dockerfile`.\n\n## CLI reference\n\n| Short | Long | Description |\n|-------|------|-------------|\n| `-n` | `--name NAME` | Named instance (multiple containers per project) |\n| `-d` | `--dir PATH` | Run in a different project directory |\n| `-r` | `--repo URL` | Clone a git repo and run in it |\n| `-b` | `--branch NAME` | Branch to checkout (with `--repo`) |\n| `-i` | `--image NAME` | Override base Docker image |\n| `-c` | `--copy` | Copy project into Docker volume (full isolation) |\n| `-w` | `--worktree` | Use git worktree (lightweight isolation) |\n| `-y` | `--yolo` | Skip prompts, full sudo, no firewall |\n| `-s` | `--safe` | Keep prompts, restricted sudo, firewall on |\n| | `--all` | With `down`: stop all project containers |\n| | `--clean` | With `down`: also remove copy volumes / worktrees |\n| | `--force` | With `clean`: skip confirmation prompts |\n\n## Config\n\nPer-project settings in `.aibox`:\n\n```\nIMAGE=aibox:latest\nSHARED_MODULES=true\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblitzdotdev%2Faibox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblitzdotdev%2Faibox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblitzdotdev%2Faibox/lists"}