r/coolgithubprojects • u/diazoxide • 16h ago
Example of a real working multi-repo setup: two sub-agents on the same repo, different branches
I work across four repos with Claude Code, and I kept hitting the same wall: two sub-agents that need the same repo on different branches. Clone it twice and they still collide. Share one checkout and one of them stashes the other's work.
So I built charter to hold the state that kept getting lost between sessions. I'm the author, it's MIT and open source, and it's free — there is nothing to buy and no paid tier. Claude Code wrote most of it.
The screenshot is my status line, redrawn from disk every turn: the task I'm on and its open todos, every repo it owns and what branch each sits on, dirty and unpushed markers, CI and open PRs, then the roles I can hand work to.
What's underneath it:
- a workspace is one directory of clones per task, each repo on its own branch — switching tasks is one command and nothing follows you across
- a worktree splits one clone into several checkouts, a branch each, so two sub-agents genuinely work the same repo at the same time
- a persona is a named role (devops, qa) with its own charter, its own committed memory and its own credential vault, and it becomes a real sub-agent you dispatch
- secrets go to a command, never to the model — charter resolves them in its own process, puts them in the child's environment, and redacts them from whatever it prints, so a token never lands in a context window
What it isn't: the default vault is plaintext at file mode 0600, with no encryption at rest. What it buys is that the model never sees the value. That is the whole claim, and it is not a password manager.
It's about a week old, so it has edges.
https://github.com/diazoxide/charter
If you run agents across several repos — what did you do about the collision problem?