Sign inSign up

tmseidel/ai-git-bot

By tmseidel

โ€ขUpdated 13 days ago

The self-hosted AI workflow automation platform for Git repositories.

Image
Integration & delivery
Machine learning & AI
Developer tools
0

10K+

tmseidel/ai-git-bot repository overview

โ AI-Git-Bot

License: MIT GitHub release GitHub stars

The self-hosted AI workflow automation platform for Git repositories.

  • ๐Ÿ” Review pull requests
  • ๐Ÿงช Generate tests
  • โœ๏ธ Improve issues
  • ๐Ÿค– Turn issues into pull requests
  • ๐ŸŽฌ Create and run E2E tests
  • ๐Ÿ“ Keep documentation in sync with the code
  • ๐ŸŒ Keep translations in sync across locale files
  • ๐Ÿ’ฌ Answer questions inside code reviews

โ Why does this project exist?

Every engineering team has a list of things they know should happen:

  • Pull requests should be reviewed carefully
  • Bugs should get regression tests
  • Issues should have acceptance criteria
  • Documentation should stay up to date with the code
  • Preview environments should be cleaned up
  • Small maintenance tickets should eventually get implemented

Nobody disagrees with any of those ideas. The problem is that these tasks are:

  • Uncomfortable
  • Repetitive
  • Difficult to prioritize
  • Easy to postpone when deadlines get tight

AI-Git-Bot exists to turn these engineering chores into repeatable workflows that happen automatically inside your Git platform.

  • No new development process.
  • No migration project.
  • No vendor lock-in.

Just better engineering hygiene through automation.


โ ๐Ÿ”Œ Mix any AI provider with any Git platform

AI providersGit platforms
Anthropic (Claude)Gitea (self-hosted)
OpenAI (+ OpenAI-compatible APIs)GitHub / GitHub Enterprise
Google AI / GeminiGitLab (gitlab.com & self-managed)
Ollama (local LLMs)Bitbucket Cloud
llama.cpp (local GGUF models)

Unlike most AI coding tools, AI-Git-Bot is not tied to a specific Git platform or AI provider. Fully self-hostable. Your code can stay inside your infrastructure.


โ โœจ What can it do?

WorkflowTriggerResult
PR Reviewโ PR opened or review re-requestedReview comments and findings
Interactive Q&Aโ @bot mention in PR commentsContext-aware conversation
Issue โ†’ Codeโ Issue assigned to coding botPull request
Issue โ†’ Better Issueโ Issue assigned to writer botStructured issue with acceptance criteria
Unit Test Generationโ PR opened or command triggeredGenerated tests committed to branch
Full-Stack QAโ PR openedPlaywright suite executed against preview environment
README Syncโ PR opened or command triggeredDocumentation updated to match code changes
i18n Coverageโ PR opened or command triggeredMissing translations drafted across locale files
PR Re-Reviewโ Force-push or review requestUpdated analysis
Workflow Automationโ Git eventsAutomated engineering chores

Every workflow is opt-in per bot โ€” nothing changes for repos you don't touch.


โ ๐Ÿค– Issue Agents: Coding and Writer

Two issue-driven agents let you assign bots to issues:

Bot typeTriggerResult
Coding botAssign to an issue with Agent EnabledFeature branch, commit, and pull request
Writer botAssign to an issueClarifying questions or a new improved issue

โ Quick Start

docker run -p 8080:8080 tmseidel/ai-git-bot:latest

Then:

  1. Open http://localhost:8080
  2. Create your administrator account
  3. Create an AI Integration
  4. Create a Git Integration
  5. Create a Bot
  6. Configure the webhook
  7. You're done

โ Docker Compose for customized production setup

services:
  app:
    image: tmseidel/ai-git-bot:latest
    ports:
      - "8080:8080"
    environment:
      SPRING_PROFILES_ACTIVE: docker
      DATABASE_URL: jdbc:postgresql://db:5432/giteabot
      DATABASE_USERNAME: giteabot
      DATABASE_PASSWORD: change-me
      APP_ENCRYPTION_KEY: your-secure-encryption-key
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  db:
    image: postgres:17-alpine
    environment:
      POSTGRES_DB: giteabot
      POSTGRES_USER: giteabot
      POSTGRES_PASSWORD: change-me
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U giteabot"]
      interval: 5s
      timeout: 5s
      retries: 5
    restart: unless-stopped

volumes:
  pgdata:

โ Environment Variables

VariableDefaultDescription
APP_ENCRYPTION_KEY(random)Encryption key for API keys/tokens. Set for persistence across restarts.
APP_PUBLIC_URLhttp://localhost:8080Public base URL of the bot instance.
DATABASE_URLjdbc:postgresql://db:5432/giteabotJDBC connection URL
DATABASE_USERNAMEgiteabotDatabase username
DATABASE_PASSWORDDatabase password
โ Agent Configuration (Optional)
VariableDefaultDescription
AGENT_MAX_FILES20Maximum files the agent can modify per issue
AGENT_BRANCH_PREFIXai-agent/Prefix for branches created by the agent

โ Supported AI Providers

All AI configuration (API URLs, keys, models) is managed through the web UI โ€” no environment variables needed beyond what's listed above.

ProviderDefault API URL
Anthropichttps://api.anthropic.com
OpenAIhttps://api.openai.com
Google AI / Geminihttps://generativelanguage.googleapis.com
Ollamahttp://localhost:11434
llama.cpphttp://localhost:8081

โ Supported Git Providers

ProviderDescription
GiteaSelf-hosted Gitea instances
GitHubgithub.com
GitHub EnterpriseSelf-hosted GitHub Enterprise Server
GitLabgitlab.com and self-managed GitLab CE/EE
Bitbucket Cloudbitbucket.org

Issue-based agent workflows (coding and writer) require issue assignment and webhook support โ€” Gitea, GitHub, and GitLab. Bitbucket Cloud is PR-review only.


โ Webhook Setup

Each bot gets a unique webhook URL displayed in the web UI:

  • /api/webhook/{webhook-secret}
โ Supported Events per Platform
EventGiteaGitHubGitLabBitbucket
Pull Requestโœ…โœ…โœ… Merge request eventsโœ… PR: Created/Updated
Commentsโœ… Issue Commentโœ… Issue commentsโœ… Commentsโœ… PR: Comment created
Issues (agents)โœ…โœ…โœ… Issues eventsโ€”

โ Health Check

GET http://<host>:8080/actuator/health

Built-in health check runs every 30s with a 30s start period.


โ Documentation


โ Technical Highlights

  • ๐Ÿ”’ AES-256-GCM secret encryption
  • ๐Ÿค– Multi-provider AI support
  • ๐Ÿข Multi-platform Git support
  • ๐Ÿง  Local LLM support
  • ๐Ÿ”Œ MCP integration
  • ๐Ÿงช System-tested workflows
  • ๐Ÿณ Docker-first deployment
  • ๐ŸŒ Self-hostable end-to-end

โ License

MITโ 

Tag summary

Content type

Image

Digest

sha256:036bd7522โ€ฆ

Size

1.5 GB

Last updated

13 days ago

docker pull tmseidel/ai-git-bot