The self-hosted AI workflow automation platform for Git repositories.
10K+
The self-hosted AI workflow automation platform for Git repositories.
Every engineering team has a list of things they know should happen:
Nobody disagrees with any of those ideas. The problem is that these tasks are:
AI-Git-Bot exists to turn these engineering chores into repeatable workflows that happen automatically inside your Git platform.
Just better engineering hygiene through automation.
| AI providers | Git platforms |
|---|---|
| Anthropic (Claude) | Gitea (self-hosted) |
| OpenAI (+ OpenAI-compatible APIs) | GitHub / GitHub Enterprise |
| Google AI / Gemini | GitLab (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.
| Workflow | Trigger | Result |
|---|---|---|
| PR Reviewโ | PR opened or review re-requested | Review comments and findings |
| Interactive Q&Aโ | @bot mention in PR comments | Context-aware conversation |
| Issue โ Codeโ | Issue assigned to coding bot | Pull request |
| Issue โ Better Issueโ | Issue assigned to writer bot | Structured issue with acceptance criteria |
| Unit Test Generationโ | PR opened or command triggered | Generated tests committed to branch |
| Full-Stack QAโ | PR opened | Playwright suite executed against preview environment |
| README Syncโ | PR opened or command triggered | Documentation updated to match code changes |
| i18n Coverageโ | PR opened or command triggered | Missing translations drafted across locale files |
| PR Re-Reviewโ | Force-push or review request | Updated analysis |
| Workflow Automationโ | Git events | Automated engineering chores |
Every workflow is opt-in per bot โ nothing changes for repos you don't touch.
Two issue-driven agents let you assign bots to issues:
| Bot type | Trigger | Result |
|---|---|---|
| Coding bot | Assign to an issue with Agent Enabled | Feature branch, commit, and pull request |
| Writer bot | Assign to an issue | Clarifying questions or a new improved issue |
docker run -p 8080:8080 tmseidel/ai-git-bot:latest
Then:
http://localhost:8080services:
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:
| Variable | Default | Description |
|---|---|---|
APP_ENCRYPTION_KEY | (random) | Encryption key for API keys/tokens. Set for persistence across restarts. |
APP_PUBLIC_URL | http://localhost:8080 | Public base URL of the bot instance. |
DATABASE_URL | jdbc:postgresql://db:5432/giteabot | JDBC connection URL |
DATABASE_USERNAME | giteabot | Database username |
DATABASE_PASSWORD | Database password |
| Variable | Default | Description |
|---|---|---|
AGENT_MAX_FILES | 20 | Maximum files the agent can modify per issue |
AGENT_BRANCH_PREFIX | ai-agent/ | Prefix for branches created by the agent |
All AI configuration (API URLs, keys, models) is managed through the web UI โ no environment variables needed beyond what's listed above.
| Provider | Default API URL |
|---|---|
| Anthropic | https://api.anthropic.com |
| OpenAI | https://api.openai.com |
| Google AI / Gemini | https://generativelanguage.googleapis.com |
| Ollama | http://localhost:11434 |
| llama.cpp | http://localhost:8081 |
| Provider | Description |
|---|---|
| Gitea | Self-hosted Gitea instances |
| GitHub | github.com |
| GitHub Enterprise | Self-hosted GitHub Enterprise Server |
| GitLab | gitlab.com and self-managed GitLab CE/EE |
| Bitbucket Cloud | bitbucket.org |
Issue-based agent workflows (coding and writer) require issue assignment and webhook support โ Gitea, GitHub, and GitLab. Bitbucket Cloud is PR-review only.
Each bot gets a unique webhook URL displayed in the web UI:
/api/webhook/{webhook-secret}| Event | Gitea | GitHub | GitLab | Bitbucket |
|---|---|---|---|---|
| Pull Request | โ | โ | โ Merge request events | โ PR: Created/Updated |
| Comments | โ Issue Comment | โ Issue comments | โ Comments | โ PR: Comment created |
| Issues (agents) | โ | โ | โ Issues events | โ |
GET http://<host>:8080/actuator/health
Built-in health check runs every 30s with a 30s start period.
Content type
Image
Digest
sha256:036bd7522โฆ
Size
1.5 GB
Last updated
13 days ago
docker pull tmseidel/ai-git-bot