{"id":38145967,"url":"https://github.com/rm-hull/git-commit-summary","last_synced_at":"2026-06-14T01:06:53.135Z","repository":{"id":321112020,"uuid":"1084533208","full_name":"rm-hull/git-commit-summary","owner":"rm-hull","description":"Automatically generates a concise commit summary for your staged changes","archived":false,"fork":false,"pushed_at":"2026-05-12T16:35:34.000Z","size":419,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T18:28:57.613Z","etag":null,"topics":["ai","commit-message","git"],"latest_commit_sha":null,"homepage":"","language":"Go","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/rm-hull.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-27T20:07:36.000Z","updated_at":"2026-05-12T16:50:42.000Z","dependencies_parsed_at":"2026-01-15T14:02:27.585Z","dependency_job_id":null,"html_url":"https://github.com/rm-hull/git-commit-summary","commit_stats":null,"previous_names":["rm-hull/git-commit-summary"],"tags_count":140,"template":false,"template_full_name":null,"purl":"pkg:github/rm-hull/git-commit-summary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fgit-commit-summary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fgit-commit-summary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fgit-commit-summary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fgit-commit-summary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rm-hull","download_url":"https://codeload.github.com/rm-hull/git-commit-summary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fgit-commit-summary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33170458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","commit-message","git"],"created_at":"2026-01-16T22:55:59.373Z","updated_at":"2026-06-14T01:06:53.126Z","avatar_url":"https://github.com/rm-hull.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Commit Summary\n\nTired of writing git commit messages? This tool uses AI ✨ to automatically generate a concise commit summary for your staged changes.\n\n![screenshot](./docs/screenshot.png)\n\n## Features\n\n- **Automatic Commit Summaries:** Analyzes your staged changes and generates ~~AI-slop~~ high-quality commit messages.\n- **Interactive Confirmation:** Prompts you to confirm the commit message before committing.\n- **Raw Diff View:** Quickly review your staged changes with a colored diff directly within the editor.\n- **Contextual Hints:** Provide additional context to the LLM via the `--hint` flag to improve relevance.\n- **Colorful Output:** Provides a visually appealing and easy-to-read output in your terminal.\n- **Multiple LLM Providers:** Supports Google Gemini, OpenAI, OpenRouter, and local Llama.cpp instances.\n- **Setup Wizard:** Easy configuration with an interactive setup wizard.\n\n![diff_view](./docs/diff_view.png)\n\n## Installation\n\nIf you have [homebrew](https://brew.sh/), you can first add this tap to your Homebrew installation:\n\n```bash\nbrew tap rm-hull/tap\n```\n\nThen you can install with:\n\n```bash\nbrew install git-commit-summary\n```\n\n\u003e [!NOTE]\n\u003e Alternatively, if you have the [golang](https://go.dev/doc/install) toolchain, you can install with:\n\u003e\n\u003e ```bash\n\u003e go install github.com/rm-hull/ git-commit-summary@latest\n\u003e ```\n\nEnsure that the executable is on your `$PATH`. You can verify this by running `git-commit-summary --version`.\n\n## Setup\n\nThe easiest way to configure `git-commit-summary` is by using the built-in setup wizard:\n\n```bash\ngit commit-summary --setup-wizard\n```\n\nThis will guide you through selecting an LLM provider, choosing a model, and entering your API key. The configuration is stored in an XDG-compliant location (e.g., `~/.config/git-commit-summary/config.env`).\n\n### Manual Configuration\n\nIf you prefer to configure the tool manually, you can create or edit the `config.env` file in your XDG config home directory:\n\n- **Linux**: `~/.config/git-commit-summary/config.env`\n- **MacOS**: `~/Library/Application Support/git-commit-summary/config.env`\n- **Windows**: `%USERPROFILE%\\.config\\git-commit-summary\\config.env`\n\nYou can also use a `.env` file in your git repository root for project-specific overrides.\n\n#### Supported Providers\n\n| Provider          | Environment Variables                                                                               |\n| :---------------- | :-------------------------------------------------------------------------------------------------- |\n| **Google Gemini** | `LLM_PROVIDER=\"google\"`, `GEMINI_API_KEY`, `GEMINI_MODEL` (default: `gemini-3-flash-preview`)       |\n| **OpenAI**        | `LLM_PROVIDER=\"openai\"`, `OPENAI_API_KEY`, `OPENAI_MODEL` (default: `gpt-4o`)                       |\n| **OpenRouter**    | `LLM_PROVIDER=\"openrouter\"`, `OPENROUTER_API_KEY`, `OPENROUTER_MODEL`                               |\n| **Llama.cpp**     | `LLM_PROVIDER=\"llama.cpp\"`, `LLAMACPP_BASE_URL`, `LLAMACPP_MODEL`, `LLAMACPP_API_KEY` (if required) |\n\n#### Local Llama.cpp Example\n\nTo point to a local [llama.cpp](https://github.com/ggml-org/llama.cpp) service, use the following config:\n\n```\nLLM_PROVIDER=\"llama.cpp\"\nLLAMACPP_BASE_URL=\"http://localhost:8080/v1\"\nLLAMACPP_MODEL=\"Meta-Llama-3.1-8B-Instruct-Q4_K_M\"\n```\n\n## Usage\n\n1.  **Stage your changes:**\n\n    ```bash\n    git add \u003cfiles\u003e\n    ```\n\n2.  **Run the tool:**\n\n    ```bash\n    git commit-summary\n    ```\n\n3.  **Confirm the commit:**\n    The tool will display the generated commit summary. Use the following shortcuts to interact with it:\n    - `CTRL+A`: Accept and commit\n    - `CTRL+R`: Reprompt \u0026 regenerate the commit message\n    - `CTRL+K`: Clear the generated commit message\n    - `CTRL+X`: Cut line and copy to clipboard\n    - `CTRL+P`: Toggle preview mode\n    - `CTRL+D`: View raw colored diff of staged changes\n    - `ESC`: Abort\n\n## Flags\n\n| Flag             | Shorthand | Description                                                           |\n| :--------------- | :-------- | :-------------------------------------------------------------------- |\n| `--all`          | `-a`      | Add all tracked files to the commit                                   |\n| `--help`         | `-h`      | Show help                                                             |\n| `--hint`         | `-H`      | Provide contextual guidance for the commit summary generation         |\n| `--llm-provider` |           | Override the `LLM_PROVIDER` environment variable                      |\n| `--message`      | `-m`      | Append a message to the commit summary                                |\n| `--setup-wizard` |           | Run the interactive setup wizard                                      |\n| `--skip-ci`      |           | Append `[skip ci]` to the first line of the commit message to skip CI |\n| `--version`      | `-v`      | Display version                                                       |\n| `--yolo`         |           | Commit immediately without asking for confirmation                    |\n\n## Git Alias\n\nAdd an alias to your `~/.gitconfig` for faster access:\n\n```bash\ngit config --global alias.cs commit-summary\n```\n\nNow you can just run `git cs`.\n\n## Stats\n\n![downloads](./docs/download_stats.png)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frm-hull%2Fgit-commit-summary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frm-hull%2Fgit-commit-summary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frm-hull%2Fgit-commit-summary/lists"}