Skip to content

Technoculture/Git0

Repository files navigation

🤖 Git0: GitHub for AI Agents

TL;DR: Git0 is a self-hosted Git service that stores everything on S3 and provides APIs designed for autonomous AI agents. If you're building self-improving AI systems, this is the Git infrastructure they need.

Python License Docker S3


🚀 30-Second Quick Start

# Clone and run
git clone https://github.com/satyamtiwary/git0
cd git0 && docker-compose up -d

# Your Git service is now running!
# Web API: http://localhost:8000
# S3 Console: http://localhost:9001 (MinIO)

🤔 Why AI Agents Need Their Own GitHub

GitHub is built for humans. But AI agents are different:

  1. They generate A LOT of code - Traditional Git storage doesn't scale. S3 does.
  2. They work 24/7 - No disk space alerts at 3 AM. Infinite S3 storage.
  3. They need APIs, not UIs - Every operation must be programmable.
  4. They react to events - Real-time streams trigger autonomous improvements.
  5. They self-improve - Version control for machines learning from their mistakes.

Git0 is built from the ground up for this new paradigm.


🎯 Real-World Agent Workflows

Self-Improving Code Agent

from git0_sdk import Git0Client
import litellm

client = Git0Client(base_url='http://localhost:8000/api/v1')

# Agent monitors its own code quality
async def self_improve():
    for event in client.events.stream():
        if event.type == 'pull_request.merged':
            # Analyze what was merged
            pr = event.data
            diff = client.pulls.get_diff(pr.org, pr.repo, pr.number)
            
            # Learn from the changes
            insights = litellm.completion(
                model='gpt-4',
                messages=[{
                    'role': 'system',
                    'content': 'What patterns can we learn from this PR?'
                }, {
                    'role': 'user',
                    'content': diff
                }]
            )
            
            # Apply learnings to improve other code
            improvements = generate_improvements(insights)
            client.repos.create_pr(
                title="Self-improvement based on PR #" + pr.number,
                changes=improvements
            )

Autonomous Bug Fixer

# Agent that automatically fixes failing tests
async def auto_fix_bugs():
    for event in client.events.stream():
        if event.type == 'workflow.failed':
            # Get the failure logs
            logs = event.data.logs
            failing_test = extract_failing_test(logs)
            
            # Generate fix
            fix = litellm.completion(
                model='claude-3',
                messages=[{
                    'role': 'user',
                    'content': f'Fix this failing test:\n{failing_test}\nError: {logs}'
                }]
            )
            
            # Push the fix
            client.repos.create_commit(
                message=f"Auto-fix: {failing_test}",
                changes=fix.code
            )

🏗️ Architecture: Built for Scale

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   AI Agents     │────▶│   Git0 API      │────▶│   S3 Storage    │
│                 │     │                 │     │                 │
│ • Code Gen      │     │ • FastAPI       │     │ • Infinite      │
│ • Self-Improve  │     │ • Async         │     │ • Scalable      │
│ • Auto-Fix      │     │ • Event Streams │     │ • Durable       │
└─────────────────┘     └─────────────────┘     └─────────────────┘
                               │
                               ▼
                        ┌─────────────────┐
                        │    Temporal     │
                        │                 │
                        │ • Workflows     │
                        │ • Reliability   │
                        └─────────────────┘

🌟 Key Features

For AI Agents

  • 🔌 API-First: Every operation available via REST API
  • 📡 Event Streams: Real-time SSE for reactive agents
  • 🐍 Python SDK: Native library for agent development
  • ♾️ Infinite Storage: S3-native means no storage limits
  • 🔄 Temporal Workflows: Reliable background processing

For Humans

  • 🚀 5-Minute Setup: Docker Compose and you're running
  • 🔐 Self-Hosted: Your code, your infrastructure
  • 📦 S3-Compatible: Works with AWS S3, MinIO, Backblaze, etc.
  • 🏢 Multi-Org: Isolate agent experiments by organization
  • 📝 Full Git: Push, pull, clone - it's real Git

📊 Benchmarks

Operation GitHub Git0 Improvement
Clone 10GB repo 12 min 3 min 4x faster
Storage cost/TB/month $23* $5 4.6x cheaper
Max repo size 100GB Unlimited
Concurrent operations Limited Unlimited**

*GitHub LFS pricing / **Limited only by S3 throughput


🛠️ Installation

Requirements

  • Docker & Docker Compose
  • 4GB RAM minimum
  • S3-compatible storage (or use built-in MinIO)

Production Setup

  1. Configure S3 (or use MinIO for self-hosted)
S3_ENDPOINT=https://s3.amazonaws.com
S3_ACCESS_KEY=your-key
S3_SECRET_KEY=your-secret
S3_BUCKET=git0-repos
  1. Set Security Keys
API_KEY=generate-a-secure-key
JWT_SECRET_KEY=another-secure-key
  1. Launch Services
docker-compose -f docker-compose.prod.yml up -d
  1. Initialize First Agent
from git0_sdk import Git0Client

client = Git0Client(
    base_url='https://git0.yourcompany.com',
    api_key='your-api-key'
)

# Create org for your AI agents
client.orgs.create('ai-agents', 'Autonomous AI Development')

# Create first repo
repo = client.repos.create(
    'ai-agents', 
    'self-improving-assistant',
    description='AI that improves itself'
)

🤝 Community & Contributing

We're building the future of AI agent infrastructure. Join us!

Get Involved


📚 Documentation


🙏 Acknowledgments

Built with:

  • FastAPI - Async Python web framework
  • Temporal - Workflow orchestration
  • MinIO - S3-compatible object storage

Git0 - Version control for the age of autonomous AI
Because machines need different tools than humans

About

Git0 · Headless Git That Automates Itself

Resources

License

Stars

Watchers

Forks