Skip to content

Commit

Permalink
edited README
Browse files Browse the repository at this point in the history
  • Loading branch information
Nutlope committed Jan 26, 2024
1 parent f33bfee commit 7e2f000
Showing 1 changed file with 27 additions and 19 deletions.
46 changes: 27 additions & 19 deletions README.md
Expand Up @@ -13,29 +13,28 @@

> The minimum supported version of Node.js is the latest v14. Check your Node.js version with `node --version`.

1. Install _aicommits_:

```sh
npm install -g aicommits
```
```sh
npm install -g aicommits
```

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:

```sh
aicommits config set OPENAI_KEY=<your token>
```

This will create a `.aicommits` file in your home directory.
```sh
aicommits config set OPENAI_KEY=<your token>
```

This will create a `.aicommits` file in your home directory.

### Upgrading

Check the installed version with:

```
aicommits --version
```
Expand All @@ -47,6 +46,7 @@ npm update -g aicommits
```

## Usage

### CLI mode

You can call `aicommits` directly to generate a commit message for your staged changes:
Expand All @@ -59,6 +59,7 @@ aicommits
`aicommits` passes down unknown flags to `git commit`, so you can pass in [`commit` flags](https://git-scm.com/docs/git-commit).

For example, you can stage all changes in tracked files with as you commit:

```sh
aicommits --all # or -a
```
Expand All @@ -68,6 +69,7 @@ aicommits --all # or -a
#### Generate multiple recommendations

Sometimes the recommended commit message isn't the best so you want it to generate a few to pick from. You can generate multiple commit messages at once by passing in the `--generate <i>` flag, where 'i' is the number of generated messages:

```sh
aicommits --generate <i> # or -g <i>
```
Expand All @@ -91,11 +93,13 @@ You can also integrate _aicommits_ with Git via the [`prepare-commit-msg`](https
#### Install

In the Git repository you want to install the hook in:

```sh
aicommits hook install
```

#### Uninstall

In the Git repository you want to uninstall the hook from:

```sh
Expand All @@ -105,12 +109,13 @@ aicommits hook uninstall
#### Usage

1. Stage your files and commit:
```sh
git add <files...>
git commit # Only generates a message when it's not passed in
```

> If you ever want to write your own message instead of generating one, you can simply pass one in: `git commit -m "My message"`
```sh
git add <files...>
git commit # Only generates a message when it's not passed in
```

> If you ever want to write your own message instead of generating one, you can simply pass one in: `git commit -m "My message"`
2. Aicommits will generate the commit message for you and pass it back to Git. Git will open it with the [configured editor](https://docs.github.com/en/get-started/getting-started-with-git/associating-text-editors-with-git) for you to review/edit it.

Expand All @@ -119,13 +124,15 @@ aicommits hook uninstall
## Configuration

### Reading a configuration value

To retrieve a configuration option, use the command:

```sh
aicommits config get <key>
```

For example, to retrieve the API key, you can use:

```sh
aicommits config get OPENAI_KEY
```
Expand Down Expand Up @@ -157,13 +164,15 @@ aicommits config set OPENAI_KEY=<your-api-key> generate=3 locale=en
```

### Options

#### OPENAI_KEY

Required

The OpenAI API key. You can retrieve it from [OpenAI API Keys page](https://platform.openai.com/account/api-keys).

#### locale

Default: `en`

The locale to use for the generated commit messages. Consult the list of codes in: https://wikipedia.org/wiki/List_of_ISO_639-1_codes.
Expand Down Expand Up @@ -194,8 +203,8 @@ The Chat Completions (`/v1/chat/completions`) model to use. Consult the list of

> Tip: If you have access, try upgrading to [`gpt-4`](https://platform.openai.com/docs/models/gpt-4) for next-level code analysis. It can handle double the input size, but comes at a higher cost. Check out OpenAI's website to learn more.

#### timeout

The timeout for network requests to the OpenAI API in milliseconds.

Default: `10000` (10 seconds)
Expand All @@ -205,6 +214,7 @@ aicommits config set timeout=20000 # 20s
```

#### max-length

The maximum character length of the generated commit message.

Default: `50`
Expand Down Expand Up @@ -239,10 +249,8 @@ Video coming soon where I rebuild it from scratch to show you how to easily buil

- **Hassan El Mghari**: [@Nutlope](https://github.com/Nutlope) [<img src="https://img.shields.io/twitter/follow/nutlope?style=flat&label=nutlope&logo=twitter&color=0bf&logoColor=fff" align="center">](https://twitter.com/nutlope)


- **Hiroki Osame**: [@privatenumber](https://github.com/privatenumber) [<img src="https://img.shields.io/twitter/follow/privatenumbr?style=flat&label=privatenumbr&logo=twitter&color=0bf&logoColor=fff" align="center">](https://twitter.com/privatenumbr)


## Contributing

If you want to help fix a bug or implement a feature in [Issues](https://github.com/Nutlope/aicommits/issues), checkout the [Contribution Guide](CONTRIBUTING.md) to learn how to setup and test the project.
If you want to help fix a bug or implement a feature in [Issues](https://github.com/Nutlope/aicommits/issues), checkout the [Contribution Guide](CONTRIBUTING.md) to learn how to setup and test the project

0 comments on commit 7e2f000

Please sign in to comment.