Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevinmbeaulieu/git-ai-summarize
A command-line tool for summarizing changes in Git repositories using AI.
https://github.com/kevinmbeaulieu/git-ai-summarize
ai anthropic anthropic-claude claude claude-ai command-line-tool git gpt langchain langchain-python llm llms openai python
Last synced: about 1 month ago
JSON representation
A command-line tool for summarizing changes in Git repositories using AI.
- Host: GitHub
- URL: https://github.com/kevinmbeaulieu/git-ai-summarize
- Owner: kevinmbeaulieu
- License: gpl-3.0
- Created: 2024-11-13T23:33:17.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-15T04:11:49.000Z (about 2 months ago)
- Last Synced: 2024-12-02T17:59:46.837Z (about 1 month ago)
- Topics: ai, anthropic, anthropic-claude, claude, claude-ai, command-line-tool, git, gpt, langchain, langchain-python, llm, llms, openai, python
- Language: Python
- Homepage: https://pypi.org/project/git-ai-summarize/
- Size: 33.2 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Git AI Summarize
A command-line tool for summarizing changes in Git repositories using AI.
## Installation
```bash
pip install git-ai-summarize
```## Requirements
- Python 3.8 or higher
- An API key for Anthropic (or your preferred LLM)## Setup
Set an environment variable with your LLM API key. To use the default Anthropic model, use:
```bash
export ANTHROPIC_API_KEY='your-api-key-here'
```Add this to your shell profile to make it permanent.
## Commands
### Summarize changes between commits
Provide a commit hash or a range of commits to get a summary of the changes.
```bash
# Compare with HEAD
git summarize# Compare any two commits
git summarize ..
```### Pull and summarize changes
Pass the `--pull` flag to pull changes from the remote and summarize the changes since the last pull.
```bash
git summarize --pull
```## Using alternative LLM providers/models
You can pass the `--provider` and `--model` argument to use a different LLM provider/model. The default provider is `anthropic`, and the default model is `claude-3-5-sonnet-latest`. To get a list of all supported providers, run:
```bash
git summarize --list-providers
```To get a list of all supported models for a provider, see the LLM providers' documentation.
Depending on the provider, you may need to set additional environment variables with that provider's API key (e.g., `ANTHROPIC_API_KEY` for Anthropic/Claude, `OPENAI_API_KEY` for OpenAI/GPT, etc.).
To change your default provider/model, you can set the `GIT_SUMMARIZE_PROVIDER` and `GIT_SUMMARIZE_MODEL` environment variables.
If you would like to use a model by a provider that is not currently supported by this package, feel free to submit an Issue with the name of the model/provider and we can look into it. If it is supported by LangChain, we can most likely add it.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
GNU GPLv3 License