No description
  • Rust 99.5%
  • Nix 0.5%
Find a file
2026-06-16 17:02:39 -07:00
devenv refactor(devenv): remove explicit pass_filenames configuration 2026-03-23 15:33:20 -06:00
docs docs(notes): add lockfile-handlers design rationale 2026-05-25 16:37:56 -06:00
locales docs: standardize punctuation in comments and messages 2026-03-24 16:54:42 -06:00
src feat(release): expose Vec<UpdatedFile> in ReleaseOutcome 2026-05-25 16:35:56 -06:00
tests feat(release): expose Vec<UpdatedFile> in ReleaseOutcome 2026-05-25 16:35:56 -06:00
.cocoa.toml chore: simplify cocoa.toml configuration 2026-05-25 14:24:27 -06:00
.gitignore chore: update flake dependencies and add rustfmt config to gitignore 2026-04-14 22:41:46 -06:00
Cargo.lock chore(release): bump version to v0.3.0 2026-06-16 17:02:39 -07:00
Cargo.toml chore(release): bump version to v0.3.0 2026-06-16 17:02:39 -07:00
CHANGELOG.md chore(release): bump version to v0.3.0 2026-06-16 17:02:39 -07:00
devenv.lock chore: update flake dependencies 2026-05-25 14:14:58 -06:00
devenv.nix refactor(devenv): simplify development environment configuration 2026-03-26 21:37:57 -06:00
devenv.yaml chore: update flake dependencies and add rustfmt config to gitignore 2026-04-14 22:41:46 -06:00
flake.lock chore: update flake dependencies 2026-05-25 14:14:58 -06:00
flake.nix chore: move to devenv-first setup for development environment 2026-03-16 10:22:50 -06:00
LICENSE chore: add LICENSE 2026-03-20 13:11:35 -06:00
README.md docs: simplify README description 2026-03-21 22:03:48 -06:00

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/:

license

cocoa is licensed under GPL-3.0-or-later.