Skip to main content

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

  1. Clones the repository
  2. AI explores the project - reads files, understands structure
  3. AI decides on branch name - meaningful and context-aware
  4. AI makes intelligent changes - creates, modifies, or deletes files
  5. AI generates commit message - follows conventional commit format
  6. 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 repositories
  • mistral:7b - Good general purpose
  • gemma2: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

  1. Repository Exploration: AI reads key files to understand project type, technologies, and structure
  2. Branch Naming: Based on project context, suggests descriptive branch names
  3. File Operations: Decides whether to:
    • Create new files (documentation, configs, utilities)
    • Modify existing files (improvements, fixes)
    • Delete unnecessary files
  4. 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

gitllama-0.2.0.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitllama-0.2.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

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

Hashes for gitllama-0.2.0.tar.gz
Algorithm Hash digest
SHA256 eb8c8dcf79bf462e1435d005b523d8d103acc26647d60186a891f47857f2aa6b
MD5 dddf008b0ba991799ab5cc0a061ac794
BLAKE2b-256 70ce3209e1a23aab7d18e0d39091e99570ede7fb8023581d5a7c1b93e79f1531

See more details on using hashes here.

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

Hashes for gitllama-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc7d4bf417c524e3029c10ced2c48e794bfd0f4d98694e9c5ad05f2d38c9f047
MD5 69678dd70887b74e87fd65f1790aeb7d
BLAKE2b-256 a4df6b43116807590057d8f736e198c56aa5730c33f594ca215d076c6212815e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page