PR Reviewer
Не nitpicks (lint уже делает), а архитектурный review: detection анти-паттернов через AST + CodeQL-like queries для security (OWASP / CWE Top 25) + code-smell через embeddings («этот класс похож на наш good pattern Y на 0.42»). Сосредотачивает senior-reviewer time на сложных архитектурных обсуждениях.
Senior dev тратит 30-50% времени на code review. Большая часть — nitpicks (стиль, naming, мелкие refactor'ы), которые мог бы поймать lint. Реальные ценные замечания — про архитектуру, security, edge cases — обсуждаются мельком. PR Reviewer закрывает первый слой review, senior'у остаётся только архитектура и серьёзные вещи.
Не nitpicks — Lint уже умеет. Архитектура и security.
GitHub Copilot Code Review, AWS CodeGuru — все они выдают много шума: «move this to constant», «use let instead of var». PR Reviewer concentrates на том, что действительно важно: «эта функция нарушает SRP — слишком много responsibilities», «SQL построен через string concat — потенциальная injection vulnerability», «этот класс похож на god-class anti-pattern (similar к нашему legacy X, который мы рефакторили в прошлом году)». Меньше комментариев — больше signal.
Пошаговая архитектура
Webhook от GitHub/GitLab/Bitbucket
На каждый new PR / push в branch — trigger pipeline. Auth через GitHub App или GitLab integration.
AST parsing
tree-sitter для 30+ языков (Python, Go, TS, Rust, Java, Kotlin, ...). Получаем structured representation кода — не plain text для анти-pattern detection.
Architectural anti-patterns
AST queries: god-classes (>500 LoC, >20 methods), circular dependencies, deep inheritance (>4 уровня), feature-envy, dead code.
Security scan (CodeQL-like)
Через open-source Semgrep + custom rules. Detect: SQL injection patterns, secret exposure (API keys в коде), unsafe deserialization, weak crypto, path-traversal.
Code-smell через embeddings
CodeBERT / StarCoder embeddings от вашего «good code» репозитория. Сравнение new code с base: similarity score. Low similarity → flag «нестандартный pattern, обсудить».
LLM генерация замечаний
GigaChat с context: AST-findings + security-issues + code-smells + diff. Output — naturally-phrased comments с reasoning и code-examples.
Push в GitHub/GitLab
Comments появляются как обычные review-comments. Прямые suggestions через GitHub Suggestions API (one-click apply).
Стек, который не запирает
tree-sitter — multi-language AST parser
Semgrep (open-source) для security rules — OWASP Top 10 + CWE Top 25
CodeBERT / StarCoder embeddings для code-similarity
Custom AST-rules для architectural anti-patterns (Python ast-grep)
GigaChat для NL-generation comments
GitHub App / GitLab integration / Bitbucket webhook — все три популярных платформы
Идеально для
- Software-команды с peer-review культурой (любой размер)
- Outsourcing-компании — quality control над external dev'ами
- Регулируемые индустрии (банки, страховые) — security-аудит на каждый PR
- Open-source проекты — first-pass review для maintainer'а
Границы кейса
- Не заменяет human reviewer — даёт ему отлаженный first-pass
- Не делает auto-merge (даже если все checks green)
- Не работает с jupyter notebooks (.ipynb) — это другая semantics
- Не пишет код за вас — только review-comments
Частые вопросы
Python, Go, TypeScript / JavaScript, Rust, Java, Kotlin — full support. C#, Ruby, PHP, Swift, C/C++ — basic. Other — через tree-sitter, custom rules можно добавить.
Что ещё может пригодиться
Покажем на ваших данных
за 1-2 недели
Подключаемся к ограниченной выборке, разворачиваем PoC на ваших реальных кейсах. Оценка качества, точности и UX — на вашей специфике, не на наших красивых демо.