claudebox/.planning/seeds/SEED-004-mount-real-claude-dir.md

52 lines
2.2 KiB
Markdown

---
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.