A bun workspace: the sbx-sandbox library, the agent-runner / catalog / bench layers built on it, and runnable examples.
| Path | What |
|---|---|
packages/sbx-sandbox |
The sandbox library — a drop-in @vercel/sandbox-compatible SDK backed by the sbx CLI (Docker Sandboxes) or local Docker. |
packages/agent-runner |
Run a Claude Code agent task via ai + ai-sdk-provider-claude-code, optionally jailed in an sbx sandbox, with guaranteed cleanup. |
packages/catalog |
Declare user profiles, stacks, and app specs/prompts in YAML; compose into agent tasks. |
packages/bench |
Run the catalog matrix (subset + resume) via agent-runner, measure each app (build/tsc/eslint, browser smoke, optional LLM judge), and emit an HTML report — exposed as the bench CLI. |
examples/ |
Runnable demos: ai-agent (lib + ai SDK) and agent-runner (jailed agent run). |
ANALYSIS.md |
The agent-runner refactor analysis + the provider limitations it surfaced. |
bun install # one install at the root; links the workspace
bun run build # builds packages/* → dist (delegates via --filter)
bun run test # the sandbox library's vitest suite (Docker + fake-sbx)
bun run typecheckRequires Bun and either the sbx CLI or Docker. Per-package details live in each package's README.
bun run bench -- --help # all options
bun run bench -- --dry-run # show the matrix the filters select
bun run bench -- --jail --stacks vike-manual --profiles dev # one cell, jailed in sbx
bun run bench -- --jail --resume missing # continue an interrupted run
bun run bench -- --report-only # regenerate the HTML report from saved recordsDeclare your own profiles / stacks / specs in YAML and pass --config <dir> (format in packages/catalog). Records land in results/<spec>/, the report at results/<spec>.html. Full reference: packages/bench.