Star on GitHub

Code that passes
the tribunal.

Tribunal enforces TDD, quality gates, and your team's standards on every Claude Code session. Nothing ships without passing the gate.

Python CLI + Claude Code plugin · Open source · MIT License

Why Tribunal

Enterprise-grade discipline for Claude Code

🧪

TDD Enforced

Python files are blocked from writing production code without a failing test first. No exceptions.

🛡️

Quality Gates

Every file write runs secret detection, static analysis, and type checking before Claude can continue.

📋

Spec Workflow

Full plan → verify → implement → review cycle with 4 parallel AI agents reviewing your code.

🔀

Model Agnostic

Use Claude Opus, Sonnet, Haiku, MiniMax, GLM, or any custom model. Switch with one command.

🏛️

Vault of Rules

35+ enterprise rules, 30 locale modes, 4 review agents. All configurable and extensible.

🏢

Enterprise Ready

Audit logging, GPG-signed releases, headless CI install, air-gapped bundles, fleet deployment.

How It Works

Three steps to disciplined code

01

Install

Drop tribunal into your project in seconds.

pip install tribunal && tribunal
02

Code

Claude Code runs with TDD enforcement and quality hooks active on every session.

# Claude Code now has tribunal gates # Write tests first, ship quality code
03

Ship

Nothing leaves without passing the spec review. Every change is audited and approved.

✓ Tests pass ✓ Quality gates clear ✓ Spec review approved → Ready to ship

Model Agnostic

Your model. Your rules.

Switch between Claude, MiniMax, GLM, or any custom model with a single command. Tribunal adapts.

tribunal — model selection
$tribunal model list

Built-in Models
─────────────────────────────
claude-opus-4-5Most capable
claude-sonnet-4-5← currentBalanced
claude-haiku-3-5Fastest

Custom Models
─────────────────────────────
minimax/MiniMax-Text-01
THUDM/glm-4-9b-chat

$tribunal model set claude-opus-4-5
✓ Default model set to claude-opus-4-5

Get Started

Install in seconds

Choose your preferred installation method

$ pip install tribunal

Requires Python 3.11+ or Node.js 18+