{"id":24769195,"url":"https://github.com/HublastX/Commit-IA","last_synced_at":"2025-10-11T19:30:45.085Z","repository":{"id":272827415,"uuid":"915323218","full_name":"HublastX/Commit-IA","owner":"HublastX","description":"CommitIA is a Go-based tool that leverages LLMs to analyze code changes and automatically generate semantic commit messages.","archived":false,"fork":false,"pushed_at":"2025-08-24T23:11:22.000Z","size":158,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-24T23:23:16.356Z","etag":null,"topics":["automation","cli","cobra","commit","gemini","go","golang","llm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HublastX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-01-11T14:55:58.000Z","updated_at":"2025-08-24T23:09:50.000Z","dependencies_parsed_at":"2025-01-16T21:37:22.949Z","dependency_job_id":"40e775ab-5712-41b2-829c-0489238deaf6","html_url":"https://github.com/HublastX/Commit-IA","commit_stats":null,"previous_names":["wendellast/commit-ia","hublastx/commit-ia"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/HublastX/Commit-IA","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HublastX%2FCommit-IA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HublastX%2FCommit-IA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HublastX%2FCommit-IA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HublastX%2FCommit-IA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HublastX","download_url":"https://codeload.github.com/HublastX/Commit-IA/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HublastX%2FCommit-IA/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006210,"owners_count":26084061,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["automation","cli","cobra","commit","gemini","go","golang","llm"],"created_at":"2025-01-29T02:47:45.143Z","updated_at":"2025-10-11T19:30:45.078Z","avatar_url":"https://github.com/HublastX.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CommitAI\n\nCommitAI is a command-line tool built in Go that leverages Large Language Models (LLMs) to analyze your Git code changes and automatically generate semantic commit messages.\n\n## Features\n\n### 🎯 Core Features\n-   🤖 **Automatic commit message generation** - AI-powered commit analysis\n-   🌐 **Dual processing modes** - Local and remote LLM processing\n-   🔄 **Easy configuration management** - Simple setup and updates\n-   🌍 **Multi-language support** - Commit messages in any language\n-   🏷️ **Custom commit tags** - Force specific commit types\n\n### ✨ New in Version 2.0\n-   📋 **Multiple commit formats** - Support for native Git or custom standards\n-   🎨 **Personal prompts** - Define your own commit patterns and styles\n-   🔌 **Universal model support** - Any local model or free web version compatibility\n-   📦 **Easy installation** - Available via NPM or compiled binaries\n-   🔧 **Native Git integration** - Enhanced Git support with advanced customization\n-   🖥️ **Improved interface** - Better menu navigation and user experience\n-   ⚡ **Performance boost** - Faster execution and optimized CLI performance\n\n## Installation\n\nCommitAI offers multiple installation methods to suit your preferences:\n\n### 🚀 Quick Install (Recommended)\n\n**Option 1: NPM Global Install**\n```bash\nnpm install -g commit-ai-hublast\n```\n\n**Option 2: From Repository**\n```bash\ngit clone https://github.com/HublastX/Commit-IA\ncd Commit-IA\nnpm install -g\n```\n\n### 🔧 Manual Compilation\n\n**Prerequisites:**\n-   Go 1.24 or higher\n-   Node.js 20+ (for NPM installation)\n\n**Steps:**\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/HublastX/Commit-IA\n   cd Commit-IA\n   ```\n\n2. Compile for your platform using Go:\n   ```bash\n   go build -o commitai ./cmd\n   ```\n\n3. Move binary to your PATH or use local installer scripts\n\n### 🛠️ Alternative Installation Methods\n\n**Legacy Installer Scripts (Linux/macOS):**\n```bash\nchmod +x ./install.sh\n./install.sh\n```\n\n**Legacy Installer Scripts (Windows):**\n```cmd\n.\\install.bat\n```\n\n### 🔧 Troubleshooting Installation\n\nIf you encounter build errors during manual compilation, install the required development packages:\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWindows\u003c/b\u003e\u003c/summary\u003e\n\n1. Install Scoop package manager (PowerShell):\n   ```powershell\n   Set-ExecutionPolicy RemoteSigned -scope CurrentUser\n   iwr -useb get.scoop.sh | iex\n   ```\n\n2. Install dependencies:\n   ```powershell\n   scoop install mingw\n   ```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eUbuntu/Debian\u003c/b\u003e\u003c/summary\u003e\n\n```bash\nsudo apt update \u0026\u0026 sudo apt install -y \\\n    gcc libc6-dev libx11-dev xorg-dev \\\n    libxtst-dev libpng-dev libxcursor-dev \\\n    libxrandr-dev libxinerama-dev libdbus-1-dev \\\n    tesseract-ocr\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eArch Linux/Manjaro\u003c/b\u003e\u003c/summary\u003e\n\n```bash\nsudo pacman -Syu \u0026\u0026 sudo pacman -S --needed \\\n    gcc glibc libx11 xorg-server-devel \\\n    libxtst libpng libxcursor libxrandr \\\n    libxinerama dbus tesseract\n```\n\n\u003c/details\u003e\n\n## Usage\n\nAfter using `git add` to stage your changes, you can use commitai to generate commit messages.\n\n### Basic Command\n\n```bash\ncommitai\n```\n\n### Operating Modes\n\ncommitai offers two operating modes:\n\n1. **Remote Web Mode** - Access LLMs remotely without additional configuration (might be slower)\n2. **Local Mode** - Run the LLM API locally using Docker (requires provider configuration)\n\nTo switch between modes or update configuration:\n\n```bash\ncommitai --update\n```\n\n### Additional Options\n\n| Option     | Description                          | Example                                   |\n| ---------- | ------------------------------------ | ----------------------------------------- |\n| `-d`       | Add additional context               | `commitai -d \"Added login functionality\"` |\n| `-l`       | Specify commit language              | `commitai -l \"English\"`                   |\n| `-t`       | Force specific commit tag            | `commitai -t \"feat\"`                      |\n| `--update` | Update configuration or switch modes | `commitai --update`                       |\n\n### Examples\n\nGenerate a commit with additional context:\n\n```bash\ncommitai -d \"Created user login feature with OAuth support\"\n```\n\nGenerate a commit message in English:\n\n```bash\ncommitai -l \"English\"\n```\n\nForce a specific commit tag:\n\n```bash\ncommitai -t \"feat\"\n```\n\nUpdate configuration or switch between local and web modes:\n\n```bash\ncommitai --update\n```\n\n## Local LLM Configuration\n\nWhen selecting the Local mode, simply configure through the CLI:\n\n1. Run `commitai --update` to access configuration\n2. Select **Local Mode** when prompted\n3. Choose your LLM `provider` (Google, OpenAI, Anthropic, etc.)\n4. Select an available `model` for your chosen provider\n5. Enter your `API key` for the provider\n\nThat's it! No Docker setup required - the tool will handle everything automatically.\n\n## Configuration Details\n\n-   Web mode uses Google's `gemini-flash-2` model by default\n-   All LLM configurations are stored in the `Bot` directory\n-   Custom configurations (provider, model, API token) are managed in `Bot/config/config.json`\n\n## Contributing\n\nContributions are welcome! Feel free to open issues or submit pull requests.\n\nWe recommend using Husky for commit validation:\n\n1. Ensure Node.js 22 is installed\n2. Run `npm install` to set up Husky, which will validate your commits before submission\n\n## License\n\nThis project is licensed under the [Apache-2.0 license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHublastX%2FCommit-IA","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHublastX%2FCommit-IA","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHublastX%2FCommit-IA/lists"}