{"id":29481008,"url":"https://github.com/knetic0/auto-commit-message-generator","last_synced_at":"2025-10-05T21:49:36.125Z","repository":{"id":304636010,"uuid":"1018976104","full_name":"knetic0/auto-commit-message-generator","owner":"knetic0","description":"⚡️ A lightweight CLI tool written in Go that leverages Google’s Gemini generative AI to automatically craft meaningful Git commit messages based on your uncommitted changes.","archived":false,"fork":false,"pushed_at":"2025-07-14T09:33:39.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-14T12:32:28.269Z","etag":null,"topics":["auto-commit","cli","commit","gemini","gemini-api","git","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knetic0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-13T13:22:48.000Z","updated_at":"2025-07-14T09:33:43.000Z","dependencies_parsed_at":"2025-07-14T12:32:30.899Z","dependency_job_id":"9f35bbbc-da42-47c4-bdcb-c49fc788e10d","html_url":"https://github.com/knetic0/auto-commit-message-generator","commit_stats":null,"previous_names":["knetic0/auto-commit-message-generator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/knetic0/auto-commit-message-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knetic0%2Fauto-commit-message-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knetic0%2Fauto-commit-message-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knetic0%2Fauto-commit-message-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knetic0%2Fauto-commit-message-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knetic0","download_url":"https://codeload.github.com/knetic0/auto-commit-message-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knetic0%2Fauto-commit-message-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265375473,"owners_count":23755238,"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":["auto-commit","cli","commit","gemini","gemini-api","git","golang"],"created_at":"2025-07-14T23:55:15.495Z","updated_at":"2025-10-05T21:49:31.069Z","avatar_url":"https://github.com/knetic0.png","language":"Go","readme":"# Auto Commit Message Generator\n\nA lightweight CLI tool written in Go that leverages Google’s Gemini generative AI to automatically craft meaningful Git commit messages based on your uncommitted changes. Simply run the tool in your repository, review the suggested message, and press Enter to commit or Esc to cancel.\n\n# Features\n\n- **AI-Powered Commit Messages**\nUses Google Gemini (via HTTP request) to generate clear, conventional commit style messages from your diffs.\n\n- **Zero External Dependencies**\nRelies only on Go’s standard library (net/http, encoding/json, os/exec, etc.).\n\n- **Interactive Confirmation**\nPresents the generated message and waits for Enter (to proceed) or Esc (to abort).\n\n- **Handles Initial Commit**\nDetects if your repo has only one commit and uses git diff-tree accordingly.\n\n- **Cross-Platform**\nWorks on macOS, Linux, and Windows (with Go and Git installed).\n\n# Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/knetic0/auto-commit-message-generator.git\n    ```\n\n2. Build the binary:\n   ```bash\n   cd auto-commit-message-generator\n   go build -o generate-commit ./cmd/app\n   ```\n\n3. Move the binary to your PATH:\n   ```bash\n   Mac/Linux:\n   sudo mv generate-commit /usr/local/bin/\n    ```\n\n# Configuration\n\n```bash\nexport GEMINI_API_KEY=\"your_api_key_here\"\n```\n\n# Usage\n\nRun the tool in your Git repository:\n\n```bash\ncd path/to/your/git/repo\ngenerate-commit\n```\n\n# Project Structure\n\n```\nauto-commit-message-generator/\n├── cmd/\n│   └── app/\n│       └── main.go\n├── internal/\n│   ├── git/\n│   │   ├── gitsys.go\n│   └── gemini/\n│       ├── client.go\n│       └── types.go\n├── go.mod\n├── go.sum\n└── README.md\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknetic0%2Fauto-commit-message-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknetic0%2Fauto-commit-message-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknetic0%2Fauto-commit-message-generator/lists"}