A commitlint implementation in Rust.
It's a project to learn Rust, so don't expect production ready code. If anybody has suggestions to make it better, please feel free to open an issue or a PR!
Features:
- 🎚️ Configurable
- 🚀 Blazing fast because
- 🦀 Written in Rust
cargo install commitguard
echo "feat(myscope): add new feature" | commitguard
- Configuration system
- Implement more rules (see commitlint rules or gitlint)
- Implement unit tests for rules
- Allow multiple lines in footer and parse references (like original commitlint)
- Use and parse CLI args (probably with Clap)
- Publish on npm and publish binaries for different platforms (maybe also in package managers like Homebrew)
- Dogfood it to lint our own commit messages
- Add website (probably Github pages) and add links to rule details
- Add devcontainer for easier getting started in VSCode
- Benchmark against original commitlint
- Migration docs from original commitlint to commitguard
- Allow 3rd party rules? Maybe WASM?
- Allow custom parsing?