Expand description
Re-exports§
pub use error::Error;
Modules§
- app
- Application: the thin coordinator. Follows the Logic Sandwich pattern, reading from the repository, transforming with pure logic, and reading again for numstats, then rendering. It owns no business rules of its own.
- cli
- error
- The library’s typed error. Callers can match on named variants; the binary
(
main.rs) wraps this inanyhow, following the convention that libraries usethiserrorand only binaries reach foranyhow. - logic
- Pure logic: filtering, aggregation, sorting, and rendering. No I/O and no gix dependency, so every function here is directly unit- and property-testable.
- model
- Value objects: plain data passed between the pure logic and the gix infrastructure. Nothing here performs I/O or depends on gix.
- repo
- Infrastructure: the only module that talks to gix and the filesystem.