{"id":25441999,"url":"https://github.com/eumel8/ai-commit","last_synced_at":"2025-06-14T09:06:39.612Z","repository":{"id":277596640,"uuid":"932928064","full_name":"eumel8/ai-commit","owner":"eumel8","description":"A Git Commit Hook with AI Support","archived":false,"fork":false,"pushed_at":"2025-02-15T19:21:16.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T09:06:31.102Z","etag":null,"topics":["ai","deepseek-r1","git","ollama-api","prompt-engineering"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/eumel8.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-02-14T19:28:40.000Z","updated_at":"2025-03-11T20:06:41.000Z","dependencies_parsed_at":"2025-06-14T09:06:33.175Z","dependency_job_id":null,"html_url":"https://github.com/eumel8/ai-commit","commit_stats":null,"previous_names":["eumel8/ai-commit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eumel8/ai-commit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eumel8%2Fai-commit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eumel8%2Fai-commit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eumel8%2Fai-commit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eumel8%2Fai-commit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eumel8","download_url":"https://codeload.github.com/eumel8/ai-commit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eumel8%2Fai-commit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259790455,"owners_count":22911547,"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","deepseek-r1","git","ollama-api","prompt-engineering"],"created_at":"2025-02-17T13:16:23.732Z","updated_at":"2025-06-14T09:06:39.594Z","avatar_url":"https://github.com/eumel8.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ai-commit\n\nAre you tired to think about a commit message at the end of making changes on your code?\nHave you often `Update README.md` or `test` as message in your git log? Let create AI for you a meanful message based on last `git diff`. Here is a Git Commit Hook with AI Support\n\nLook at the [demo](https://eumel8.github.io/ai-commit/recording.html) how to work on a Terraform manifest for OpenTelekomCloud\n\n# preparation\n\n* A running [Ollama](https://ollama.com/) instance running with API access, probably on your computer on `127.0.0.1:11434`\n* Loaded LLM to use, e.g. [deepseek-coder-v2-lite-base-q4_k_m-gguf:latest](https://ollama.com/networkjohnny/deepseek-coder-v2-lite-base-q4_k_m-gguf), a DeepSeek-Coder-V2-Lite-Base with only 2GB\n\n  ```bash\n  # ollama pull networkjohnny/deepseek-coder-v2-lite-base-q4_k_m-gguf:latest\n  # ollama serve\n  ```\n\n* required tools on your computer: curl, jq, sed\n* copy `commit-msg` to `.git/hooks/commit-msg` in your Git repo and make it executable (`chmod +x`)\n* make changes and review AI's work. If you are unhappy, just edit the message with `git commit --amend` bevore push\n\n\n# customization\n\nai-commit works out of the bos with a local Ollama instance. Nevertheless you can customize such things in the `commit-msg` file:\n\n* OLLAMA_API: API endpoint of OLLAMA instance\n* MODEL: Name of the usesd LLM (available on the OLLAMA host, can be any LLM such llamam, mistral, deepseek-r1)\n* PROMPT: exact task explained to the AI\n* COMMIT_MSG: Lots of magic to modify the output and make a conform Git commit message\n   \n# super lazy mode\n\n```\nalias ac='git add . \u0026\u0026 git commit -m \"\"'\n```\n\n# Credits\n\nFrank Kloeker f.kloeker@telekom.de\n\nLife is for sharing. If you have an issue with the code or want to improve it, feel free to open an issue or an pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feumel8%2Fai-commit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feumel8%2Fai-commit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feumel8%2Fai-commit/lists"}