No description
  • Rust 99.2%
  • Jinja 0.4%
  • Nix 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
municorn b4abd0de9d
chore(deps): update flake and devenv lock files
- Bump cocoa, devenv, musicaloft-shell, and rust-overlay in devenv.lock
- Update devenv, flake-parts, git-hooks.nix, nix, nixd, devenv-nixpkgs,
  nixpkgs-src, rust-overlay, and treefmt-nix in flake.lock
- Pull in upstream fixes and newer package versions to keep the dev
  environment current
2026-10-28 10:37:59 -06:00
devenv fix(devenv): point cocoa input at the hook tools attribute 2026-10-25 20:43:27 -06:00
docs docs(changelog): document formats, templates, and range usage 2026-10-27 14:19:11 -06:00
locales fix(release): clarify tag exists hint message 2026-10-25 20:43:49 -06:00
src refactor(changelog): render html with a built-in template 2026-10-27 13:53:58 -06:00
tests test(release): cover stale tags and empty releases 2026-10-25 16:14:30 -06:00
.cocoa.toml chore: simplify cocoa.toml configuration 2026-05-25 14:24:27 -06:00
.gitignore chore(config): ignore tombi.toml in gitignore 2026-10-25 13:57:52 -06:00
Cargo.lock chore(release): bump version to v0.6.0 2026-10-27 14:33:08 -06:00
Cargo.toml chore(release): bump version to v0.6.0 2026-10-27 14:33:08 -06:00
CHANGELOG.md chore(release): bump version to v0.6.0 2026-10-27 14:33:08 -06:00
devenv.lock chore(deps): update flake and devenv lock files 2026-10-28 10:37:59 -06:00
devenv.nix build(devenv): register jinja as an extra file type 2026-10-27 15:07:42 -06:00
devenv.yaml build(devenv): switch build system to crane 2026-10-21 17:17:44 -06:00
flake.lock chore(deps): update flake and devenv lock files 2026-10-28 10:37:59 -06:00
flake.nix chore: update inputs and lock files for devenv and flake 2026-10-21 17:25:11 -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.