AI-powered git automation tool - clone, branch, change, commit, push with intelligence
Project description
GitLlama 🦙🤖
AI-powered git automation tool. Let AI intelligently clone, branch, change, commit, and push your code.
Features
- AI-Powered Decision Making: Uses Ollama LLMs to make intelligent decisions
- Smart Repository Analysis: AI explores and understands your project structure
- Intelligent Branch Naming: AI suggests meaningful branch names based on context
- Automated File Operations: AI decides what files to create, modify, or delete
- Context-Aware Commits: AI generates meaningful commit messages
- Fallback Mode: Works without AI for simple automation
Installation
pip install gitllama
Prerequisites
For AI features, you need Ollama running locally:
# Install Ollama (if not already installed)
curl -fsSL https://ollama.com/install.sh | sh
# Start Ollama server
ollama serve
# Pull a model (recommended for this tool)
ollama pull llama3.2:3b
Usage
Basic AI-powered usage:
gitllama https://github.com/user/repo.git
With custom model:
gitllama https://github.com/user/repo.git --model codellama:7b
Manual branch name (AI still handles other decisions):
gitllama https://github.com/user/repo.git --branch feature/my-improvement
Manual commit message:
gitllama https://github.com/user/repo.git --message "feat: add new feature"
Disable AI (simple automation):
gitllama https://github.com/user/repo.git --no-ai
What it does
- Clones the repository
- AI explores the project - reads files, understands structure
- AI decides on branch name - meaningful and context-aware
- AI makes intelligent changes - creates, modifies, or deletes files
- AI generates commit message - follows conventional commit format
- Pushes to remote
Python API
from gitllama import GitAutomator, AICoordinator
# With AI
ai = AICoordinator(model="llama3.2:3b")
with GitAutomator(ai_coordinator=ai) as automator:
results = automator.run_full_workflow(
git_url="https://github.com/user/repo.git"
)
print(f"Success: {results['success']}")
print(f"AI Analysis: {results.get('ai_analysis')}")
# Without AI
with GitAutomator() as automator:
results = automator.run_full_workflow(
git_url="https://github.com/user/repo.git",
branch_name="my-branch",
commit_message="My changes"
)
AI Models
The tool works with any Ollama model. Recommended models:
llama3.2:3b- Fast and efficient (default)codellama:7b- Better for code-heavy repositoriesmistral:7b- Good general purposegemma2:2b- Very fast, good for simple tasks
Configuration
# Use a different Ollama server
gitllama https://github.com/user/repo.git --ollama-url http://remote-server:11434
# Verbose output for debugging
gitllama https://github.com/user/repo.git --verbose
How AI Makes Decisions
- Repository Exploration: AI reads key files to understand project type, technologies, and structure
- Branch Naming: Based on project context, suggests descriptive branch names
- File Operations: Decides whether to:
- Create new files (documentation, configs, utilities)
- Modify existing files (improvements, fixes)
- Delete unnecessary files
- Commit Messages: Generates conventional commit format messages based on changes
Development
git clone https://github.com/your-org/gitllama.git
cd gitllama
pip install -e ".[dev]"
License
GPL v3 - see LICENSE file.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitllama-0.2.0.tar.gz.
File metadata
- Download URL: gitllama-0.2.0.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb8c8dcf79bf462e1435d005b523d8d103acc26647d60186a891f47857f2aa6b
|
|
| MD5 |
dddf008b0ba991799ab5cc0a061ac794
|
|
| BLAKE2b-256 |
70ce3209e1a23aab7d18e0d39091e99570ede7fb8023581d5a7c1b93e79f1531
|
File details
Details for the file gitllama-0.2.0-py3-none-any.whl.
File metadata
- Download URL: gitllama-0.2.0-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc7d4bf417c524e3029c10ced2c48e794bfd0f4d98694e9c5ad05f2d38c9f047
|
|
| MD5 |
69678dd70887b74e87fd65f1790aeb7d
|
|
| BLAKE2b-256 |
a4df6b43116807590057d8f736e198c56aa5730c33f594ca215d076c6212815e
|