coco
, the Commit Copilot, transcends being merely a robotic scribe for crafting git commit messages. Leveraging the capabilities of LangChain🦜🔗 and LLMs, coco
is committed to providing a suite of insightful tools aimed at enhancing and streamlining your git workflow!
-
commit
: generates commit messages based on staged changes. -
changelog
: create changelogs for the current branch or a range of commits. -
init
: step by step wizard to set upcoco
globally or for a project.
coco init
is the first step to getting started with coco
. It will guide you through the installation process, including setting up your OpenAI API key and configuring coco
to your preferences.
# For local project use
npx git-coco@latest init -l project
# For global use
npx git-coco@latest init -l global
Generates commit messages based on staged changes.
coco
# or
coco commit
Creates changelogs.
# For the current branch
coco changelog
# For a specific range
coco changelog -r HEAD~5:HEAD
coco
offers two modes of operation: stdout and interactive, defaulting to stdout. You can specify your preferred mode in your config file or via command line flags.
# Stdout mode
git commit -m $(coco)
# Interactive mode
coco -i
coco
can generate and commit your changes in one command.
coco -s
The .coco.config
documentation has moved to our wiki. Here, you'll find detailed information on setting up and customizing your experience.
You can specify files to be ignored when generating commit messages by adding them to your config file or via command line flags. Read more about ignoring files & extensions in the wiki.
We welcome contributions! Check out our CONTRIBUTING.md for more information.