diff --git a/.planning/seeds/SEED-004-mount-real-claude-dir.md b/.planning/seeds/SEED-004-mount-real-claude-dir.md new file mode 100644 index 0000000..360a52c --- /dev/null +++ b/.planning/seeds/SEED-004-mount-real-claude-dir.md @@ -0,0 +1,52 @@ +--- +id: SEED-004 +status: dormant +planted: 2026-04-09 +planted_during: v1.0 Phase 03 +trigger_when: Next milestone +scope: Small +--- + +# SEED-004: Mount real ~/.claude read-write instead of maintaining separate ~/.claudebox + +## Why This Matters + +Zero-config sandbox plus session sharing. Users wouldn't need to maintain a separate +`~/.claudebox` config — their existing Claude Code setup (hooks, plugins, MCP servers, +settings) transfers automatically. More importantly, sessions started outside claudebox +can be picked up inside it and vice versa. + +## When to Surface + +**Trigger:** Next milestone + +This seed should be presented during `/gsd-new-milestone` when the milestone +scope matches any of these conditions: +- Config/profile management is being revisited +- Session portability or multi-environment usage is in scope +- The `~/.claudebox` vs `~/.claude` separation is causing friction + +## Scope Estimate + +**Small** — the mount change itself is one line (`--bind ~/.claude ~/.claude` instead +of `--bind ~/.claudebox ~/.claudebox`), but the implications need thinking through: +- SANDBOX.md and CLAUDE.md management would write to the real `~/.claude/` +- Need to decide if claudebox-specific files (SANDBOX.md) pollute the host config +- Auth tokens in `~/.claude/` become visible inside the sandbox (already needed for Claude to work) +- The symlink trick (SEED current state: `~/.claudebox` real + `~/.claude` symlink) may be sufficient + +## Breadcrumbs + +- `claudebox.sh:317-318` — current mount: `--bind ~/.claudebox ~/.claudebox` + `--symlink ~/.claudebox ~/.claude` +- `claudebox.sh:102` — `mkdir -p ~/.claudebox` +- `claudebox.sh:107-153` — SANDBOX.md + CLAUDE.md management writes to `~/.claudebox/` +- `.planning/phases/03-sandbox-aware-prompting/03-CONTEXT.md` — D-01 two-file architecture decision +- `.planning/phases/01-minimal-viable-sandbox/01-CONTEXT.md` — original mount structure decision + +## Notes + +Current state after phase 3: `~/.claudebox` is bind-mounted as itself, `~/.claude` is a +symlink to it. This already fixes hook path resolution. The question is whether to go +further and just use the real `~/.claude` directly — eliminating the separate directory +entirely. Trade-off: simplicity vs isolation of claudebox-specific files from the host +Claude Code config.