This commit is contained in:
Hassan El Mghari
2023-02-16 01:51:42 -05:00
parent ba8d4909b3
commit bb30a6ce05
2 changed files with 19 additions and 26 deletions

View File

@@ -16,46 +16,39 @@
1. Install the CLI: 1. Install the CLI:
```sh ```sh
npm install -g aicommits npm install -g aicommits
``` ```
2. Retrieve your API key from [OpenAI](https://platform.openai.com/account/api-keys) 2. Retrieve your API key from [OpenAI](https://platform.openai.com/account/api-keys)
> Note: If you haven't already, you'll have to create an account and set up billing.
> Note: If you haven't already, you'll have to create an account and set up billing.
3. Set the key so aicommits can use it: 3. Set the key so aicommits can use it:
```sh ```sh
echo "OPENAI_KEY=<your token>" >> ~/.aicommits echo "OPENAI_KEY=<your token>" >> ~/.aicommits
``` ```
4. You're ready to go! 4. You're ready to go!
Run `aicommits` in any Git repo and it will generate a commit message for you. Run `aicommits` in any Git repo and it will generate a commit message for you.
## How it works ## How it works
This CLI tool runs `git diff` to grab all the latest changes, sends them to OpenAI's GPT-3, then returns the AI generated commit message. This CLI tool runs `git diff` to grab all your latest code changes, sends them to OpenAI's GPT-3, then returns the AI generated commit message.
Video coming soon where I rebuild it from scratch to show you how to easily build your own CLI tools powered by AI. Video coming soon where I rebuild it from scratch to show you how to easily build your own CLI tools powered by AI.
## Limitations
- Only supports git diffs of up to 200 lines of code for now
- Does not support conventional commits
The next version of the CLI, version 2, will address both of these limitations as well as the tasks below!
## Future tasks ## Future tasks
- Add a debugging flag to troubleshoot OpenAI responses
- Add support for conventional commits as a flag that users can enable - Add support for conventional commits as a flag that users can enable
- Add support for diffs greater than 200 lines by grabbing the diff per file - Add support for diffs greater than 200 lines by grabbing the diff per file, optional flag
- Add support for a flag that can auto-accept - Add ability to specify a commit message from inside aicommit if user doesn't like generated one
- Add ability to specify a commit message from inside aicommit - Solve latency issue (use a githook to asynchronously run gpt3 call on every git add, store the result in a temp file or in the .git folder). Put behind a flag
- Solve latency issue (use a githook to asynchronously run gpt3 call on every git add, store the result in a temp file (or in the .git folder) - Use gpt-3-tokenizer instead of hard limit on characters as a more accurate model
- Use gpt-3-tokenizer - Play around with prompt to produce optimal result
- Add automated github releases - Add opt-in emoji flag to preface commits with an emoji, use [this](https://gitmoji.dev) as a guide
- Add opt-in emoji flag - Add opt-in languages flag where it returns the commit in different languages
- Add opt-in languages flag - Add automated github releases using [this action](https://github.com/manovotny/github-releases-for-automated-package-publishing-action)
- Build landing page for the 2.0 launch - Build landing page for the 2.0 launch

View File

@@ -1,6 +1,6 @@
{ {
"name": "aicommits", "name": "aicommits",
"version": "1.0.6", "version": "1.0.7",
"description": "Writes your git commit messages for you with AI", "description": "Writes your git commit messages for you with AI",
"keywords": [ "keywords": [
"ai", "ai",