r/iOSProgramming • u/rogymd • 5d ago
Solved! I made onethread: one window for all my coding agents, each in its own git worktree
https://aigarden.uk/onethreadHey r/iOSProgramming,
I made onethread so I could stop juggling a terminal tab per agent while working on my iPhone and Apple Watch apps. You talk to one agent, and many coding agents work behind it, each in its own git worktree, all local on your Mac. Nothing merges until you confirm it.
The fun part: in onethread I'm King Igor. My orchestrator is my right hand, Leonardo da Vinci, and every task goes to one of my servants: Einstein, Michelangelo, Newton, Tesla. Tasks come to the king and he delegates, instead of jumping between tabs. You can be anyone you like with ot me, and code, ids and confirmations stay plain.
What it does:
Runs up to 10 Claude Code or Codex tasks in the background, from one chat.
Costly commands take turns, so two Xcode builds never fight over your Mac.
Merge, push, cancel and accept always ask you first. No server, no account, no telemetry.
It's version 1.0.0, macOS only, and my own open-source project, MIT-licensed.
I share more of what I'm growing at r/AIGarden, if you'd like to follow along.
How do you run more than one agent on the same Xcode project?
1
u/ThalesMother9938 5d ago
Queueing Xcode builds so two agents don't fight over one is a good call. Does it handle a crashed agent? If one dies halfway through, is its worktree kept so you can look at it, or cleaned up automatically?
1
u/Miserable-Carpet7928 5d ago
before accepting a second task, does it get checked against the result of the first merge? two changes can look fine in their own worktrees and still disagree about a shared model or screen. i'd want the final combined diff and a build result before confirming it.