An intelligent CLI tool for automated Git commits, documentation, and changelog management with LLM support.
- Automatic detection of commit types based on https://www.conventionalcommits.org/en/v1.0.0/
- Context-aware commit descriptions
- Git history-based suggestions
- Automatic CHANGELOG.md generation
- Categorized changes
- Commit linking
- LangChain: LLM Integration and Tools
- LangGraph: Agent Orchestration
- Ollama: Local LLM (Mistral or Llama2)
- Chroma: Vector store for Embeddings
- HuggingFace Embeddings (BAAI/bge-small-en-v1.5)
- Poetry: Dependency Management
- Typer: CLI Framework
- GitPython: Git Integration
- Rich: Terminal Formatting
The core/commit_agent.py script is the heart of the application. Unfortunately, tools with Ollama didn't work, so it's a Chain. For a detailed description, see Domain Documentation.
- Python 3.11+
- Poetry
- Git
- Ollama (for local LLM)
-
Clone repository:
git clone https://github.com/yourusername/gitsynth.git cd gitsynth
-
Set Python version:
# If using Conda, deactivate first conda deactivate # Set Python 3.11 for Poetry poetry env use python3.11
-
Install dependencies:
poetry install
-
Activate development environment:
poetry shell
-
Switch to any repo and stage changes:
git init git add .
-
Start Gitsynth:
gitsynth agent commit
After activating the Poetry shell:
# Create commit with changelog
gitsynth agent commit
# Analyze changes
gitsynth analyze
# Debug analysis
gitsynth debug or gitsynth agent commit --debug
# TODO: Show help
gitsynth --help
- 🤖 AI-powered commit analysis
- 📝 Intelligent commit messages
- 🎯 Conventional Commits support
- 🎨 Beautiful terminal output
- "Command not found: poetry": Reinstall Poetry or set PATH
- Conda conflicts: Run
conda deactivate
before using Poetry - Ollama errors: Ensure Ollama is running (
ollama run llama3.2
)
- CommitAgent: Analyzes changes & generates commits
# See the flow
gitsynth agent commit
- [✅] Basic CLI Setup with Poetry & Typer
- [✅] Git Integration & Diff Analysis
- [✅ ❌] LangChain/LangGraph Agent System
- [✅] Chroma Vector Store Integration
- [✅] Ollama LLM Integration
- [✅] Initial Commit Message Generation
- [✅] Documentation Synchronization
- [❌] Changelog Management
Contributions are welcome!
MIT