1.0.2 • Published 8 months ago

@commit-generator/cli v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

@commit-generator/cli

This package provides a CLI tool for generating commit messages based on Git diffs and AI models. It offers configurable commit message generation, editing, and validation.

📌 Table of Contents

Installation

To use this package in your project, install it globally:

pnpm install -g @commit-generator/cli

To set up the configuration, run:

commitgen config init

This will launch an interactive prompt, allowing you to configure your AI model for commit message generation.

Usage

Once installed, you can use the CLI with commitgen <command>.

Default Workflow

To begin, stage your files:

git add .

Then run:

commitgen

This will open an interactive prompt, where you can provide additional context to improve message precision. After completion, the following options are available:

  • Regenerate the commit message
  • Edit the message (opens the default text editor)
  • Commit the message
  • Exit the prompt

Manual generation

If you prefer to bypass the interactive prompt, use the following command to generate a commit message:

commitgen generate

This command will only generate the commit message without committing. You can then edit it with:

commitgen edit

Finally, to commit:

commitgen commit

Validate a Commit Message

To validate a commit message, use the following command:

commitgen validate <message>

This compares the commit message with the staged diff and checks whether it adheres to best practices. If necessary, it will generate an improved commit message.

To commit the generated message, run:

commitgen commit

Validate the Last Commit Message

To validate the most recent commit message, run:

commitgen validate

If needed, amend the commit message with:

commitgen amend

Persistent Configuration

You can set the CLI configuration with:

commit config init

To set a configuration value:

commitgen config set <key>=value
# Example: commitgen config set provider=openai openai.key=some_key
# Example: commitgen config set exclude.files="pnpm-lock.yaml,package-lock.json"

To unset a configuration value:

commitgen config unset <key>
# Example: commitgen config unset exclude.files

To list the active configuration:

commitgen config list

Dynamic Configuration

You can dynamically change the configuration using environment variables with the commit_gen_config_ prefix. Replace . with _.

For example:

$env:commit_gen_config_openai_key = "some_key" # PowerShell
set commit_gen_config_openai_key=some_key # CMD
export commit_gen_config_openai_key="some_key" # Linux

You can also use --<key>=<value> for CLI options:

commitgen config list --provider=ollama

Configuration options

KeyTypeDescription
providerstringThe AI provider to use
openai.keystringThe OpenAi authentication key
ollama.modelstringThe model to use in Ollama
exclude.filesArray<string>Files to exclude from the diff analysis

License

This package is licensed under the MIT License.

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago

0.0.7

8 months ago

0.0.6

8 months ago

0.0.5

8 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago

0.0.0

8 months ago