Skip to content
Damien Gouron edited this page Mar 22, 2026 · 3 revisions

ReviewFlow

AI-powered code review automation for GitLab & GitHub

Version License: MIT TypeScript Clean Architecture


Assign a reviewer on your merge request. Claude reviews the code, tracks progress in real time, and follows up when you push fixes.


Overview

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

Core Capabilities

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

Architecture

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.

Key Patterns

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

Tech Stack

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

Wiki Contents

Domain-Driven Design

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

External References

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

Project Management

Resource Link
Issues GitHub Issues
Roadmap Project Board
Discussions GitHub Discussions

Built with Clean Architecture, tested with TDD, reviewed by AI.

Get Started · Report a Bug · Discussions