From commit to release. One tool for conventional commits, versioning, changelog, and git hooks management.
git-std replaces commitizen, commitlint, standard-version,
husky, and lefthook with a single binary. Fast, low memory
footprint, zero runtime dependencies. Works out of the box
with sensible defaults, which can be overridden with a
.git-std.toml.
Invoked as git std via git's subcommand discovery.
Install script (recommended):
curl -fsSL https://raw.githubusercontent.com/driftsys/git-std/main/install.sh | bashFrom source:
cargo install git-stdgit std hooks install # set up hooks
git add .
git std commit # interactive commit
git std check --range main..HEAD # validate commits
git std changelog --stdout # preview changelog
git std bump # bump + changelog + tag
git push --follow-tagsSee the CLI usage guide for all subcommands, flags, and configuration options.
git-std is built on four independent library crates, each
published separately on crates.io. The libraries
implement domain logic only — no CLI, no git operations, no
terminal output.
| Crate | Description |
|---|---|
| standard-commit | Conventional commit parsing, linting, formatting |
| standard-version | Version bump (semver + calver), file detection |
| standard-changelog | Changelog generation from conventional commits |
| standard-githooks | Hook file format parsing, shim generation |
MIT
- User guide (mdbook)
- CLI usage
- Specification
- API docs (docs.rs)