Skip to content

Cocogitto

The conventional commit toolbox

Cocogitto logo

Installation ​

Cargo ​

Cocogitto is available on crates.io :

shell
cargo install cocogitto

Archlinux ​

shell
pacman -S cocogitto

Nixos ​

shell
nix-env -iA nixos.cocogitto

Void Linux ​

shell
xbps-install cocogitto

MacOS ​

shell
brew install cocogitto

Windows ​

shell
choco install cocogitto

Shell completions ​

Before getting started you might want to install shell completions (Note that this is not needed for the official archlinux package). Supported shells are bash, elvish, fish and zsh.

Example installing completions:

sh
# Bash
cog generate-completions bash > ~/.local/share/bash-completion/completions/cog.bash-completion

# 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

Introduction ​

Cocogitto comes with a single binary named cog.

Use the --help to display options and usage about a specific subcommand :

shell
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 a conventional commit message you can jump to the conventional commits section.

Conventional commits ​

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.

Example :

sh
# With git commit
git commit -m "feat: implement the parser specification"

# With cocogitto
cog commit feat "implement the parser specification"

Using 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.

Repository management ​

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.

GitHub integration ​

GitHub Action ​

Anything you can do with cog can be done in your CI pipeline with cocogitto-action.

See GitHub integration -> GitHub action for more info.

GitHub Bot ​

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.

Docker ​

There is a docker image for cog available ghcr.io/cocogitto/latest See Docker for more info.