-
Notifications
You must be signed in to change notification settings - Fork 6
Home
AI-powered code review automation for GitLab & GitHub
Assign a reviewer on your merge request. Claude reviews the code, tracks progress in real time, and follows up when you push fixes.
ReviewFlow plugs into your GitLab/GitHub workflow via webhooks. When a review is requested, it queues the job, orchestrates specialized AI agents (architecture, testing, security, code quality), and posts inline comments directly on the MR/PR — then automatically follows up when the developer pushes fixes.
Webhook received ── Queue deduplicates ── Multi-agent review ── Comments posted ── Fixes pushed ── Auto follow-up
| Capability | Description |
|---|---|
| Multi-Agent Reviews | Configurable audit agents — Clean Architecture, SOLID, Testing, DDD, Security, and more |
| MCP Integration | Model Context Protocol server for structured progress reporting and thread management |
| Smart Queue | Concurrency control, deduplication, graceful cancellation, memory guard (4 GB cap) |
| Real-Time Dashboard | WebSocket-powered live progress, review history, stats charts, team insights |
| Follow-Up Reviews | Automatic re-review on push — resolves threads, updates score, iterative loop |
| Developer Insights | Per-developer performance analysis across quality, responsiveness, volume, iteration |
| Multi-Platform | GitLab and GitHub with CLI-based OAuth — no API tokens needed |
ReviewFlow follows Clean Architecture (Robert C. Martin) with strategic DDD at the bounded context level.
External World (GitLab / GitHub / CLI / Dashboard)
│
▼
INTERFACE ADAPTERS ── Controllers, Gateways, Presenters
│
▼
APPLICATION LAYER ── Use Cases (one intention = one class)
│
▼
DOMAIN LAYER ── Entities, Value Objects, Guards, Gateway Contracts
Dependencies always point inward. External systems never leak into the domain.
| Pattern | Usage |
|---|---|
| Gateway | All external access through interfaces defined in the domain |
| Anti-Corruption Layer | Controllers translate GitLab/GitHub events into domain concepts |
| Factory + Guard | Object creation with Zod-powered validation at boundaries |
| Use Case | Each business action encapsulated in a dedicated class |
| Dependency Injection | Wired in composition root (routes.ts), never inside controllers |
| Layer | Technology |
|---|---|
| Runtime | Node.js >= 20, ES Modules |
| Language | TypeScript 5.8+ (strict) |
| HTTP | Fastify 5 |
| Validation | Zod 4 |
| Queue | p-queue with concurrency control |
| AI Engine | Claude Code (via MCP SDK) |
| Dashboard | Vanilla JS + WebSocket + Canvas charts |
| Testing | Vitest (Detroit School, Inside-Out) |
| Linting | Biome |
| Docs | VitePress |
| Page | Description |
|---|---|
| Event Storming — Big Picture | Global context map with all bounded contexts, relations (Vaughn Vernon patterns), shared kernel, and hot spots |
| Review Execution | Core review lifecycle — request to action execution, MCP progress tracking |
| Tracking | MR/PR lifecycle tracking — assignment, state transitions, push events |
| Statistics & Insights | Review statistics aggregation, developer insights, AI narratives |
| Platform Integration | ACL — GitLab/GitHub webhook handling, platform API interactions |
| CLI & Configuration | Daemon lifecycle, project configuration, versioning |
| Data Lifecycle | Cleanup of expired reviews and data retention |
| Resource | Link |
|---|---|
| Documentation Site | dgouron.github.io/review-flow |
| Ubiquitous Language | docs/reference/ubiquitous-language.md |
| Current Architecture | docs/architecture/current.md |
| Target Architecture | docs/architecture/target.md |
| Changelog | CHANGELOG.md |
| Resource | Link |
|---|---|
| Issues | GitHub Issues |
| Roadmap | Project Board |
| Discussions | GitHub Discussions |
Built with Clean Architecture, tested with TDD, reviewed by AI.
ReviewFlow v3.8.1 · MIT License · Documentation · Report an Issue
Getting Started
Architecture
DDD — Event Storming
- Big Picture
- Review Execution
- Tracking
- Statistics & Insights
- Platform Integration
- CLI & Configuration
- Data Lifecycle
Project