cd /news/developer-tools/claude-code-managing-multi-repo-work… · home topics developer-tools article
[ARTICLE · art-73381] src=promptcube3.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Claude Code: Managing Multi-Repo Workspaces

Developer RiccardoCereghino built facet, a Go CLI tool that creates disposable, terminal-based workspaces for LLM agents like Claude Code to manage multi-repo projects. The tool spawns a workspace from a GitHub issue, clones required repositories, writes a CLAUDE.md for context injection, tracks the issue as "In progress," and deletes the entire workspace after the PR is merged. Cereghino learned to avoid session managers like zellij and always require human confirmation for AI-inferred repository scope.

read2 min views1 publishedJul 25, 2026
Claude Code: Managing Multi-Repo Workspaces
Image: Promptcube3 (auto-discovered)

To solve this, I built a tool called facet. The core idea is to create disposable, terminal-based workspaces similar to VS Code workspaces, but designed specifically for LLM agents.

The Workspace Architecture #

A facet workspace is a directory containing checkouts of one or more repositories defined by a manifest. The workflow follows a strict lifecycle:

  1. Initialization: You spawn a workspace from a GitHub issue.

  2. Context Injection: The tool identifies the required repos, clones them, and writes a CLAUDE.md

file based on the issue body. This ensures the agent has immediate context without manual prompting.

  1. Tracking: The issue is automatically moved to "In progress" on the project board.

  2. Cleanup: Once the PR is merged, the entire workspace is deleted.

Technical Implementation & Lessons #

I initially tried to integrate zellij for session management, but it was a disaster. I ended up with nameless Claude sessions and no way to reattach after crashes, resulting in lost work and 1,500 lines of deleted code. I learned that the integration needs to be leaner and more explicit.

One specific challenge was determining which repositories were "in scope" for a given issue. I found that GitHub labels are too ambiguous for this. Instead, facet infers the repo set from form fields and cross-references, but it always presents this guess for manual confirmation. Never trust the AI's inference silently; always require a human check.

The tool is a small Go CLI, and interestingly, much of the hardening was done by Claude Code agents themselves. I fed them the issue backlog, they wrote the fixes, and I merged them. This created a tight feedback loop where the agent helped build the very environment it needed to be productive.

For those looking for a deep dive into the implementation, the source is available here:

https://github.com/RiccardoCereghino/facet

Next MCP Security: What to Check in Your mcp.json →

── more in #developer-tools 4 stories · sorted by recency
── more on @riccardocereghino 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/claude-code-managing…] indexed:0 read:2min 2026-07-25 ·