Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@hirotomoyamada/ai-commit

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hirotomoyamada/ai-commit

AI generates git commit messages on your behalf.

  • 1.0.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

AI Commit

NPM Minizip NPM Downloads GitHub Github Stars

AI generates git commit messages on your behalf.

English | 日本語

Table of Contents

Setup

  1. Install

    pnpm add -g @hirotomoyamada/ai-commit
    
  2. Obtain your API key from OpenAI.

  3. Set your API key in ai-commit.

    ai-commit config set apiKey=<your token>
    

Upgrading

To check the installed version, run the following:

ai-commit --version

To install the latest version, run the following:

pnpm up -g @hirotomoyamada/ai-commit --latest

Usage

To generate a commit message, run the following:

ai-commit

[!TIP]

ai-commit provides a shortened alias aic.

When you run ai-commit, two scenarios may occur:

  1. If there are files staged:

    • AI detects the differences in the staged files and generates a commit message.
    • Once you review and approve the generated commit message, it will be committed.
  2. If there are changed files not yet staged:

    • A list of changed files will be displayed.
    • You select the files to add to the stage from the list.
    • AI detects the differences in the newly staged files and generates a commit message.
    • Once you review and approve the generated commit message, it will be committed.

[!TIP]

To add all changed files not currently staged to the stage (with git add .), set the --all or -a option.

Changing the Commit Message Suggestions

To change the commit message suggestions, set the --generate <i> or -g <i> option. The default is set to 1.

ai-commit --generate 5

[!NOTE]

You can set up to a maximum of 5 suggestions.

Applying Conventional Commits

Many projects have rules for commit messages based on Conventional Commits. If you want to apply these rules, set conventional with the --type or -t option.

ai-commit --type conventional

[!NOTE]

By setting it in the configuration, you can always apply the Conventional Commits commit message rules.

Configuration

To get the configuration, run the following:

ai-commit config get

To get specific items only, run the following:

ai-commit config get generate locale

To set values in the configuration, run the following:

ai-commit config set generate=5 type=conventional

To reset the configuration values, run the following:

ai-commit config reset
ItemDefaultDescription
apiKeyundefinedAPI key generated from OpenAI
generate1Number of commit messages to generate
localeenLocale used for generating commit messages
timeout10000Timeout for network requests to OpenAI (milliseconds)
typeundefinedType of commit message to generate
modelgpt-4OpenAI model used for generating commit messages
maxLength50Maximum character length of the generated commit message

Prompt

To get the prompt, run the following:

ai-commit prompt get

The default prompt is as follows:

Generate a concise git commit message written in present tense for the following code diff with the given specifications below:
Message language: {{ locale }}
Commit message must be a maximum of {{ maxLength }} characters.
Exclude anything unnecessary such as translation. Your entire response will be passed directly into git commit.
{{ commitType }}
The output response must be in format:
{{ commitRule }}

[!NOTE]

{{ locale }} and {{ maxLength }} will be replaced with the values set in the configuration.

To update the prompt, run the following:

ai-commit prompt set

To reset the prompt, run the following:

ai-commit prompt reset

License

MIT © Hirotomo Yamada

Keywords

FAQs

Package last updated on 18 Feb 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc