dotninth / xenogit
Your CLI buddy for instant Git commit messages.
Installs: 27
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 1
Forks: 2
Open Issues: 0
Type:project
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.5
- illuminate/http: ^11.5
- laravel/prompts: ^0.1.3
- nunomaduro/termwind: ^2.0
Requires (Dev)
- laravel-zero/framework: ^11.0
- laravel/pint: ^1.21
- mockery/mockery: ^1.5.1
- pestphp/pest: ^2.5
This package is auto-updated.
Last update: 2025-03-13 01:09:08 UTC
README
Your CLI buddy for instant Git commit messages.
Introduction
Xenogit
is your helpful command-line assistant that uses Google Gemini to quickly create commit messages.
Stop spending time writing commits and start managing your Git repository effortlessly!
️Getting Started
Installing
There are two ways to install Xenogit:
- Using Composer: Run the following command to install Xenogit globally:
composer global require dotninth/xenogit
- Downloading from GitHub: Visit the Releases page on GitHub and download the appropriate binary.
Usage
After installing Xenogit, you can all available options by simply launcing the program:
$ xenogit Xenogit v2.2.0 USAGE: <command> [options] [arguments] commit Automatically generate commit messages config:api-key Configure the API key in the .env file
$ xenogit help commit Description: Automatically generate commit messages Usage: commit [options] Options: -m, --model[=MODEL] Set the ID of the model to use (optional). Default: gemini-2.0-flash -t, --temperature[=TEMPERATURE] Set the temperature (optional). Default: 0 -k, --tokens[=TOKENS] Set the maximum number of tokens to use (optional). Default: 100 -h, --help Display help for the given command. When no command is given display help for the list command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question --env[=ENV] The environment the command should run under -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Currently available models
You can use 3 models from Google that you can use with the -m
flag:
- Gemini 2.0 Flash -
gemini-2.0-flash
- Gemini 2.0 Flash Lite -
gemini-2.0-flash-lite
- Gemini 2.0 Flash Thinking -
gemini-2.0-flash-thinking
- Gemini 2.0 Pro -
gemini-2.0-pro
Note
Note that Gemini 2.0 Flash Thinking takes longer and costs more to generate a commit. But if you have a huge set of changes (huge commit), it works best.
API Key
Xenogit needs an API key from Google AI Studio to work properly. There are two options to provide the API key:
-
Use the command
xenogit config:api-key <your-api-key>
. -
Using environment variable: Create an environment variable called
API_KEY
that contains your Gemini API key. -
Create a file named
.env
in the directory where the Xenogit binary is located. This file will be used to store your environment variables. To the.env
file, add the following line, replacing<YOUR_API_KEY>
with your actual Gemini API key:
API_KEY=<YOUR_API_KEY>
Payment
Using Xenogit will cost you money for every request you make to the Gemini API. Xenogit uses the official Gemini 2.0 (gemini-2.0-flash
) model, which is the best model in terms of price/quality ratio. At least for the task Xenogit solves.
You can also use Free Tier for Gemini. Be sure to check for limitations and be aware that Google will use your data to improve their products.
To find out more about the price for using Google's services, please check their pricing page at Gemini Pricing page.
Bash aliases example
To simplify common workflows, such as adding files to git and committing them, I recommend creating bash aliases.
Here are mine (sort of a mnemonic for aliases):
alias xc="xenogit commit" alias axc="git add . && xc" alias xcp="xc && git push" alias axcp="axc && git push"
Contribute
You are welcome to contribute to Xenogit! For a smooth collaboration, please follow these guidelines when contributing to the project:
- Fork the repository and clone it to your local machine.
- Create a new branch for your contribution:
git checkout -b my-contribution
. - Make your changes, making sure the code follows the project's coding style and conventions.
- Test your changes thoroughly.
- Commit your changes with a descriptive commit message.
- Push your branch to your forked repository: `git push origin my-contribution'.
- Open a pull request against the `main' branch of the Xenogit repository.
- Provide a clear and detailed description of your changes in the pull request, along with any relevant information or context.
Please note that by contributing to Xenogit, you agree to release your contributions under the MIT License.
License
Xenogit is released under the MIT License. Feel free to modify and distribute it according to your needs.