{"id":24905778,"url":"https://github.com/bannawandoor27/commitgenius","last_synced_at":"2025-04-14T08:12:50.467Z","repository":{"id":275087881,"uuid":"925046200","full_name":"bannawandoor27/Commitgenius","owner":"bannawandoor27","description":"A Rust-based CLI tool that uses local LLMs (via Ollama) to generate conventional commit messages from your git diffs.","archived":false,"fork":false,"pushed_at":"2025-02-23T02:42:17.000Z","size":3213,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T21:48:08.776Z","etag":null,"topics":["cargo","commandline-tool","commit","git","ollama","rust"],"latest_commit_sha":null,"homepage":"https://commitgenius.hasanulbanna.in/","language":"Rust","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/bannawandoor27.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}},"created_at":"2025-01-31T05:47:00.000Z","updated_at":"2025-03-06T21:01:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"42893067-3eb6-4c7a-b597-5c8bf1cd3514","html_url":"https://github.com/bannawandoor27/Commitgenius","commit_stats":null,"previous_names":["bannawandoor27/commitgenius"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannawandoor27%2FCommitgenius","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannawandoor27%2FCommitgenius/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannawandoor27%2FCommitgenius/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannawandoor27%2FCommitgenius/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bannawandoor27","download_url":"https://codeload.github.com/bannawandoor27/Commitgenius/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248843941,"owners_count":21170495,"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":["cargo","commandline-tool","commit","git","ollama","rust"],"created_at":"2025-02-02T00:24:51.921Z","updated_at":"2025-04-14T08:12:50.442Z","avatar_url":"https://github.com/bannawandoor27.png","language":"Rust","readme":"# 🚀 Commitgenius\n\nA powerful CLI tool that generates conventional commit messages using local LLMs via Ollama. Say goodbye to writing commit messages manually!\n\n[![Crates.io](https://img.shields.io/crates/v/commitgenius.svg)](https://crates.io/crates/commitgenius)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## ✨ Features\n\n- 🤖 Generates smart, conventional commit messages using local LLMs\n- 🔄 Automatically manages Ollama service\n- 🎯 Supports multiple Ollama models\n- 🚀 Fast and efficient\n- 💻 Works offline with local models\n- 📝 Automatic git staging with smart file selection\n\n## 📦 Installation\n\n### Using Cargo (All Platforms)\n\n```bash\ncargo install commitgenius\n```\n\n### Using Homebrew (macOS and Linux)\n\n```bash\nbrew tap bannawandoor27/Commitgenius\nbrew install commitgenius\n```\n\n### Using APT (Debian/Ubuntu)\n\n```bash\n# Add GPG key\ncurl -fsSL https://bannawandoor27.github.io/Commitgenius/apt-repo/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/commitgenius-archive-keyring.gpg\n\n# Add repository\necho \"deb [signed-by=/usr/share/keyrings/commitgenius-archive-keyring.gpg] https://bannawandoor27.github.io/Commitgenius/apt-repo stable main\" | sudo tee /etc/apt/sources.list.d/commitgenius.list\n\n# Update and install\nsudo apt update\nsudo apt install commitgenius\n```\n\n### Prerequisites\n\n- [Ollama](https://ollama.ai/) must be installed on your system\n- Rust and Cargo (if installing via cargo)\n\n## 🚀 Usage\n\n### Basic Usage\n\n1. Stage and commit all changes:\n```bash\ncmgenius .\n```\n\n2. Stage and commit specific files:\n```bash\ncmgenius file1.rs file2.rs\n```\n\n3. Commit already staged changes:\n```bash\ncmgenius\n```\n\n### Advanced Usage\n\nUse a different model:\n```bash\n# Stage and commit all changes with a specific model\ncmgenius . --model codellama\n\n# Stage and commit specific files with a specific model\ncmgenius file1.rs file2.rs --model codellama\n\n# Commit staged changes with a specific model\ncmgenius --model codellama\n```\n\nAvailable models:\n- qwen2.5:7b (default)\n- codellama\n- llama2\n- mistral\n- neural-chat\n- And any other model available in Ollama\n\n### Examples\n\n```bash\n# Stage and commit all changes\ncmgenius .\n\n# Stage and commit specific files\ncmgenius src/main.rs Cargo.toml\n\n# Commit already staged changes with a specific model\ncmgenius --model codellama\n\n# View available options\ncmgenius --help\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how you can help:\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes using Commitgenius! (`cmgenius .`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Ollama](https://ollama.ai/) for providing the local LLM infrastructure\n- The Rust community for amazing crates and tools\n\n## 📧 Contact\n\nHasanul Banna - [@bannawandoor27](https://github.com/bannawandoor27)\n\nProject Link: [https://github.com/bannawandoor27/Commitgenius](https://github.com/bannawandoor27/Commitgenius)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbannawandoor27%2Fcommitgenius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbannawandoor27%2Fcommitgenius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbannawandoor27%2Fcommitgenius/lists"}