Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
289c0e0
Add v2 revamp requirements doc
claude Jul 30, 2026
018b8e1
Fix v1 facts in revamp doc after full-script audit
claude Jul 30, 2026
d62dd71
Fix external facts in revamp doc after verification
claude Jul 30, 2026
f6fb6d8
Rewrite aibox as v2: persistent, non-destructive sandboxes
claude Jul 30, 2026
37b32a8
Fix all findings from three-way adversarial audit
claude Jul 30, 2026
547b970
Polish round: fix dev-URL regression, simplify, document constraints
claude Jul 30, 2026
6f9b89d
Fix .claude.json write under Colima (unshared /var/folders)
claude Jul 31, 2026
1953cf4
Make permission prompts the default; --yolo opts into bypass
claude Aug 4, 2026
e569c1f
Add --copy: disposable snapshot container, no bind mount
claude Aug 4, 2026
4662e32
Add aibox run <program>; make claude a thin alias for it
claude Aug 21, 2026
9344dff
Apply simplicity-audit findings: dedupe container plumbing, faster sn…
claude Aug 21, 2026
de83f47
Per-project isolation: sliced home volume with auto-migration
claude Aug 21, 2026
c6c7369
Add aibox serve: detached remote-control server + sessions web UI
claude Aug 21, 2026
8b576e6
Status: live memory and disk per container, Docker disk totals
claude Aug 21, 2026
ffc6cd1
Unify serve: every session is one process, UI creates and stops them
claude Aug 21, 2026
b3f531a
Fix all confirmed findings from four-agent review
claude Aug 21, 2026
fbefb6f
Add aibox sessions: host-side all-projects page, and rc-resume plumbing
claude Aug 24, 2026
1db7b72
Fix sessions lister hang: bypass the image entrypoint
claude Aug 24, 2026
49dab9e
Sessions page works pre-migration: lister reads both layouts
claude Aug 24, 2026
a9c8254
Sessions page: refuse shell actions for pathless legacy sessions serv…
claude Aug 24, 2026
6a99daa
Sessions page: summary titles and last-response preview per session
claude Aug 24, 2026
0ed263e
Sessions page: rebuild layout, fix injection, guard live sessions, ha…
claude Aug 24, 2026
d9a4069
Sessions page: click a row to expand summary, your last message, full…
claude Aug 24, 2026
1857cc7
Sessions page: search — instant filter plus Enter for full-transcript…
claude Aug 24, 2026
3fdd592
Docs coherence pass before PR: fix spec/README drift found in review
claude Aug 26, 2026
361eeb9
Fix final-review findings: UTF-8 chunk decode, action-guard resync, f…
claude Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,12 @@ jobs:
node-version: 24
registry-url: https://registry.npmjs.org
- name: Stamp CLI version
run: sed -i "s/__CLI_VERSION__/$(node -p 'require(\"./package.json\").version')/" bin/aibox
# Anchor to the assignment line ONLY: the script contains two more
# __CLI_VERSION__ occurrences that are runtime dev-build sentinels
# ([[ "$X" == "__CLI_VERSION__" ]]) — replacing those too would make
# every released build identify as "dev" (wrong image tag, dead
# update mechanism).
run: sed -i "s/^CLI_VERSION=\"__CLI_VERSION__\"/CLI_VERSION=\"$(node -p 'require(\"./package.json\").version')\"/" bin/aibox
- run: npm publish --access public --provenance

homebrew:
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
node_modules/
.DS_Store
compose.dev.yaml
.aibox
.idea/
.idea/workspace.xml
8 changes: 7 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ To test locally, symlink into your PATH:
ln -sf "$(pwd)/bin/aibox" /usr/local/bin/aibox
```

Dev-mode note: a checkout runs as version `dev`, so the image tag doesn't change between your edits — after modifying the embedded Dockerfile or entrypoint, force a rebuild with `docker rmi aibox:dev-node<version>` (releases bump the tag, so users get rebuilds automatically).

## Publishing

Publishing is fully automated. Pushing a version tag triggers CI which creates a GitHub release, publishes to npm, and updates the Homebrew tap.
Expand All @@ -36,4 +38,8 @@ npm run release
1. Update `version` in `package.json`
2. Commit, then `npm run release` — CI handles the rest

Note: `AIBOX_VERSION` in `bin/aibox` is separate — it tracks the Docker image format and only needs bumping when the Dockerfile or entrypoint changes (triggers automatic image rebuild for users).
Note: the Docker image tag is derived from the CLI version (`aibox:<version>-node<node_version>`), so any release automatically rebuilds users' images and recreates their containers on next run — sessions and login live in the `aibox-home` volume and are unaffected. In a git checkout (unstamped `__CLI_VERSION__`) the tag is `aibox:dev-node<version>`.

Two stamping caveats:
- The release workflow's sed must replace ONLY the `CLI_VERSION=` assignment — the script contains two more `__CLI_VERSION__` occurrences that are runtime dev-build sentinels and must survive stamping.
- The Homebrew formula installs from the raw git tag, which is unstamped. The tap formula should `inreplace` the same assignment during install; until it does, brew installs behave like dev builds (image `aibox:dev-*`, no update notice).
230 changes: 64 additions & 166 deletions README.md

Large diffs are not rendered by default.

472 changes: 472 additions & 0 deletions REVAMP.md

Large diffs are not rendered by default.

3,854 changes: 1,590 additions & 2,264 deletions bin/aibox

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aibox-cli",
"version": "0.6.0",
"description": "Run AI coding agents in isolated Docker containers",
"version": "2.0.0",
"description": "Persistent Docker sandboxes for Claude Code",
"author": "repalash <palash@shaders.app>",
"license": "MIT",
"repository": {
Expand All @@ -26,6 +26,7 @@
},
"files": [
"bin/aibox",
"scripts/migrate-to-v2.sh",
"README.md",
"LICENSE"
],
Expand Down
341 changes: 341 additions & 0 deletions scripts/migrate-to-v2.sh

Large diffs are not rendered by default.