add-dep
Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.
Pull an untrusted repo into an ephemeral, host-FS-isolated Docker container — clone into a named volume, build a dep-cached image, run under structural isolation. Network defaults to offline. Requires Docker and nixpacks.
> /plugin marketplace add arbiterForge/codeArbiterHow it fires
How this command gets triggered: by you, by Claude, or both.
/sandboxContext preview
What this command does when you run it.
Pull an untrusted repo into an ephemeral, host-FS-isolated Docker container — clone into a named volume, build a dep-cached image, run under structural isolation. Network defaults to offline. Requires Docker and nixpacks.
description: Pull an untrusted repo into an ephemeral, host-FS-isolated Docker container — clone into a named volume, build a dep-cached image, run under structural isolation. Network defaults to offline. Requires Docker and nixpacks. argument-hint: "<repo url> [--network offline|clone-then-cut|allowlist] [--with-claude] [--keep-volume]"
The entry point to a local Codespace equivalent. Give it a repo you're curious about and it clones the code into a docker **named volume** (never onto your host filesystem), builds a dependency-cached image, and starts an isolated container you can explore. The box is ephemeral and the host is never exposed: no bind mount, no docker socket, never `--privileged`.
The repo runs under structural isolation built by construction, not by trust — `--cap-drop ALL`, non-root, read-only root, `--security-opt no-new-privileges`, the live source volume mounted ONLY at `/work/repo`, deps baked out of tree at `/deps`. Network defaults to `offline`; `clone-then-cut` fetches deps at build then cuts egress; `allowlist` is EXPERIMENTAL (IP-based, brittle on CDN drift — prefer offline or clone-then-cut). `--with-claude` runs Claude Code inside the box under hardened defaults and is handled by a separate, gated routine.
1. **Pre-flight** — confirm Docker (`docker info`) and nixpacks are on `PATH`, and a repo URL was given. STOP and report the gap if either is missing. 2. **Clone & build** — clone into a named volume at `/work/repo`; build via nixpacks with deps relocated to `/deps`; tag `ca-sbx:<repo>-<dephash>`. An unchanged dep set is a cache hit (no rebuild); a manifest/lockfile change rebuilds. 3. **Isolated run** — start the container through the driver's `runContainer` with the full isolation set and the chosen network policy. `docker inspect` confirms no bind, no docker socket, not `Privileged`. 4. **Report the box id** — print the sandbox id and the interaction commands (`/ca-sandbox:sandbox-shell`, `-exec`, `-cp`, `-destroy`).
`sandbox-lifecycle` (`${CLAUDE_PLUGIN_ROOT}/skills/sandbox-lifecycle/SKILL.md`) — Phases 1–3 (pre-flight, clone & build, isolated run). When `--with-claude` is set, it routes onward to `sandbox-claude-inside` (`${CLAUDE_PLUGIN_ROOT}/skills/sandbox-claude-inside/SKILL.md`) for the hardened token path.
`/ca-sandbox:sandbox-cp`.
code in throwaway isolation, not a general devcontainer manager.
`docker inspect` MUST show no `"Type":"bind"` mount, no docker-socket mount, and not `Privileged:true`.
volume over the app dir.
hand-rolled `docker run`.
the token volume with an untrusted-code run.
When you can't trust yourself with your code base, trust Arbiter.
Repo: arbiterForge/codeArbiter
Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.
Report the health of Architecture Decision Records — aged, unchallenged, supersession candidates, unresolved CONFIRM-NN. Read-only.
Author a numbered, dated, user-attributed Architecture Decision Record under .codearbiter/decisions/.
Assemble the governance record for a range — commits, overrides, ADRs, sprint auto-decisions, open questions, checkpoint findings — into one dated audit…
Lightweight Q&A about the project — answer from context and return, no routing, no state change.
Periodic multi-reviewer sweep of the whole codebase — surfaces a triaged checkpoint report.