selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

AI-Git-Bot logo

Self-host AI-Git-Bot

1.29.0

Automate Git workflows with self-hosted AI

ReleaseOpen SourceMIT
Updated9 hours ago
LanguageJava
Setup difficultyModerate
Stars
193
Port
8080 (HTTP web UI and API)
Requires
PostgreSQL
Docker
tmseidel/ai-git-bot
Install with Docker
Gitea PR code review with inline commentsGitHub code review with commentGitLab merge request reviewBitbucket code reviewGitea inline review conversationGitea full-stack QA E2E test reportGitHub coding agent implementing an issueGitLab coding agent implementing an issue

What is AI-Git-Bot?

AI-Git-Bot is a self-hosted automation layer that connects to your Git hosting platform and AI provider to handle engineering chores. It reviews pull requests with inline comments, generates unit and E2E tests, refines issues into structured requirements, routes issues to the right owners, implements issues as pull requests via a coding agent, keeps documentation and translations in sync, and exposes Prometheus metrics. All configuration is done through a web UI after deploying the Docker image with a PostgreSQL database. The bot runs inside your infrastructure — nothing leaves your control.

Should you self-host AI-Git-Bot?

AI-Git-Bot scores 49/100 on selfhost.directory (how scoring works) and ranks #7 of 10 in Code Review. It has 193 GitHub stars.

It shipped 10 stable releases in the past year. The latest, 1.29.0, came out on 26 October 2026. New versions land roughly every 7 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Java.

Its closest alternative on selfhost.directory is pr-agent (77/100, 13 657 stars). It scores higher overall, so compare the two before you pick. See AI-Git-Bot vs pr-agent side by side.

Features

  • AES-256-GCM encryptionRequires APP_ENCRYPTION_KEY to be configured
  • Full-Stack QA (E2E Testing)Experimental workflow
  • i18n Translation Sync
  • Interactive Q&A in PR Comments
  • Issue Refinement (Writer Agent)
  • Issue to Pull Request (Coding Agent)
  • Issue Triage and Routing
  • Local LLM Support
  • Multi-Platform Git Support
  • Multi-Provider AI Support
  • Outgoing webhooks
  • Prometheus MetricsDisabled by default, enable with PROMETHEUS_ENABLED=true
  • Pull Request Code Review
  • README Sync
  • Unit Test Generation

AI-Git-Bot README

How to install AI-Git-Bot

Install AI-Git-Bot with Docker

Docker
Environment variables
SPRING_PROFILES_ACTIVE, DATABASE_URL, DATABASE_USERNAME, DATABASE_PASSWORD, APP_ENCRYPTION_KEY, APP_PUBLIC_URL, GITEABOT_SECURITY_LOGIN_METHOD, GITEABOT_SECURITY_OAUTH_CLIENT_ID, GITEABOT_SECURITY_OAUTH_CLIENT_SECRET, GITEABOT_SECURITY_OAUTH_ISSUER_URI, GITEABOT_SECRET_ENV_WHITELIST, PROMETHEUS_ENABLED

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

Quick test with built-in H2 database

How to configure AI-Git-Bot

  • AGENT_BUDGET_MAX_CONTENT_ROUNDS20Agent budget max content rounds

    Agent budget max content rounds

  • AGENT_BUDGET_MAX_ROUNDS20Agent budget max rounds

    Agent budget max rounds

  • AGENT_VALIDATION_TOOL_TIMEOUT_SECONDS300Timeout (seconds) for each validation command the coding agent runs

    Timeout (seconds) for each validation command the coding agent runs

  • AI_USAGE_RAW_PAYLOADS_ENABLEDfalseCapture raw AI request/response payloads in the usage audit log

    Capture raw AI request/response payloads in the usage audit log

    values: true, false

  • ANTHROPIC_EXTENDED_THINKING_ENABLEDfalseEnable adaptive extended thinking for the Anthropic provider

    Enable adaptive extended thinking for the Anthropic provider

    values: true, false

  • APP_ENCRYPTION_KEYEncryption key for sensitive data (API keys, tokens, SSH private keys). Without it, other credentials are stored in plain text and SSH private keys are rejected.

    Encryption key for sensitive data (API keys, tokens, SSH private keys). Without it, other credentials are stored in plain text and SSH private keys are rejected.

  • APP_PUBLIC_URLhttp://localhost:8080Public base URL of the bot, used for example as a callback URL for CI deployment workflows

    Public base URL of the bot, used for example as a callback URL for CI deployment workflows

  • DATABASE_PASSWORDDatabase password

    Database password

  • DATABASE_URLjdbc:postgresql://db:5432/giteabotJDBC connection URL

    JDBC connection URL

  • DATABASE_USERNAMEgiteabotDatabase username

    Database username

  • GITEABOT_SECRET_ENV_WHITELISTComma-separated names of environment variables that ${env:NAME} references may read

    Comma-separated names of environment variables that ${env:NAME} references may read

  • GITEABOT_SECURITY_LOGIN_METHODnativeAuthentication method: native (database-backed login form) or oauth (OAuth 2.0 / OIDC)

    Authentication method: native (database-backed login form) or oauth (OAuth 2.0 / OIDC)

    values: native, oauth

  • GITEABOT_SECURITY_OAUTH_CLIENT_IDOAuth client ID

    OAuth client ID

  • GITEABOT_SECURITY_OAUTH_CLIENT_SECRETOAuth client secret

    OAuth client secret

  • GITEABOT_SECURITY_OAUTH_ISSUER_URIOIDC issuer URI. When set, Spring Security discovers endpoints automatically.

    OIDC issuer URI. When set, Spring Security discovers endpoints automatically.

  • PROMETHEUS_ENABLEDfalseEnable Prometheus metrics endpoint at /actuator/prometheus

    Enable Prometheus metrics endpoint at /actuator/prometheus

    values: true, false

  • SPRING_PROFILES_ACTIVEdockerSpring profile to activate

    Spring profile to activate

AI-Git-Bot releases & version history

More in Code Review

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…