Skip to main content

AI code/PR review agent. Fetches a pull request, asks an LLM to review it, posts inline comments + summary verdict back to the VCS. Self-hosted, multi-VCS (GitHub, GitLab, Bitbucket, Azure DevOps), multi-LLM (Anthropic / OpenAI / Google / Claude Code / Ollama). Standalone: no inter-package runtime deps.

Project description

Tribune

AI code/PR review agent. Fetches a pull request, asks an LLM to review it, posts inline comments + a verdict back to the VCS.

PyPI License: MIT Status Built by ThinkNext

Status: alpha, live on PyPI as tribune-agent==0.1.0a1. Standalone: no inter-package runtime deps. GitHub + GitLab fully implemented in 0.1.0a1; Bitbucket lands in 0.1.0a2; Azure DevOps in 0.1.0a3.

What it does

tribune review https://github.com/owner/repo/pull/42

Tribune fetches the PR, asks your LLM to review the diff, then posts:

  • Inline comments anchored to specific file + line, tagged severity (blocker / warning / nit) and category (bug / security / performance / test / style / docs / design).
  • A top-level summary with a verdict (approve / request_changes / comment-only).

You can also run --no-post to print the review to your terminal without touching the PR.

Why this exists

ThinkNext ships an OSS agentic SDLC stack:

Stage Tool
Idea to code Cascade (human-gated) or Relay (autonomous)
Code to review Tribune (this repo)
Code to tested running app Sentinel

Tribune is the only piece that touches every PR, regardless of who wrote it. Human, Cascade, Relay, Copilot, anything else.

Install

pip install 'tribune-agent[anthropic]'        # or [openai], [google], [claude-code], [all]

Configure

# LLM provider
tribune configure llm claude_code --set-default
# Or use a key-based provider:
tribune configure llm anthropic --key sk-ant-xxx --set-default

# VCS provider (token needs PR read + comment write scopes)
tribune configure vcs github --token ghp_xxx --set-default

Credentials live at ~/.config/tribune/config.yaml (mode 0600).

Run

# Print the review without posting (useful for dogfooding):
tribune review https://github.com/owner/repo/pull/42 --no-post

# Post the review back to the PR:
tribune review https://github.com/owner/repo/pull/42

What ships in 0.1.0a1

Capability Status
GitHub PRs (read + inline comments + review) Full
GitLab MRs (read + discussions + approve) Full
Bitbucket PRs Stub (lands in 0.1.0a2)
Azure DevOps Repos PRs Stub (lands in 0.1.0a3)
Multi-LLM via vendored client (Anthropic / OpenAI / Google / Claude Code / Ollama) Full
Diff chunking for large PRs Full
Skip lockfiles, removed files, binaries Full
Structured findings (severity + category + line anchor + optional suggestion) Full
GitHub Actions / GitLab CI / Bitbucket Pipelines / Azure Pipelines wrappers Planned 0.1.0a2
Per-repo tribune.yaml (rules to apply, paths to skip, custom prompt) Planned 0.1.0a2

How it differs from existing tools

CodeRabbit / Greptile GitHub Copilot review Tribune
Multi-VCS (GitHub + GitLab + Bitbucket + Azure) Limited GitHub only Yes
Self-hosted (your code stays on your network) No No Yes
Bring your own LLM key No No Yes
Free for individuals Partial Subscription Yes
Open source No No Yes

License

MIT. See LICENSE.

About

Built and maintained by ThinkNext Software Solutions, alongside Cascade, Relay, and Sentinel.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tribune_agent-0.1.0a1.tar.gz (34.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tribune_agent-0.1.0a1-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file tribune_agent-0.1.0a1.tar.gz.

File metadata

  • Download URL: tribune_agent-0.1.0a1.tar.gz
  • Upload date:
  • Size: 34.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for tribune_agent-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 074e609fbb5f6e1f68b72b700c0e5ad8f94fe4c7fee5831aac2da6070b5438af
MD5 151ea48130fdb84efbd1b6fd6a9d2ae6
BLAKE2b-256 187e0969725f3da713185822a9e21e8ba007c18254c8e2f7647dfe620c67235a

See more details on using hashes here.

File details

Details for the file tribune_agent-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for tribune_agent-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 b1cb693a07acb17d6e5b42cce2b66c24cd157604f6308e06d60b4b5852a22614
MD5 0e8bc69ec0c009381846b6e37a35402a
BLAKE2b-256 62e381f462ebef7de99b0bc8ce31d96d94e82dfa1182522139ade9f96ef281e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page