Create conventional compliant commits at ease.
Automatic Version bump and changelog
Automatically bump version and generate changelog with your own custom steps and workflows.
Your branching model requires different steps for releases, prerelease, hotfix ? We got you covered !
Depends only on libgit2
Cocogitto has two standalone binary, the only system dependency is libgit2.
Conventional git log
Search your commit history matching conventional commit items such as scope and commit type.
Enforce conventional commits via github actions
Check your commit compliance on every push to the remote and create release from your CI pipeline or using our Github bot.
Cocogitto is available on crates.io :
cargo install cocogitto
pacman -S cocogitto
nix-env -iA nixos.cocogitto
Before getting started you might want to install shell completions (Note that this is not needed for the official archlinux package). Supported shells are
Example installing completions:
# Bash cog generate-completions bash > ~/.local/share/bash-completion/completions/cog # Bash (macOS/Homebrew) cog generate-completions bash > $(brew --prefix)/etc/bash_completion.d/cog.bash-completion # Fish mkdir -p ~/.config/fish/completions cog generate-completions fish > ~/.config/fish/completions/cog.fish # Zsh cog generate-completions zsh > ~/.zfunc/_cog
Cocogitto comes with a single binary named
--help to display options and usage about a specific subcommand :
cog --help cog changelog --help # And so on...
Note that if you do not care about automatic release, changelog generation and just want to create conventional commit message you can jump to the conventional commits section.
cog commit is primarily meant to be used as a replacement for the
git commit command. It will produce commits with messages respecting the conventional commits specification with little effort.
# With git commit git commit -m "feat: implement the parser specification" # With cocogitto cog commit feat "implement the parser specification"
cog commit while working on a project using conventional commits is less verbose than good old git cli and prevent typos and common mistake when writing conventional commit messages.
See User guide -> Conventional commits for more information.
While local commit are made with the
cog commit command, other
cog subcommands are meant to manage your repository both locally and in a CI context. For an in depth guide on how to use it see User guide.
Anything you can do with
cog can be done in your CI pipeline with cocogitto-action.
See Github integration -> GitHub action for more info.
To help your contributors respect the specification cocogitto-bot can decorate your PR with conventional commits status checks.
See Github integration -> GitHub bot for more info.