A command-line application built with Dart that generates git commit messages using OpenAI's ChatGPT. This app runs git diff
in the current working directory, sends the output to ChatGPT, and presents multiple commit message suggestions. The user can then choose a message, and the app will commit the changes using the selected message.
- Dart SDK (latest version): https://dart.dev/get-dart
- A valid OpenAI API key: https://beta.openai.com/signup/
pub global activate commitflow
dart run lib/commitflow.dart
- Clone the repository:
git clone https://github.com/tommyle/commitflow.git
- Compile the app to a native executable:
dart compile exe lib/commitflow.dart -o build/commitflow
- Set your OpenAI API key:
./commitflow --set_api_key
You'll be prompted to enter your API key, which will be saved to a local file for future use.
- Run the app to generate a commit message and commit the changes:
./commitflow
The app will display multiple commit message suggestions based on the git diff
output. Choose a message and the app will commit the changes using the selected message.
--help
or-h
: Display help information.
./commitflow --help
--show_diff
or-d
: Show the git diff output.
./commitflow --show_diff
This project is licensed under the MIT License - see the LICENSE file for details.