Member-only story
Rust Is Building Its Own Git Infrastructure. Meet Josh.
The Rust Project isn’t just a compiler. It’s a constellation of tools, Cargo, Clippy, rustfmt, Rust Analyzer, Miri, and more, each living in its own repository, each needing to stay in sync with the core rust-lang/rust repo. That’s a problem most large open-source projects quietly struggle with. Rust’s answer is a tool called Josh, and understanding why it exists tells you a lot about what happens when a project outgrows ordinary Git workflows.
The Problem: One Project, Many Repositories
rust-lang/rust is, conceptually, already a monorepo. It holds the compiler, the standard library, rustdoc, and a long list of other pieces. But several closely related tools, Miri, Rust Analyzer, compiler-builtins, and stdarch among them, live in their own separate repositories outside it.
That split creates real friction. According to the Rust blog, making an internal breaking change in rust-lang/rust that a subproject depends on isn’t a single step. It typically means merging the breaking…








