44 lines
2.1 KiB
Markdown
44 lines
2.1 KiB
Markdown
---
|
|
id: SEED-001
|
|
status: dormant
|
|
planted: 2026-04-09
|
|
planted_during: v1.0 / Phase 1
|
|
trigger_when: v2.0 milestone
|
|
scope: Large
|
|
---
|
|
|
|
# SEED-001: Make claudebox agent-agnostic
|
|
|
|
## Why This Matters
|
|
|
|
claudebox currently hardcodes Claude Code as the sandboxed agent. But the bwrap sandbox pattern (clearenv, filesystem isolation, secret hiding, tool provisioning) is equally useful for other AI coding agents — Codex, Gemini CLI, OpenRouter-based tools, etc. Making the sandbox agent-agnostic turns claudebox from a single-tool wrapper into a general-purpose AI sandbox that works with whatever agent the user prefers.
|
|
|
|
## When to Surface
|
|
|
|
**Trigger:** v2.0 milestone — when starting the next major version after the Claude-specific sandbox is stable and proven.
|
|
|
|
This seed should be presented during `/gsd-new-milestone` when the milestone scope matches any of these conditions:
|
|
- Multi-agent or agent-agnostic support is discussed
|
|
- v2.0 planning begins
|
|
- User wants to support additional AI coding tools
|
|
|
|
## Scope Estimate
|
|
|
|
**Large** — full milestone. Requires rethinking the command structure (agent selection via flag or config), agent-specific env var allowlists, agent-specific binary resolution, and potentially different bwrap mount profiles per agent (e.g., Codex may need different paths than Claude).
|
|
|
|
## Breadcrumbs
|
|
|
|
Related code and decisions in the current codebase:
|
|
|
|
- `claudebox.sh` — `CLAUDE_BIN` resolution and `--dangerously-skip-permissions` are Claude-specific
|
|
- `flake.nix` — `claude-code` is a hardcoded runtimeInput via `nix-claude-code` flake
|
|
- `.planning/phases/01-minimal-viable-sandbox/01-01-PLAN.md` — threat model assumes Claude Code specifically
|
|
- `CLAUDEBOX_EXTRA_ENV` escape hatch already provides a pattern for agent-specific env needs
|
|
|
|
## Notes
|
|
|
|
Key design questions for v2.0:
|
|
- Should agents be selectable via `claudebox --agent codex` or via config file?
|
|
- Should each agent have its own env allowlist profile?
|
|
- Rename from "claudebox" to something agent-neutral? (breaking change)
|
|
- The `--dangerously-skip-permissions` flag is Claude-specific — other agents have different permission models
|