- Rust 99.4%
- Nix 0.6%
- add `.rustfmt.toml` to gitignore - update devenv, nixpkgs, rust-overlay, and treefmt-nix dependencies - switch crate2nix source from nix-community to rossng fork - remove trailing blank line in devenv.yaml - update nix reference from devenv-2.32 to devenv-2.34 |
||
|---|---|---|
| devenv | ||
| docs | ||
| locales | ||
| src | ||
| tests | ||
| .cocoa.toml | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| devenv.lock | ||
| devenv.nix | ||
| devenv.yaml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
cocoa
hi! i'm cocoa, the conventional commit assistant! ^u^
i can help you write conventional commits, generate beautiful changelogs, manage your versioning scheme, and even write commit messages for you!
what can i do?
- interactive commits: a cozy TUI that walks you through crafting a perfect commit
- AI-powered generation: let me read your staged changes and write the commit message for you
- commit linting: catch bad commit messages before they sneak into your history
- changelog generation: auto-generate release notes from your commits, beautifully
- version management: automatically bump versions based on what your commits say
- git hooks: let me validate or generate commits automatically as part of your workflow
- CI/CD support: i work great in GitHub Actions, GitLab CI, and more!
quick start
install
take your pick:
nix profile install github:muni-corn/cocoa
cargo install cocoa
or grab a pre-built binary from GitHub Releases!
set up your project
cocoa init
this interactive wizard sets up a .cocoa.toml in your project root. you can also write it manually
if you prefer. see the configuration guide for help with that.
make your first commit
git add .
cocoa commit
i'll guide you through picking a type, scope, subject, and any optional details. the result is a clean, conventional commit every time!
or let me write it for you
git add .
cocoa generate
you can set up AI providers to use this feature!
lint your commits
lint the most recent commit:
cocoa lint
lint a range of commits:
cocoa lint HEAD~5...HEAD
release a new version
cocoa bump auto
# or
cocoa release
i'll read your commits, figure out the right version bump, update your version files, generate a changelog, and create a git tag. all in one command!
installation
| method | command |
|---|---|
| cargo | cargo install cocoa |
| pre-built binary | GitHub Releases |
| from source | devenv build or cargo build --release |
see the installation guide for full details, including verifying your installation and updating it.
documentation
the full user guide lives in docs/user-guide/:
- quick start: get up and running
- installation: all install methods
- creating commits: interactive and generated commits
- linting commits: validation and team rules
- changelogs: auto-generate release notes
- versioning: bump versions and create tags
- configuration: customize everything
- AI providers: set up commit generation
- git hooks: automate validation
- CI/CD integration: integrate with CI and CD
- troubleshooting: if things go sideways
license
cocoa is licensed under GPL-3.0-or-later.