Skip to content

You can do magicc, you can build anything that you desire. ๐Ÿช„๐Ÿ”ฎ๐Ÿ’ป

License

Notifications You must be signed in to change notification settings

warengonzaga/magic-commit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Magic Commit ๐Ÿช„ author/maintainer nominate

made with sponsors release star license NPM Installs

banner

You can do magicc, you can build anything that you desire. ๐Ÿช„๐Ÿ”ฎ๐Ÿ’ป

Magic Commit is a simple and easy-to-use tool that helps you to automatically stage your changes by file and commit them one by one. All you need to do is type magicc and accept if you love the suggested commit message in every changed files. It uses gpt-4o-mini as the default model from OpenAI to generate commit messages. ๐Ÿช„

Have suggestions in mind? Let me know!

Important

This project is still in it's early stage so expect some bugs and issues. Please report any issues you encounter. Thank you! ๐Ÿ™

Like this project? Leave a star! โญโญโญโญโญ

๐Ÿ˜Ž Demo

demo

๐Ÿ•น๏ธ Usage

Save all of your changes and after that run the following command:

magicc

This will automatically stage your changes by file and commit them one by one. All you need to do is type magicc and accept if you love the suggested commit message in every changed files. ๐Ÿช„

Note

To be able to make it work it requires API key from OpenAI to use the GPT-3 model. You can get your API key by signing up to their website. Once you have the API key, you can set it up by running the following command:

magicc -s=<api-key>

This will save your API key to the configuration file and you can now use the magicc command. I'm considering to find a provider that offers free API key for this project. ๐Ÿ™ (if you are reading this contact me.)

๐Ÿ“ฆ Installation

You can install this project via npm or yarn.

npm install -g magicc

or

yarn global add magicc

๐Ÿ’– Motivation

I created this project because I wanted a simple and easy-to-use tool that follows my own git commit standard by default. Additionally, I wanted to learn how to build AI-based developer tools. The goal of this project is to provide a user-friendly experience for everyone. If you're looking for more advanced features, I recommend checking out the other projects mentioned below. ๐Ÿ™

This project is inspired by the following projects:

  • aicommits - A CLI that writes your git commit messages for you with AI.
  • ai-commit - Make commits easier with ChatGPT, Gitmoji and Conventional Commits.
  • opencommit - About Auto-generate impressive commits with AI in 1 second.
  • tgpt - AI Chatbots in terminal without needing API keys.

โš™๏ธ Project Activity

activity

๐ŸŽฏ Contributing

Contributions are welcome, create a pull request to this repo and I will review your code. Please consider to submit your pull request to the dev branch. Thank you!

Read the project's contributing guide for more info.

๐Ÿ› Issues

Please report any issues and bugs by creating a new issue here, also make sure you're reporting an issue that doesn't exist. Any help to improve the project would be appreciated. Thanks! ๐Ÿ™โœจ

๐Ÿ™ Sponsor

Like this project? Leave a star! โญโญโญโญโญ

Want to support my work and get some perks? Become a sponsor! ๐Ÿ’–

Or, you just love what I do? Buy me a coffee! โ˜•

Recognized my open-source contributions? Nominate me as GitHub Star! ๐Ÿ’ซ

๐Ÿ“‹ Code of Conduct

Read the project's code of conduct.

๐Ÿ“ƒ License

This project is licensed under GNU General Public License v3.0.

๐Ÿ“ Author

This project is created by Waren Gonzaga, with the help of awesome contributors.

contributors


๐Ÿ’ป with โค๏ธ by Waren Gonzaga and Him ๐Ÿ™