How to use Claude to build a multi-repo Git CLI
Claude, Codex and Gemini helped build GWZ, a multi-repository workspace tool with familiar Git-style commands, recoverable state and an embeddable Rust core.
Prompt to try
Editorial adaptation, not the source author’s exact prompt. Replace bracketed inputs and review tool permissions first.
Build [multi-repository workspace tool] with commands resembling Git. Keep member repositories ordinary, store recoverable workspace snapshots in [root repository], and separate [Rust core] from the CLI using a typed protocol. Iterate with my feedback and validate the protocol from [second language].
Reach people exploring AI agents
See placements →What happened
The author calls GWZ their daily go-to tool and reports 764 tests with roughly 82% line coverage, while noting rough UX edges and a changing pre-1.0 protocol.
Reported by owebeeone on Hacker NewsHow the agent did it
- Asked Claude, Codex and Gemini to build a Git-like workspace tool.
- Iterated through many rounds to improve the product.
- Split the Rust implementation into a CLI and typed core crate.
Where a person stepped in
The author directed repeated iterations and uses the Rust CLI daily; they state they cannot yet write Rust.
A person approved each step before the agent continued.
The GWZ author wanted several repositories to feel like a monorepo when convenient while remaining ordinary Git repositories. Their experience with submodules involved detached HEADs and tedious commit management, and other tools carried unwanted baggage. They asked Claude, Codex and Gemini to build a tool resembling Git, then worked through many rounds before reaching a result they liked.
GWZ keeps workspace snapshots and commit markers in the root repository so workspace state can be recovered. Its commands include status, diff, add, pull, push, commit and stash, with roles similar to their Git counterparts. Additional commands manage member repositories, and a forall command runs operations across selected members. Members are excluded from the root repository's Git tracking.
Because another Rust project needed repository management, the implementation was divided into a CLI and an embeddable core crate with a typed protocol. A Python CLI began as a validation harness for that protocol. The author reports 764 tests and roughly 82% line coverage across the projects, uses the Rust CLI daily, and acknowledges rough UX edges and pre-1.0 changes. Who it's for: developers coordinating multiple repositories who want familiar Git-style operations.
Prompt
Suggested prompt (written by Agents In Use, not the author's)
Source: Hacker News · owebeeone
Frequently asked questions
Why was the implementation split into two parts?
Another Rust project needed repository management, so GWZ was divided into a CLI and an embeddable core crate connected by a typed protocol.
What limitations does the author report?
The source notes rough UX edges, a pre-1.0 protocol and command surface that may change, and less daily use of the Python CLI, which the author suspects may have bugs.
More details
Remaining steps
- Used a Python CLI as a second-language protocol validation harness.
- Adopted the Rust CLI for daily repository work.
About this account
Three coding agents produced the tool through repeated rounds and introduced features including JSON and JSONL output.
Platform: Hacker News. Attribution: https://news.ycombinator.com/item?id=48915923. Prompt: Suggested (written by Agents In Use, not the author's). Sourced by the Agents In Use pipeline.
Credit: owebeeone on Hacker News
Source published 15 Jul 2026
Source checked 14 Oct 2026
Tools and topics
Claude · Codex · Gemini · GWZ · Git · Rust · Python
Git · Multi-repo · Rust
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.