Judges Panel
io.github.KevinRabun由 GitHub 帳號 KevinRabun 發布v3.129.9更新於 Oct 28, 2026
45 judges that evaluate AI-generated code for security, cost, and quality with built-in AST.
概覽
以 45 位「評審」對 AI 產生的程式碼做安全、成本與品質評估,回傳總體結論、評分與修復任務。
- 可以做什麼
- 對單段程式碼、整個專案或 diff 中變更的行執行全部 45 位評審,取得綜合結論與評分
- 呼叫單一指定評審做針對性審查,或列出所有評審及其領域
- 執行三步式應用建構流程,額外提供白話風險說明與依優先順序排列的修復任務
- 複製公開儲存庫並產生彙整的 Markdown 報告,含各評審評分與高風險問題
- 分析相依性清單檔中的供應鏈、版本鎖定與仿冒套件風險
- 適用情境
- 適合在助理撰寫或審查程式碼後、上線前做一次獨立的結構化品質與安全檢查,特別是 PR 差異審查、專案層級稽核或快速掃描公開儲存庫。
- 執行需求
- 以 stdio 在本機啟動,通常透過 npx 執行 npm 套件;需要 Node.js 18 以上(建議 20)與可用的 npx。MCP 伺服器本身未宣告驗證或環境變數。公開儲存庫報告工具需要連網複製儲存庫。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Judges Panel,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Judges Panel
An MCP (Model Context Protocol) server that provides a panel of 45 specialized judges to evaluate AI-generated code — acting as an independent quality gate regardless of which project is being reviewed. Combines deterministic pattern matching & AST analysis (instant, offline, zero LLM calls) with LLM-powered deep-review prompts that let your AI assistant perform expert-persona analysis across all 45 domains.
Highlights:
- Includes an App Builder Workflow (3-step) demo for release decisions, plain-language risk summaries, and prioritized fixes — see Try the Demo.
- Includes V2 context-aware evaluation with policy profiles, evidence calibration, specialty feedback, confidence scoring, and uncertainty reporting.
- Includes public repository URL reporting to clone a repo, run the full tribunal, and output a consolidated markdown report.
- 200+ deterministic auto-fix patches (see
src/patches/index.ts) plus LLM-powered deep review.
🧪 Many commands in
printHelpare experimental/roadmap. By default, we show GA commands only. SetJUDGES_SHOW_EXPERIMENTAL=1to reveal stubs; these may not be wired yet.
[CI] [npm] [npm downloads] [License: MIT] [Tests]
🔰 Packages
- CLI:
@kevinrabun/judges-cli→ binaryjudges(usenpx @kevinrabun/judges-cli eval --file app.ts).- MCP/API:
@kevinrabun/judges→ programmatic API + MCP server (npm install @kevinrabun/judges).- VS Code extension: see
vscode-extension/.- GitHub Action:
uses: KevinRabun/judges@main(see CI quickstart).
Quickstart
CLI (one-off)
CLI vs API: If you want to embed Judges in your app (MCP/API), install
@kevinrabun/judges. For the command-line, use@kevinrabun/judges-cli(binaryjudges).
GitHub Action
Programmatic API (MCP server included)
MCP server
The MCP server runs on stdio and is started by your MCP client (VS Code, Claude Desktop, etc.).
Configure it in your MCP settings (e.g. mcp.json):
Or run the server directly:
Config file:
.judgesrc.json(supports${ENV_VAR}substitution viaexpandEnvPlaceholders). See Configuration.
Why Judges?
AI code generators (Copilot, Cursor, Claude, ChatGPT, etc.) write code fast — but they routinely produce insecure defaults, missing auth, hardcoded secrets, and poor error handling. Human reviewers catch some of this, but nobody reviews 45 dimensions consistently.
Judges doesn't replace linters — it covers the dimensions linters don't: authentication strategy, data sovereignty, cost patterns, accessibility, framework-specific anti-patterns, and architectural issues across multiple files.
Quick Start
Prereqs: Node.js >=18 (>=20 recommended),
npxavailable. ThejudgesCLI binary ships with @kevinrabun/judges-cli (preferred) and also works vianpx @kevinrabun/judges.Packages:
- CLI:
npm install -g @kevinrabun/judges-cli(ornpx @kevinrabun/judges-cli ...)- MCP/API:
npm install @kevinrabun/judges
Use @kevinrabun/judges for the MCP server and programmatic API. Use @kevinrabun/judges-cli when you want the judges terminal command.
Try it now (no clone needed)
Additional CLI Commands
🔎 Tip: The CLI help now defaults to GA commands only. To see experimental/roadmap commands, run:
GitHub App (self-hosted webhook)
Run a zero-config PR reviewer as a GitHub App:
Required env vars:
JUDGES_APP_ID– GitHub App IDJUDGES_PRIVATE_KEYorJUDGES_PRIVATE_KEY_PATH– PEM private keyJUDGES_WEBHOOK_SECRET– signature verification secret
Optional:
JUDGES_MIN_SEVERITY(default:medium)JUDGES_MAX_COMMENTS(default: 25)JUDGES_TEST_DRY_RUN=1to avoid live network calls during tests
For local testing, you can expose http://localhost:4567/webhook via ngrok http 4567 and configure the GitHub App webhook URL accordingly.
Use in GitHub Actions
Add Judges to your CI pipeline with zero configuration:
Outputs available for downstream steps: verdict, score, findings, critical, high, sarif-file.
Use with Docker (no Node.js required)
Or use as an MCP server
1. Install and Build
2. Try the Demo
Run the included demo to see all 45 judges evaluate a purposely flawed API server:
This evaluates examples/sample-vulnerable-api.ts — a file intentionally packed with security holes, performance anti-patterns, and code quality issues — and prints a full verdict with per-judge scores and findings.
The demo now also includes an App Builder Workflow (3-step) section. In a single run, you get both tribunal output and workflow output:
- Release decision (
Ship now/Ship with caution/Do not ship) - Plain-language summaries of top risks
- Prioritized remediation tasks and AI-fixable
P0/P1items
Sample workflow output (truncated):
Sample tribunal output (truncated):
3. Run the Tests
Runs automated tests covering all judges, AST parsers, markdown formatters, and edge cases.
4. Connect to Your Editor
VS Code (recommended — zero config)
Install the Judges Panel extension from the Marketplace. It provides:
- Inline diagnostics & quick-fixes on every file save
@judgeschat participant — type@judgesin Copilot Chat, or just ask for a "judges panel review" and Copilot routes automatically- Auto-configured MCP server — all 45 expert-persona prompts available to Copilot with zero setup
VS Code — manual MCP config
If you prefer explicit workspace config (or want teammates without the extension to benefit), create .vscode/mcp.json:
Claude Desktop
Add to claude_desktop_config.json:
Cursor / other MCP clients
Use the same npx command for any MCP-compatible client:
5. Use Judges in GitHub Copilot PR Reviews
Yes — users can include Judges as part of GitHub-based review workflows, with one important caveat:
- The hosted
copilot-pull-request-revieweron GitHub does not currently let you directly attach arbitrary local MCP servers the same way VS Code does. - The practical pattern is to run Judges in CI on each PR, publish a report/check, and have Copilot + human reviewers use that output during review.
Option A (recommended): PR workflow check + report artifact
Create .github/workflows/judges-pr-review.yml:
This gives every PR a reproducible Judges output your team (and Copilot) can reference.
Option B: Add Copilot custom instructions in-repo
Add .github/instructions/judges.instructions.md with guidance such as:
This helps keep Copilot feedback aligned with Judges findings.
CLI Reference
All commands support --help for usage details.
judges eval
Evaluate a file with all 45 judges or a single judge.
judges init
Interactive wizard that generates project configuration:
.judgesrc.json— rule customization, disabled judges, severity thresholds.github/workflows/judges.yml— GitHub Actions CI workflow.gitlab-ci.judges.yml— GitLab CI pipeline (optional)azure-pipelines.judges.yml— Azure Pipelines (optional)
judges fix
Preview or apply auto-fix patches from deterministic findings.
judges watch
Continuously re-evaluate files on save.
judges report
Run a full project-level tribunal on a local directory.
judges hook
Manage a Git pre-commit hook that runs Judges on staged files.
Detects Husky (.husky/pre-commit) and falls back to .git/hooks/pre-commit. Uses marker-based injection so it won't clobber existing hooks.
judges diff
Evaluate only the changed lines from a unified diff (e.g., git diff output).
judges deps
Analyze project dependencies for supply-chain risks.
judges baseline
Create a baseline file to suppress known findings in future evaluations.
judges ci-templates
Generate CI/CD configuration templates for popular providers.
judges docs
Generate per-judge rule documentation in Markdown.
judges completions
Generate shell completion scripts.
Named Presets
Use --preset to apply pre-configured evaluation settings:
CI Output Formats
JUnit XML
Generate JUnit XML for Jenkins, Azure DevOps, GitHub Actions, or GitLab test result viewers:
Each judge maps to a <testsuite>, each finding becomes a <testcase> with <failure> for critical/high severity.
CodeClimate / GitLab Code Quality
Generate CodeClimate JSON for GitLab Code Quality or similar tools:
Score Badges
Generate SVG or text badges for your README:
The Judge Panel
How It Works
The tribunal operates in three layers:
-
Pattern-Based Analysis — All tools (
evaluate_code,evaluate_code_single_judge,evaluate_project,evaluate_diff) perform heuristic analysis using regex pattern matching to catch common anti-patterns. This layer is instant, deterministic, and runs entirely offline with zero external API calls. -
AST-Based Structural Analysis — The Code Structure judge (
STRUCT-*rules) uses real Abstract Syntax Tree parsing to measure cyclomatic complexity, nesting depth, function length, parameter count, dead code, and type safety with precision that regex cannot achieve. All supported languages — TypeScript, JavaScript, Python, Rust, Go, Java, C#, and C++ — are parsed via tree-sitter WASM grammars (real syntax trees compiled to WebAssembly, in-process, zero native dependencies). A scope-tracking structural parser is kept as a fallback when WASM grammars are unavailable. No external AST server required. -
LLM-Powered Deep Analysis (Prompts) — The server exposes MCP prompts (e.g.,
judge-data-security,judge-cybersecurity) that provide each judge's expert persona as a system prompt. When used by an LLM-based client (Copilot, Claude, Cursor, etc.), the host LLM performs deeper, context-aware probabilistic analysis beyond what static patterns can detect. This is where thesystemPrompton each judge comes alive — Judges itself makes no LLM calls, but it provides the expert criteria so your AI assistant can act as 45 specialized reviewers.
Composable by Design
Judges Panel is a dual-layer review system: instant deterministic tools (offline, no API keys) for pattern and AST analysis, plus 45 expert-persona MCP prompts that unlock LLM-powered deep analysis when connected to an AI client. It does not try to be a CVE scanner or a linter. Those capabilities belong in dedicated MCP servers that an AI agent can orchestrate alongside Judges.
Built-in AST Analysis
Unlike earlier versions that recommended a separate AST MCP server, Judges Panel now includes real AST-based structural analysis out of the box:
- TypeScript, JavaScript, Python, Rust, Go, Java, C#, C++ — All parsed with a unified tree-sitter WASM engine for full syntax-tree analysis (functions, complexity, nesting, dead code, type safety). Falls back to a scope-tracking structural parser when WASM grammars are unavailable
The Code Structure judge (STRUCT-*) uses these parsers to accurately measure:
Recommended MCP Stack
When your AI coding assistant connects to multiple MCP servers, each one contributes its specialty:
What This Means in Practice
When you ask your AI assistant "Is this code production-ready?", the agent can:
- Judges Panel → Scan for hardcoded secrets, missing error handling, N+1 queries, accessibility gaps, compliance issues, plus analyze cyclomatic complexity, detect dead code, and flag deeply nested functions via AST
- CVE Server → Check every dependency in
package.jsonagainst known vulnerabilities - Linter Server → Enforce team style rules, catch language-specific gotchas
Each server returns structured findings. The AI synthesizes everything into a single, actionable review — no single server needs to do it all.
MCP Tools
evaluate_v2
Run a V2 context-aware tribunal evaluation designed to raise feedback quality toward lead engineer/architect-level review:
- Policy profile calibration (
default,startup,regulated,healthcare,fintech,public-sector) - Context ingestion (architecture notes, constraints, standards, known risks, data-boundary model)
- Runtime evidence hooks (tests, coverage, latency, error rate, vulnerability counts)
- Specialty feedback aggregation by judge/domain
- Confidence scoring and explicit uncertainty reporting
Supports:
- Code mode:
code+language - Project mode:
files[]
evaluate_app_builder_flow
Run a 3-step app-builder workflow for technical and non-technical stakeholders:
- Tribunal review (code/project/diff)
- Plain-language translation of top risks
- Prioritized remediation tasks with AI-fixable P0/P1 extraction
Supports:
- Code mode:
code+language - Project mode:
files[] - Diff mode:
code+language+changedLines[]
evaluate_public_repo_report
Clone a public repository URL, run the full judges panel across eligible source files, and generate a consolidated markdown report.
Quick examples
Generate a report from CLI:
Call from MCP client:
Typical response summary includes:
- overall verdict and average score
- analyzed file count and total findings
- per-judge score table
- highest-risk findings and lowest-scoring files
Sample report snippet:
get_judges
List all available judges with their domains and descriptions.
evaluate_code
Submit code to the full judges panel. all 45 judges evaluate independently and return a combined verdict.
evaluate_code_single_judge
Submit code to a specific judge for targeted review.
evaluate_project
Submit multiple files for project-level analysis. all 45 judges evaluate each file, plus cross-file architectural analysis detects code duplication, inconsistent error handling, and dependency cycles.
evaluate_diff
Evaluate only the changed lines in a code diff. Runs all 45 judges on the full file but filters findings to lines you specify. Ideal for PR reviews and incremental analysis.
analyze_dependencies
Analyze a dependency manifest file for supply-chain risks, version pinning issues, typosquatting indicators, and dependency hygiene. Supports package.json, requirements.txt, Cargo.toml, go.mod, pom.xml, and .csproj files.
evaluate_git_diff
Evaluate only changed lines from a git diff. Provide either repoPath for a live git diff or diffText for a pre-computed unified diff.
re_evaluate_with_context
Re-run the tribunal with prior findings as context for iterative refinement. Supports dispute resolution, developer context injection, and focus-area filtering.
Additional MCP Tools
Judge IDs
data-security · cybersecurity · security · cost-effectiveness · scalability · cloud-readiness · software-practices · accessibility · api-design · api-contract · reliability · observability · performance · compliance · data-sovereignty · testing · documentation · internationalization · dependency-health · concurrency · ethics-bias · maintainability · error-handling · authentication · database · caching · configuration-management · backwards-compatibility · portability · ux · logging-privacy · rate-limiting · ci-cd · code-structure · agent-instructions · ai-code-safety · framework-safety · iac-security · hallucination-detection · intent-alignment · multi-turn-coherence · model-fingerprint · over-engineering · logic-review · false-positive-review
MCP Prompts
Each judge has a corresponding prompt for LLM-powered deep analysis:
Configuration
Create a .judgesrc.json (or .judgesrc) file in your project root to customize evaluation behavior. See .judgesrc.example.json for a copy-paste-ready template, or reference the JSON Schema for full IDE autocompletion.
All evaluation tools (CLI and MCP) accept the same configuration fields via --config <path> or inline config parameter.
Advanced Features
Inline Suppressions
Suppress specific findings directly in source code using comment directives:
Supported comment styles: //, #, /* */. Supports comma-separated rule IDs and wildcards (*, SEC-*).
Auto-Fix Patches
Certain findings include machine-applicable patches in the patch field:
Patches include oldText, newText, startLine, and endLine for automated application.
Cross-Evaluator Deduplication
When multiple judges flag the same issue (e.g., both Data Security and Cybersecurity detect SQL injection on line 15), findings are automatically deduplicated. The highest-severity finding wins, and the description is annotated with cross-references (e.g., "Also identified by: CYBER-003").
Human Focus Guide
Every tribunal evaluation includes a humanFocusGuide that categorizes findings into three buckets for human reviewers:
Blind spots are detected from code characteristics: complex branching logic, external service calls, financial calculations, PII handling, state machines, and complex regex. The guide appears in CLI text/markdown output, JSON/SARIF output, and GitHub Action step summaries.
Regulatory Scope
Configure which regulatory frameworks apply to your project in .judgesrc:
Findings that cite ONLY out-of-scope frameworks are suppressed. Findings with no regulatory reference (general code quality) are always kept. Run judges list --frameworks to see all 17 supported frameworks (GDPR, CCPA, HIPAA, PCI-DSS, SOC2, SOX, COPPA, FedRAMP, NIST, ISO27001, ePrivacy, DORA, NIS2, EU-AI-Act, and more).
Self-Teaching Amendments
The LLM benchmark system auto-generates precision amendments for judges with high false-positive rates. Amendments are data-driven corrections injected into prompts that improve accuracy over successive benchmark runs.
The self-teaching loop:
- Run benchmark → analyzer identifies judges below 70% precision
- Generates targeted amendments (e.g., "Judge ERR: do not flag clean Express code with framework error middleware")
- Next benchmark run loads amendments → precision improves
- Run
judges codify-amendmentsto bake amendments permanently into the distributed package
Taint Flow Analysis
The engine performs inter-procedural taint tracking to trace data from user-controlled sources (e.g., req.body, process.env) through transformations to security-sensitive sinks (e.g., eval(), exec(), SQL queries). Taint flows are used to boost confidence on true-positive findings and suppress false positives where sanitization is detected.
Positive Signal Detection
Code that demonstrates good practices receives score bonuses (capped at +15):
Framework-Aware Rules
Judges include framework-specific detection for Express, Django, Flask, FastAPI, Spring, ASP.NET, Rails, and more. Framework middleware (e.g., helmet(), express-rate-limit, passport.authenticate()) is recognized as mitigation, reducing false positives.
Cross-File Import Resolution
In project-level analysis, imports are resolved across files. If one file imports a security middleware module from another file in the project, findings about missing security controls are automatically adjusted with reduced confidence.
Scoring
Each judge scores the code from 0 to 100:
Verdict logic:
- FAIL — Any critical finding, or score < 60
- WARNING — Any high finding, any medium finding, or score < 80
- PASS — Score ≥ 80 with no critical, high, or medium findings
The overall tribunal score is the average of all 45 judges. The overall verdict fails if any judge fails.
Project Structure
Scripts
Daily Popular Repo Automation
This repo includes a scheduled workflow at .github/workflows/daily-popular-repo-autofix.yml that:
- selects up to 10 repositories per day from a default pool of 100+ popular repos (or a manually supplied target),
- runs the full Judges evaluation across supported source languages,
- applies only conservative, single-line remediations that reduce matching finding counts,
- opens up to 5 PRs per repository with attribution to both Judges and the target repository,
- skips repositories unless they are public and PR creation is possible with existing GitHub auth (no additional auth flow).
- enforces hard runtime caps of 10 repositories/day and 5 PRs/repository.
Each run writes daily-autofix-summary.json (or SUMMARY_PATH) with per-repository telemetry, including:
runAggregate— compact run-level totals and cross-repo top prioritized rules,runAggregate.totalCandidatesDiscoveredandrunAggregate.totalCandidatesAfterLocationDedupe— signal how much overlap was removed before attempting fixes,runAggregate.totalCandidatesAfterPriorityThreshold— candidates that remain after applying minimum priority score,runAggregate.dedupeReductionPercent— percent reduction from location dedupe for quick runtime-efficiency tracking,runAggregate.priorityThresholdReductionPercent— percent reduction from minimum-priority filtering after dedupe,priorityRulePrefixesUsed— dangerous rule prefixes used during prioritization,minPriorityScoreUsed— minimumcandidatePriorityScoreapplied for candidate inclusion,candidatesDiscovered,candidatesAfterLocationDedupe, andcandidatesAfterPriorityThreshold— per-repo candidate counts after each filter stage,topPrioritizedRuleCounts— most common rule IDs among ranked candidates,topPrioritizedCandidates— top ranked candidate samples (rule, severity, confidence, file, line, priority score).
Optional runtime control:
AUTOFIX_MIN_PRIORITY_SCORE— minimum candidate priority score required after dedupe (default:0, disabled).
Required secret:
JUDGES_AUTOFIX_GH_TOKEN— GitHub token with permission to fork/push/create PRs for target repositories.
Manual run:
Programmatic API
Judges can be consumed as a library (not just via MCP). Import from @kevinrabun/judges/api:
Package Exports
SARIF Output
Convert findings to SARIF 2.1.0 for GitHub Code Scanning, Azure DevOps, and other CI/CD tools:
Custom Error Types
All thrown errors extend JudgesError with a machine-readable code property:
License
MIT
來源:README.md,提交 8432a66
工具
0版本歷史
1- v3.129.9最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分