npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@fede91/aicommit

v1.0.5

Published

A tool that generates git commit messages using AI models

Downloads

12

Readme

aicommit

NPM Version License

aicommit is a tool that generates git commit messages using OpenAI's GPT models. It supports multiple profiles, enabling different configurations for API keys, models, and system messages.

Features

  • Generate Commit Messages: Automatically generate commit messages using OpenAI's GPT models.
  • Multiple Profiles: Manage multiple profiles, each with its own API key, model, and system message.
  • Interactive Message Review: Option to review and refine the commit message before committing.
  • Profile Management: Commands to add, list, and switch profiles.
  • Git Log Output: Print git log messages during staging, committing, and pushing actions.

Installation

To install aicommit, use npm:

npm i -g @fede91/aicommit

Usage

Adding and Managing Profiles

Add a New Profile

aicommit --add-profile <name>

List All Profiles

aicommit --list-profiles

Set the Active Profile

aicommit --set-active-profile <name>

Switch Profile Interactively

aicommit --switch-profile

Configuring Profiles

Set OpenAI API Key

aicommit --set-api-key YOUR_OPENAI_API_KEY

Set OpenAI Model

aicommit --set-model YOUR_CHOSEN_MODEL

Set OpenAI System Message

aicommit --set-system-message "Your custom system message"

Enable Commit Message Review

aicommit --enable-review

Disable Commit Message Review

aicommit --disable-review

Set Verbose Mode

To enable verbose mode:

aicommit --set-verbose 1

To disable verbose mode:

aicommit --set-verbose 0

Configuring LLM Model

Set API Request Timeout

Set the timeout for API requests in milliseconds:

aicommit --set-timeout 30000

Set Maximum Tokens

Set the maximum number of tokens for the LLM response:

aicommit --set-max-tokens 200

Set Temperature

Set the temperature for the LLM model (between 0.0 and 1.0):

aicommit --set-temperature 0.8

Printing Profile Information

Print Current OpenAI API Key

aicommit --print-api-key

Print Current OpenAI Model

aicommit --print-model

Print Current OpenAI System Message

aicommit --print-system-message

Configuring Behavior

Set Auto Push

To enable automatic push after commit:

aicommit --set-auto-push 1

To disable automatic push after commit:

aicommit --set-auto-push 0

Disable Push for Current Session

To disable pushing for the current session only (without changing the global auto-push setting):

aicommit --np

This option is useful when you want to commit changes but delay pushing them, regardless of your auto-push configuration.

Committing Changes

Simply run the command without any options to stage, generate a commit message, review (if enabled), commit, and push the changes (if auto-push is enabled). Git log messages will be printed to the console during these actions.

aicommit

To commit changes without pushing (overriding the auto-push setting for this session only):

aicommit --no-push

When review is enabled, you will be presented with three options:

  1. Use the generated commit message as is
  2. Refine the commit message
  3. Generate a new commit message

You can continue to refine or regenerate the message until you're satisfied with the result.

Example Workflow

  1. Add a Profile:

    aicommit --add-profile myprofile
  2. Set API Key:

    aicommit --set-api-key YOUR_OPENAI_API_KEY
  3. Set Model:

    aicommit --set-model gpt-4o-mini
  4. Set System Message:

    aicommit --set-system-message "You are a helpful assistant."
  5. Enable/Disable Review:

    aicommit --enable-review
  6. Generate and Commit Changes with Verbose Output:

    aicommit --verbose

Contributing

Contributions are welcome! Please read the contributing guide to get started.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Support

If you have any questions or need help, feel free to open an issue on GitHub.

Acknowledgments