feat: Integrate @commitlint for Enhanced Commit Message Generation and Configuration Support (#209)
* add commitlint support * refactor code * improve readme text
This commit is contained in:
@@ -87,6 +87,7 @@ jobs:
|
||||
OCO_EMOJI: false
|
||||
OCO_MODEL: gpt-3.5-turbo
|
||||
OCO_LANGUAGE: en
|
||||
OCO_PROMPT_MODULE: conventional-commit
|
||||
```
|
||||
|
||||
That is it. Now when you push to any branch in your repo — all NEW commits are being improved by your never-tired AI.
|
||||
@@ -126,6 +127,7 @@ OCO_EMOJI=<add GitMoji>
|
||||
OCO_MODEL=<either gpt-3.5-turbo or gpt-4>
|
||||
OCO_LANGUAGE=<locale, scroll to the bottom to see options>
|
||||
OCO_MESSAGE_TEMPLATE_PLACEHOLDER=<message template placeholder, example: '$msg'>
|
||||
OCO_PROMPT_MODULE=<either conventional-commit or @commitlint>
|
||||
```
|
||||
|
||||
### Global config for all repos
|
||||
@@ -168,7 +170,7 @@ oco config set OCO_MODEL=gpt-3.5-turbo
|
||||
|
||||
Make sure that you spell it `gpt-4` (lowercase) and that you have API access to the 4th model. Even if you have ChatGPT+, that doesn't necessarily mean that you have API access to GPT-4.
|
||||
|
||||
## Locale configuration
|
||||
### Locale configuration
|
||||
|
||||
To globally specify the language used to generate commit messages:
|
||||
|
||||
@@ -187,7 +189,55 @@ oco config set OCO_LANGUAGE=française
|
||||
The default language setting is **English**
|
||||
All available languages are currently listed in the [i18n](https://github.com/di-sukharev/opencommit/tree/master/src/i18n) folder
|
||||
|
||||
### Git flags
|
||||
### Switch to `@commitlint`
|
||||
|
||||
OpenCommit allows you to choose the prompt module used to generate commit messages. By default, OpenCommit uses its conventional-commit message generator. However, you can switch to using the `@commitlint` prompt module if you prefer. This option lets you generate commit messages in respect with the local config.
|
||||
|
||||
You can set this option by running the following command:
|
||||
|
||||
```sh
|
||||
oco config set OCO_PROMPT_MODULE=<module>
|
||||
```
|
||||
|
||||
Replace `<module>` with either `conventional-commit` or `@commitlint`.
|
||||
|
||||
#### Example:
|
||||
|
||||
To switch to using th` '@commitlint` prompt module, run:
|
||||
|
||||
```sh
|
||||
oco config set OCO_PROMPT_MODULE=@commitlint
|
||||
```
|
||||
|
||||
To switch back to the default conventional-commit message generator, run:
|
||||
|
||||
```sh
|
||||
oco config set OCO_PROMPT_MODULE=conventional-commit
|
||||
```
|
||||
|
||||
#### Integrating with `@commitlint`
|
||||
|
||||
The integration between `@commitlint` and OpenCommit is done automatically the first time OpenCommit is run with `OCO_PROMPT_MODULE` set to `@commitlint`. However, if you need to force set or reset the configuration for `@commitlint`, you can run the following command:
|
||||
|
||||
```sh
|
||||
oco commitlint force
|
||||
```
|
||||
|
||||
To view the generated configuration for `@commitlint`, you can use this command:
|
||||
|
||||
```sh
|
||||
oco commitlint get
|
||||
```
|
||||
|
||||
This allows you to ensure that the configuration is set up as desired.
|
||||
|
||||
Additionally, the integration creates a file named `.opencommit-commitlint` which contains the prompts used for the local `@commitlint` configuration. You can modify this file to fine-tune the example commit message generated by OpenAI. This gives you the flexibility to make adjustments based on your preferences or project guidelines.
|
||||
|
||||
Additionally, OpenCommit generates a file named `.opencommit-commitlint` in your project directory which contains the prompts used for the local `@commitlint` configuration. You can modify this file to fine-tune the example commit message generated by OpenAI. If the local `@commitlint` configuration changes, this file will be updated the next time OpenCommit is run.
|
||||
|
||||
This offers you greater control over the generated commit messages, allowing for customization that aligns with your project's conventions.
|
||||
|
||||
## Git flags
|
||||
|
||||
The `opencommit` or `oco` commands can be used in place of the `git commit -m "${generatedMessage}"` command. This means that any regular flags that are used with the `git commit` command will also be applied when using `opencommit` or `oco`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user