Herostratus n. 1. An ancient Greek known for seeking fame through crime and destruction. 2. A Git repository achievements engine.
Inspired by https://github.com/someteam/acha.
git clone git@github.com:Notgnoshi/herostratus.git
cd herostratus
cargo run --release -- check .
cargo run --release -- check . origin/test/fixupThe check subcommand is stateless. It reads/writes no configuration, and can not fetch from the
upstream remote. Read on for stateful configuration that enables running and re-running Herostratus
on a group of repositories.
Tip
--release builds are recommended for significantly better performance!
The following example configures Herostratus to run on its own test/simple and test/fixup branches.
# Configure Herostratus to track two branches of its own repository
$ herostratus add git@github.com:Notgnoshi/herostratus.git test/simple
$ herostratus add git@github.com:Notgnoshi/herostratus.git test/fixup
# Check all configured branches for achievements
$ herostratus check-all
# Generate a static HTML site with the granted achievements
$ herostratus render
$ xdg-open ./public/index.htmlThese commands write their configuration and clone Git repositories to ~/.local/share/herostratus/
by default. See herostratus --help for more options.
See RULES.md for a list of achievements.
See CONTRIBUTING.md and quickstart.md, as well as the ARCHITECTURE.md.
| Name | # Commits | # Achievements | Time | Time per commit |
|---|---|---|---|---|
| git | 80620 | 177 | 34.80s | 431.64µs |
| herostratus | 463 | 3 | 69.98ms | 151.14µs |