{"slug": "bubo-ai-code-reviewer-that-learns-from-review-comments", "title": "Bubo: AI code-reviewer that learns from review comments", "summary": "Mountain Owl released Bubo, a self-hosted AI code-review tool that reviews GitLab MRs and GitHub PRs using a bring-your-own-LLM approach, posting only actionable findings as inline threads. The tool supports models like Codex and Claude, includes cosign-signed releases with SBOMs, and is installable via uv or pipx.", "body_md": "**Agentic AI code review with the LLM of your choice.** Bubo reviews your GitLab\nMRs and GitHub PRs with the model *you* run, and posts only the findings worth\nacting on as inline threads — no chatbot noise, no praise, no summaries.\n\n**Self-hosted**— code, diffs, and review data stay on your infrastructure** Bring-your-own-LLM**— Codex, Claude, or any model your CLI drives** SCM**— Currently supports Gitlab and Github** findings**— Inline or \"all good\" if clean** Governance, provenance & an auditable on-prem report**- cosign-signed releases with SBOMs** Metrics**— Opentelemetry\n\n**Full documentation → mountainowl.github.io/bubo**\n\n```\nuv tool install bubo     # or: pipx install bubo\nbubo init                # idempotent; seeds config + workspace + DB\nbubo doctor              # verify before the first poll\nbubo-poller              # one poll cycle — dry-run by default, posts nothing\n```\n\nPrefer a container? `docker pull ghcr.io/mountainowl/bubo`\n\n(multi-arch; the\nreview-agent CLI is BYO). Continue with the\n[recipes and quickstart](https://mountainowl.github.io/bubo/recipes/).\n\nEverything lives on the docs site — this README is just the front door.\n\n|\n\n[Features](https://mountainowl.github.io/bubo/features/)[Configuration](https://mountainowl.github.io/bubo/configuration/)[Operate](https://mountainowl.github.io/bubo/operate/)[Troubleshooting](https://mountainowl.github.io/bubo/troubleshooting/)[Metrics & telemetry](https://mountainowl.github.io/bubo/telemetry/)`llm_review.*`\n\nmetrics and dashboards.**GitLab & GitHub posting via polling**— production path, at outcome-metric parity. Set`[scm].provider = \"github\"`\n\n(or`BUBO_PROVIDER=github`\n\n).**MCP server (**— read-only metrics + triggered reviews; stdio or HTTP.`bubo-mcp`\n\n)**Codex or Claude**— Bubo runs the review through a wrapper around your agent CLI; Codex ships pre-wired.** Webhook-driven triggering**— not yet; polling is the only path.\n\nReview execution sits outside CI/CD by design — run it as a poller beside your existing pipelines.\n\n`config/env.toml`\n\nis gitignored and holds tokens.**Do not print or commit real values.**- Review-agent stdout is redacted (\n`GITLAB_TOKEN=`\n\n,`OPENAI_API_KEY=`\n\n,`glpat-…`\n\n,`sk-…`\n\n, credentialed Git URLs) before it touches reports, logs, or the database. - The reviewer subprocess runs under a strict env allowlist — host secrets aren't handed wholesale to the LLM agent.\n- Releases are cosign-signed via Sigstore keyless OIDC, with an SBOM on every release.\n- Report vulnerabilities per\n[SECURITY.md](/mountainowl/bubo/blob/main/SECURITY.md).\n\n[Contributing](/mountainowl/bubo/blob/main/CONTRIBUTING.md) · [Security policy](/mountainowl/bubo/blob/main/SECURITY.md) · [Support](/mountainowl/bubo/blob/main/SUPPORT.md) · [Code of conduct](/mountainowl/bubo/blob/main/CODE_OF_CONDUCT.md) · [License: MIT](/mountainowl/bubo/blob/main/LICENSE)", "url": "https://wpnews.pro/news/bubo-ai-code-reviewer-that-learns-from-review-comments", "canonical_source": "https://github.com/mountainowl/bubo", "published_at": "2026-08-04 06:12:11+00:00", "updated_at": "2026-08-04 06:52:59.143056+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents"], "entities": ["Mountain Owl", "Bubo", "GitLab", "GitHub", "Codex", "Claude", "Sigstore"], "alternates": {"html": "https://wpnews.pro/news/bubo-ai-code-reviewer-that-learns-from-review-comments", "markdown": "https://wpnews.pro/news/bubo-ai-code-reviewer-that-learns-from-review-comments.md", "text": "https://wpnews.pro/news/bubo-ai-code-reviewer-that-learns-from-review-comments.txt", "jsonld": "https://wpnews.pro/news/bubo-ai-code-reviewer-that-learns-from-review-comments.jsonld"}}