{"id":24709096,"url":"https://github.com/Sweet-Papa-Technologies/egit","last_synced_at":"2025-10-09T10:32:14.327Z","repository":{"id":269624887,"uuid":"907959610","full_name":"Sweet-Papa-Technologies/egit","owner":"Sweet-Papa-Technologies","description":"A.I. tools and workflows for Git","archived":false,"fork":false,"pushed_at":"2025-01-03T20:06:20.000Z","size":156,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-03T21:22:04.475Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sweet-Papa-Technologies.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":"2024-12-24T17:54:09.000Z","updated_at":"2025-01-03T20:06:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"50609f66-5d68-453a-826c-b8eb0023d418","html_url":"https://github.com/Sweet-Papa-Technologies/egit","commit_stats":{"total_commits":93,"total_committers":2,"mean_commits":46.5,"dds":"0.010752688172043001","last_synced_commit":"539172691e371fcd3e060e368bb6256cea59d3a3"},"previous_names":["sweet-papa-technologies/egit"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sweet-Papa-Technologies%2Fegit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sweet-Papa-Technologies%2Fegit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sweet-Papa-Technologies%2Fegit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sweet-Papa-Technologies%2Fegit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sweet-Papa-Technologies","download_url":"https://codeload.github.com/Sweet-Papa-Technologies/egit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235813558,"owners_count":19048988,"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":[],"created_at":"2025-01-27T07:00:58.642Z","updated_at":"2025-10-09T10:32:13.896Z","avatar_url":"https://github.com/Sweet-Papa-Technologies.png","language":"Python","funding_links":[],"categories":["\u003ca name=\"ai\"\u003e\u003c/a\u003eAI / ChatGPT"],"sub_categories":[],"readme":"# eGit - Extended Git CLI with LLM Capabilities\n\neGit is a CLI tool that extends Git with LLM capabilities, making it easier to work with commit messages, generate release notes, and understand code changes.\n\n## Table of Contents\n\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Environment Variables](#environment-variables)\n- [Contributing](#contributing)\n- [License](#license)\n- [Full Documentation](#full-documentation)\n\n## Features\n- 🤖 AI-powered commit message generation from staged changes\n- 📝 Intelligent release notes generation with automatic tagging\n- 🔍 Smart change summarization for commits and branches\n- ⚙️ Flexible configuration for different LLM providers\n\n## Requirements\n- macOS or Windows (Not tested on Linux, but should work and will be fully supported in the future)\n- Python 3.10 or higher preinstalled\n- Git preinstalled\n- One of the following LLM providers:\n  - Ollama (default)\n  - LM Studio (Recommended for local models)\n  - OpenAI\n  - Anthropic\n  - Google Gemini\n\n## Installation\n\n### Windows\n```powershell\n# Download eGit\ngit clone https://github.com/Sweet-Papa-Technologies/egit.git\ncd egit\n\n# Run the installer\n.\\install.ps1\n```\n\n### macOS/Linux\n```bash\n# Download eGit\ngit clone https://github.com/Sweet-Papa-Technologies/egit.git\ncd egit\n\n# Make the installer executable\nchmod +x install.sh\n\n# Run the installer\n./install.sh\n```\n\nThe installer will:\n1. Check for Python 3.10+ and Git\n2. Create a virtual environment\n3. Install required dependencies\n4. Install eGit in development mode\n5. Add eGit to your PATH (may require admin privileges on Windows)\n\n### Manual PATH Configuration\nIf you don't have admin privileges on Windows, you can manually add eGit to your PATH:\n1. Run the `setx` command shown during installation, or\n2. Add the installation directory to your PATH environment variable\n\nAlternatively, you can manually call eGit from the install directory:\n\n```shell\n# macOS or Linux\n~/.egit/.venv/bin/egit\n\n# Windows\nC:\\ProgramData\\egit\\.venv\\Scripts\\egit.exe\n```\n\n## Usage\nNOTE: API KEY value must be set, otherwise LLM calls will fail. If your endpoint does not take an API key, please set a fake value such as `sk-123`. The value will be ignored if your endpoint does not need it.\n\n#### How this would typically be used:\n```bash\ngit add .\negit summarize --commit\ngit push\n```\n\n### Summarize and Commit Changes\n```bash\n# View summary of staged changes\negit summarize --staged\n\n# View summary of current branch changes\negit summarize --branch\n\n# Generate summary and automatically commit staged changes\negit summarize --commit\n```\n\n### Generate Release Notes and Tags\n```bash\n# Generate release notes for version (draft mode)\negit release-notes 1.0.0 --draft\n\n# Create and push an annotated tag with release notes\negit release-notes 1.0.0 --tag\n```\n\n### Configuration Management\n```bash\n# View current configuration\negit config --show\n\n# Set configuration values\negit config --set llm_provider --value ollama\negit config --set llm_model --value ollama/llama3.2:3b\negit config --set llm_api_key --value your_api_key\n```\n\n### Version Information\n```bash\negit --version\n# or\negit -v\n```\n\n## Environment Variables\nSettings can be set via Env Vars or via CLI flags. These are the available environment variables:\n\n- `GIT_EXECUTABLE`: Path to Git executable (default: system git)\n- `LLM_PROVIDER`: LLM provider to use (default: ollama)\n- `LLM_MODEL`: Model name (default: ollama/llama3.2:3b)\n- `LLM_API_KEY`: API key for the LLM service (default: sk-123 for Ollama)\n- `LLM_API_BASE`: Base URL for the LLM API (default: http://localhost:11434)\n- `LLM_MAX_TOKENS`: Maximum tokens for LLM response (default: 4096)\n- `LLM_TEMPERATURE`: Temperature for LLM sampling (default: 0.7)\n\n## Example LLM Provider Setup and Commands\nSettings can be set via Env Vars or via CLI flags. These are the CLI Flags\n\nMax Tokens and Temperature are optional, but to set them, use the following commands:\n\n`egit config --set llm_max_tokens --value 4096` \n`egit config --set llm_temperature --value 0.7`\n\n### Ollama\n```bash\negit config --set llm_provider --value ollama\negit config --set llm_model --value ollama/llama3.2:3b\negit config --set llm_api_key --value sk-123\negit config --set llm_api_base --value http://localhost:11434\n```\n\n### LM Studio\n```bash\negit config --set llm_provider --value lmstudio\negit config --set llm_model --value lm_studio/hermes-3-llama-3.1-8b\negit config --set llm_api_key --value sk-123\negit config --set llm_api_base --value http://localhost:1221/v1\n```\n\n### OpenAI\n```bash\negit config --set llm_provider --value openai\negit config --set llm_model --value openai/gpt-4o\negit config --set llm_api_key --value myopenaiapikey\negit config --set llm_api_base --value https://api.openai.com/v1\n```\n\n### Anthropic\n```bash\negit config --set llm_provider --value anthropic\negit config --set llm_model --value anthropic/claude-3-5-sonnet-20241022\negit config --set llm_api_key --value myanthropicapikey\negit config --set llm_api_base --value https://api.anthropic.com\negit config --set llm_max_tokens --value 8192 # NOTE: 8192 is the max for Anthropic\n```\n\n### Gemini\n```bash\negit config --set llm_provider --value gemini\negit config --set llm_model --value gemini/gemini-1.5-pro\negit config --set llm_api_key --value mygeminiapikey\n```\n\n### Google Vertex AI\nNot Supported yet (Coming Soon!)\n\n## Tested Models\nThese models have been tested with eGit so far, and should work as expected. Most models that are 8b or highershould work (Even 1b and 3b seem to work OK via LM Studio), so feel free to try out whatever you like.\n\n- ollama/llama3.1:8b # Seems to work OK, except for larger contexts (may be an Ollama config issue)\n- lm_studio/hermes-3-llama-3.1-8b # Works Great\n- openai/gpt-4o # Works Excellent\n- anthropic/claude-3-5-sonnet-20241022 # Works Excellent\n- gemini/gemini-1.5-pro # Works Excellent\n\nNOTE: We use LiteLLM to manage the LLM API, so we can use any LLM provider that LiteLLM supports generally. Please see [LiteLLM Providers](https://docs.litellm.ai/docs/providers) for more information on supported LLM providers.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is released under the [Apache License](LICENSE).\n\n## Full Documentation\n\nFor more information, visit [Documentation](docs/USER_DOCS/README.md).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSweet-Papa-Technologies%2Fegit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSweet-Papa-Technologies%2Fegit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSweet-Papa-Technologies%2Fegit/lists"}