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.