Import claudebox: creds-free, trust-less Claude Code VMs #1

Merged
dan-claude-bot merged 1 commit from import-claudebox into main 2026-07-10 15:01:39 +00:00
dan-claude-bot commented 2026-07-10 15:01:02 +00:00 (Migrated from github.com)

Initial import of claudebox onto the canonical heavy-duty/claudebox, from the claude-hdb fork.

claudebox is a CLI that mints trust-less, network-isolated Incus VMs with Claude Code installed. The design:

  • Strictly creds-free boxes. A box ships everything installed and no credentials. The operator authenticates Claude interactively inside (/login paste-a-code flow) and adds their own git creds. The tool never stores or injects a secret — nothing shared, nothing committed.
  • Snapshot-based reuse. claudebox snapshot a logged-in box, then claudebox new --from <box>[/<snap>] clones the authenticated state into fresh boxes so you never re-auth. Isolation is preserved.
  • The tool knows nothing about projects. You git clone inside a box. A repo can ship an optional .claudebox/ runbook — agent-facing documentation Claude reads and acts on, not host-executed shell. Every box carries a global ~/.claude/CLAUDE.md so Claude knows it's in a claudebox and reads the runbook automatically.
  • Curl install. curl -fsSL …/install.sh | bash.

Contents

  • bin/claudebox — thin Incus wrapper: new (--from to clone), snapshot/restore, shell/exec/down/start/rm/status.
  • cloud-init/user-data.yaml — base install + the global self-describing CLAUDE.md.
  • install.sh — curl-pipe-bash installer.
  • host/ — the Incus isolation stack (claudenet + claude-isolate ACL + claude-dev profile + host firewall) and teardown.
  • docs/claudebox-design.md, docs/claudebox-recipe.md — design rationale + the .claudebox/ convention.

Notes

  • This was prototyped in a separately-created repo (now abandoned) and re-homed here onto the fork of the org repo, so it lands as a single import commit on top of the initial Create README.md.
  • Not yet verified on a live Incus host — the launch/copy/snapshot flow, in-box /login, and cloud-init need a real host run before trusting them.

🤖 Generated with Claude Code

Initial import of **claudebox** onto the canonical `heavy-duty/claudebox`, from the `claude-hdb` fork. `claudebox` is a CLI that mints **trust-less, network-isolated Incus VMs with Claude Code installed**. The design: - **Strictly creds-free boxes.** A box ships everything installed and no credentials. The operator authenticates Claude interactively inside (`/login` paste-a-code flow) and adds their own git creds. The tool never stores or injects a secret — nothing shared, nothing committed. - **Snapshot-based reuse.** `claudebox snapshot` a logged-in box, then `claudebox new --from <box>[/<snap>]` clones the authenticated state into fresh boxes so you never re-auth. Isolation is preserved. - **The tool knows nothing about projects.** You `git clone` inside a box. A repo can ship an optional `.claudebox/` runbook — agent-facing documentation Claude reads and acts on, not host-executed shell. Every box carries a global `~/.claude/CLAUDE.md` so Claude knows it's in a claudebox and reads the runbook automatically. - **Curl install.** `curl -fsSL …/install.sh | bash`. ## Contents - `bin/claudebox` — thin Incus wrapper: `new` (`--from` to clone), `snapshot`/`restore`, `shell`/`exec`/`down`/`start`/`rm`/`status`. - `cloud-init/user-data.yaml` — base install + the global self-describing `CLAUDE.md`. - `install.sh` — curl-pipe-bash installer. - `host/` — the Incus isolation stack (`claudenet` + `claude-isolate` ACL + `claude-dev` profile + host firewall) and teardown. - `docs/claudebox-design.md`, `docs/claudebox-recipe.md` — design rationale + the `.claudebox/` convention. ## Notes - This was prototyped in a separately-created repo (now abandoned) and re-homed here onto the fork of the org repo, so it lands as a single import commit on top of the initial `Create README.md`. - **Not yet verified on a live Incus host** — the launch/copy/snapshot flow, in-box `/login`, and cloud-init need a real host run before trusting them. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: heavy-duty/box#1
No description provided.