Combo is a command-line tool designed to simplify Git workflows by leveraging AI for generating commit messages, branch names, changelogs, and linking commits to issue trackers. It integrates seamlessly into your development process to save time and ensure consistency, especially with conventional commit standards.
- Commit Message Generation: Create meaningful and consistent commit messages based on conventional commit standards and your staged changes with AI assistance.
- Branch Name Suggestions: Generate branch names aligned with your changes or ticket references.
- Issue Tracker Integration: Link commits to issue trackers by specifying an issue ID.
- Changelog Creation: Automatically generate changelogs based on your Git history.
-
Add the Combo tap:
brew tap tolgaOzen/tap
-
Install Combo:
brew install combo
-
Verify installation:
combo version
-
Commit Message: Generate and confirm a commit message:
combo commit
Example:
Here’s your commit message: ➤ feat(config): add support for managing API keys and locales Would you like to use this message? (Y/n):
feat
: Indicates a new feature.config
: Scope of the change (optional but recommended).- Description: Clear and concise explanation of the change.
-
Branch Name: Generate a branch name based on your changes or tickets:
combo branch
Example:
feat/config-api-key-support
-
Issue Tracker: Link a commit to an issue tracker by providing the issue ID:
combo issue 123
Example:
Linked commit to issue #123.
-
Changelog: Generate a changelog from your Git history:
combo changelog
Combo stores its configuration in ~/.combo/config
. The configuration file is created automatically if it doesn’t exist.
# ~/.combo/config
openai_api_key=sk-xxxxxxxxxx
prompt_locale=en-US
prompt_max_length=72
-
Set a key:
combo config set <key> <value>
Example:
combo config set openai_api_key sk-xxxxxxxxxx
-
Get a key:
combo config get <key>
Example:
combo config get prompt_locale
-
Stage Changes:
git add .
-
Generate and Confirm a Commit Message:
combo commit
Example Interaction:
Here’s your commit message: ➤ fix(auth): resolve token expiration issue for multi-tenant support Would you like to use this message? (Y/n):
-
Generate a Branch Name:
combo branch
Example:
fix/auth-token-expiration
-
Link a Commit to an Issue:
combo issue 456
Example:
Linked commit to issue #456.
-
Generate a Changelog:
combo changelog
Example:
## [1.2.0] - 2024-01-01 ### Features - feat(config): add support for managing API keys and locales ### Bug Fixes - fix(auth): resolve token expiration issue for multi-tenant support
- Git: Must be installed and configured.
- OpenAI API Key: Required for AI-powered features.
Contributions are welcome! Submit issues or pull requests on the GitHub repository.
Combo is licensed under the MIT License. See the LICENSE
file for more details.