{"id":24580340,"url":"https://github.com/dotninth/xenogit","last_synced_at":"2025-08-08T15:49:25.336Z","repository":{"id":185935749,"uuid":"674359022","full_name":"dotninth/xenogit","owner":"dotninth","description":"Your CLI buddy for instant Git commit messages.","archived":false,"fork":false,"pushed_at":"2025-03-13T01:09:04.000Z","size":152899,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T01:09:44.163Z","etag":null,"topics":["ai","chatgpt","claude","claude-ai","commit","commits","gemini","gemini-ai","git","gpt","gpt-3","gpt-4"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotninth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-03T18:51:07.000Z","updated_at":"2025-03-26T10:34:02.000Z","dependencies_parsed_at":"2025-03-09T20:31:25.389Z","dependency_job_id":null,"html_url":"https://github.com/dotninth/xenogit","commit_stats":null,"previous_names":["dotninth/xenogit"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotninth%2Fxenogit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotninth%2Fxenogit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotninth%2Fxenogit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotninth%2Fxenogit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotninth","download_url":"https://codeload.github.com/dotninth/xenogit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250540941,"owners_count":21447427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","claude","claude-ai","commit","commits","gemini","gemini-ai","git","gpt","gpt-3","gpt-4"],"created_at":"2025-01-24T01:53:29.276Z","updated_at":"2025-08-08T15:49:25.311Z","avatar_url":"https://github.com/dotninth.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003ca href=\"https://github.com/dotninth/xenogit/#gh-light-mode-only\"\u003e\n        \u003cimg src=\"./.github/assets/xenogit-logo-light.svg\" alt=\"Xenogit Repository\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/dotninth/xenogit/#gh-dark-mode-only\"\u003e\n        \u003cimg src=\"./.github/assets/xenogit-logo-dark.svg\" alt=\"Xenogit Repository\"\u003e\n    \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ci align=\"center\"\u003eYour CLI buddy for instant Git commit messages.\u003c/i\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/v2.3.2-stable?style=for-the-badge\u0026color=C9CBFF\u0026labelColor=302D41\u0026label=stable\" alt=\"Latest Stable Version\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/v2.3.2-beta?style=for-the-badge\u0026color=f5a97f\u0026labelColor=302D41\u0026label=beta\" alt=\"Latest Beta Version\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/8.2-php_version?style=for-the-badge\u0026color=89dceb\u0026labelColor=302D41\u0026label=php\" alt=\"PHP Version\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/MIT-license?style=for-the-badge\u0026color=cba6f7\u0026labelColor=302D41\u0026label=license\" alt=\"MIT License\"\u003e\n\u003c/h4\u003e\n\n\u003cbr /\u003e\n\n## Introduction\n\n`Xenogit` is your helpful command-line assistant that uses [Google Gemini](https://deepmind.google/technologies/gemini/) to quickly create commit messages.\nStop spending time writing commits and start managing your Git repository effortlessly!\n\n\u003cbr /\u003e\n\n## ️Getting Started\n\n### Installing\n\nThere are two ways to install Xenogit:\n\n1. **Using Composer:** Run the following command to install Xenogit globally:\n\n```shell\ncomposer global require dotninth/xenogit\n```\n\n2. **Downloading from GitHub:** Visit the [Releases page](https://github.com/dotninth/xenogit/releases) on GitHub and download the appropriate binary.\n\n\u003cbr /\u003e\n\n## Usage\n\nAfter installing Xenogit, you can all available options by simply launcing the program:\n\n```shell\n$ xenogit\n\n  Xenogit  v2.3.2\n\n  USAGE:  \u003ccommand\u003e [options] [arguments]\n\n  commit         Automatically generate commit messages\n\n  config:api-key Configure the API key in the .env file\n```\n\n```shell\n$ xenogit help commit\n\nDescription:\n  Automatically generate commit messages\n\nUsage:\n  commit [options]\n\nOptions:\n  -m, --model[=MODEL]              Set the ID of the model to use (optional). Default: gemini-2.0-flash\n  -t, --temperature[=TEMPERATURE]  Set the temperature (optional). Default: 0\n  -k, --tokens[=TOKENS]            Set the maximum number of tokens to use (optional). Default: 100\n  -h, --help                       Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                      Do not output any message\n  -V, --version                    Display this application version\n      --ansi|--no-ansi             Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction             Do not ask any interactive question\n      --env[=ENV]                  The environment the command should run under\n  -v|vv|vvv, --verbose             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n```\n\n\u003cbr /\u003e\n\n## Currently available models\n\nYou can use 3 models from Google that you can use with the `-m` flag:\n\n- Gemini 2.0 Flash - `gemini-2.0-flash`\n- Gemini 2.0 Flash Lite - `gemini-2.0-flash-lite`\n- Gemini 2.5 Flash - `gemini-2.5-flash-preview`\n- Gemini 2.5 Pro - `gemini-2.5-pro-preview`\n\n\u003e [!NOTE]\n\u003e Note that **Gemini 2.5** models takes longer and costs more to generate a commit. But if you have a huge set of changes (huge commit), it works best.\n\n\u003cbr /\u003e\n\n## API Key\n\nXenogit needs an [API key from Google AI Studio](https://aistudio.google.com/apikey) to work properly. There are two options to provide the API key:\n\n1. Use the command `xenogit config:api-key \u003cyour-api-key\u003e`.\n\n2. Using environment variable: Create an environment variable called `API_KEY` that contains your [Gemini API key](https://aistudio.google.com/apikey).\n\n3. 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 `\u003cYOUR_API_KEY\u003e` with your actual [Gemini API key](https://aistudio.google.com/apikey):\n\n```shell\nAPI_KEY=\u003cYOUR_API_KEY\u003e\n```\n\n\u003cbr /\u003e\n\n## Payment\n\nUsing 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.\n\nYou 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.\n\nTo find out more about the price for using Google's services, please check their pricing page at [Gemini Pricing page](https://ai.google.dev/gemini-api/docs/pricing).\n\n\u003cbr /\u003e\n\n## Bash aliases example\n\nTo simplify common workflows, such as adding files to git and committing them, I recommend creating bash aliases.\n\nHere are mine _(sort of a mnemonic for aliases)_:\n\n```zsh\nalias xc=\"xenogit commit\"\nalias axc=\"git add . \u0026\u0026 xc\"\nalias xcp=\"xc \u0026\u0026 git push\"\nalias axcp=\"axc \u0026\u0026 git push\"\n```\n\n\u003cbr /\u003e\n\n## Contribute\n\nYou are welcome to contribute to Xenogit! For a smooth collaboration, please follow these guidelines when contributing to the project:\n\n1. Fork the repository and clone it to your local machine.\n2. Create a new branch for your contribution: `git checkout -b my-contribution`.\n3. Make your changes, making sure the code follows the project's coding style and conventions.\n4. Test your changes thoroughly.\n5. Commit your changes with a descriptive commit message.\n6. Push your branch to your forked repository: `git push origin my-contribution'.\n7. Open a pull request against the `main' branch of the Xenogit repository.\n8. Provide a clear and detailed description of your changes in the pull request, along with any relevant information or context.\n\nPlease note that by contributing to Xenogit, you agree to release your contributions under the [MIT License](LICENSE.md).\n\n\u003cbr /\u003e\n\n## License\n\nXenogit is released under the [MIT License](LICENSE.md). Feel free to modify and distribute it according to your needs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotninth%2Fxenogit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotninth%2Fxenogit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotninth%2Fxenogit/lists"}