Skip to content

Explanation

Background and reasoning. Nothing here is needed to use the crate; it is here so that when the crate behaves in a way you did not expect, you can tell whether that is a decision or a defect.

Page Question it answers
Why release providers and git operations share one crate What the two slices are, and why they are not two crates
Why backends register themselves at link time What linkme buys, and what it costs
Why the write paths shell out to git Where the "pure Rust git" claim stops being true
What rtb-forge does not do The limits, stated as limits

Where the design decisions are recorded

The original design records live in the rust-tool-base monorepo as point-in-time specs. They are not documentation and they are not maintained alongside the code — where a spec and this crate disagree, the crate is right. These pages restate the reasoning in their own words so you do not have to read a spec to understand the code.