Skip to content

Mount profile dir with --add-dir, simplify skills#11

Merged
ludamad merged 10 commits intomainfrom
add-dir-profiles
Mar 9, 2026
Merged

Mount profile dir with --add-dir, simplify skills#11
ludamad merged 10 commits intomainfrom
add-dir-profiles

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Mar 9, 2026

Summary

  • Mount each profile's directory into both containers at /opt/claudebox-profile:rw
  • Pass --add-dir /opt/claudebox-profile to Claude CLI so it sees the profile's CLAUDE.md natively
  • Rename container-claude.mdCLAUDE.md in all 5 profiles
  • Entrypoint writes only session metadata to /workspace/.claude/CLAUDE.md (no more copying the full prompt)
  • create_skill writes directly to the profile dir instead of creating a git branch + PR
  • Delete Dockerfile — containers use upstream devbox image directly
  • Drop Docker image build step from security CI (test uses ubuntu:latest)

Test plan

  • All 89 integration tests pass
  • Deploy and verify Claude sessions pick up profile CLAUDE.md via --add-dir
  • Test create_skill writes to profile dir and persists across sessions

🤖 Generated with Claude Code

AztecBot and others added 5 commits March 9, 2026 05:02
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Dockerfile just re-tagged aztecprotocol/devbox:3.0 with UID remapping
and git config. These are now handled at runtime by docker.ts (--user flag,
GIT_* env vars). No custom image build needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- docker.ts: mount profiles/<name> at /opt/claudebox-profile:rw in Claude container
- docker.ts: pass CLAUDEBOX_PROFILE env to Claude container
- container-entrypoint.sh: --add-dir /opt/claudebox-profile gives Claude access
- container-entrypoint.sh: source CLAUDE.md from profile mount first

Claude sessions can now read and modify their profile (add skills, update
container-claude.md, etc.) and changes persist across sessions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Profile dirs now have CLAUDE.md (loaded by Claude via --add-dir).
Entrypoint writes only session metadata to /workspace/.claude/CLAUDE.md
instead of copying the whole profile prompt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Skills now saved to /opt/claudebox-profile/.claude/skills/ (persists on host)
- Sidecar also gets profile dir mounted rw
- Removed git/PR machinery from create_skill — no GitHub access needed
- Cleaned up unused imports (pushToRemote, addTrackedPR, git, sanitizeError)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AztecBot AztecBot changed the base branch from remove-aztec-folder to main March 9, 2026 05:30
AztecBot and others added 5 commits March 9, 2026 05:30
create_skill writes to the profile dir only (no PR machinery).
claudebox-dev CLAUDE.md now documents the full pattern for improving
profiles: edit live profile dir for immediate effect, copy to workspace
clone and PR for version control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- create_skill removed — skills are just files in the profile dir,
  create them via create_pr in the claudebox-dev profile
- TOOL_LIST removed from all sidecars — Claude discovers tools via MCP
  protocol, no need for a manually maintained string
- get_context no longer returns tools list
- Cleaned up all CLAUDE.md references to create_skill

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
#	packages/libclaudebox/mcp/tools.ts
#	profiles/barretenberg-audit/CLAUDE.md
#	profiles/barretenberg-audit/mcp-sidecar.ts
#	profiles/claudebox-dev/mcp-sidecar.ts
#	profiles/default/CLAUDE.md
#	profiles/default/mcp-sidecar.ts
#	profiles/test/mcp-sidecar.ts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ludamad ludamad merged commit 0660508 into main Mar 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants