Skip to content

Configuration Reference

Complete reference for Reviewflow configuration files.

Overview

The system uses two configuration files:

FileLocationPurpose
config.json~/.claude-review/ (created by reviewflow init)Server configuration, repositories
.claude/reviews/config.jsonEach projectProject-specific review settings

Server Configuration

Location

~/.claude-review/config.json, created automatically by reviewflow init.

Schema

json
{
  "server": {
    "port": 3847
  },
  "user": {
    "gitlabUsername": "your-gitlab-username",
    "githubUsername": "your-github-username"
  },
  "queue": {
    "maxConcurrent": 2,
    "deduplicationWindowMs": 300000
  },
  "repositories": [
    {
      "platform": "gitlab",
      "remoteUrl": "https://gitlab.com/your-org/your-project",
      "localPath": "/path/to/local/clone",
      "skill": "review-code",
      "followupSkill": "review-followup",
      "enabled": true
    }
  ]
}

Fields

server

FieldTypeDefaultDescription
portnumber3847HTTP server port

user

FieldTypeRequiredDescription
gitlabUsernamestringIf using GitLabYour GitLab username (for @mentions filtering)
githubUsernamestringIf using GitHubYour GitHub username (for @mentions filtering)

queue

FieldTypeDefaultDescription
maxConcurrentnumber2Max concurrent review jobs
deduplicationWindowMsnumber300000Ignore duplicate webhooks within this window (5 min)

repositories[]

FieldTypeRequiredDescription
platform"gitlab" | "github"YesPlatform type
remoteUrlstringYesRepository URL (for matching webhooks)
localPathstringYesAbsolute path to local clone
skillstringYesSkill name for initial reviews
followupSkillstringNoSkill name for follow-up reviews
enabledbooleanNoEnable/disable this repository (default: true)

Multiple repositories: add additional entries to the repositories[] array. Mix platforms (gitlab/github) freely.


Project Configuration

Location

.claude/reviews/config.json inside each project repository.

Schema

json
{
  "github": true,
  "gitlab": false,
  "defaultModel": "sonnet",
  "reviewSkill": "my-review-skill",
  "reviewFollowupSkill": "my-followup-skill",
  "agents": [
    { "name": "architecture", "displayName": "Architecture" },
    { "name": "security", "displayName": "Security" }
  ],
  "followupAgents": [
    { "name": "verify", "displayName": "Verify Fixes" },
    { "name": "scan", "displayName": "New Issues Scan" }
  ]
}

Fields

FieldTypeRequiredDefaultDescription
githubbooleanYes-Enable GitHub integration
gitlabbooleanYes-Enable GitLab integration
defaultModel"sonnet" | "opus"No"sonnet"Claude model for reviews
reviewSkillstringYes-Skill name for initial reviews
reviewFollowupSkillstringNo-Skill name for follow-up reviews
agentsAgentDefinition[]NoSee belowCustom agents for progress tracking
followupAgentsAgentDefinition[]NoSee belowCustom agents for follow-up reviews

AgentDefinition

FieldTypeDescription
namestringAgent identifier (kebab-case, e.g., clean-architecture)
displayNamestringHuman-readable name for dashboard (e.g., Clean Architecture)

Default Agents

When agents is omitted: clean-architecture, ddd, react-best-practices, solid, testing, code-quality.

When followupAgents is omitted: context, verify, scan, threads, report.


Minimal project config: { "gitlab": true, "reviewSkill": "review-code" }.


Generated Files

The automation server creates these files in .claude/reviews/:

FileDescriptionKey Fields
stats.jsonReview statistics history per projecttotalReviews, averageScore, reviews[] (last 100), cumulative counters (totalScoreSum, scoredReviewCount, diffStatsReviewCount)
tracking.jsonMR/PR lifecycle trackingstate, openThreads, reviews[] (with type, score, duration)
insights.jsonComputed developer & team insightsdeveloperMetrics, teamInsight, aiInsights (AI-generated narrative), processedReviewIds

Note on stats.json: The reviews[] array is capped at 100 entries for storage. Aggregate fields (totalReviews, totalBlocking, averageScore, etc.) reflect the full history thanks to cumulative counters that persist independently of the array.


Environment Variables

VariableDescriptionDefault
PORTOverride server portFrom config.json
NODE_ENVEnvironment modedevelopment
GITLAB_TOKENGitLab API tokenRequired for glab CLI
GITHUB_TOKENGitHub API tokenRequired for gh CLI

Validation

Configuration files are validated at startup. Run reviewflow validate to check your configuration without starting the server. Common errors: missing required fields, invalid model name (use "sonnet" or "opus"), nonexistent localPath, or missing skill file in .claude/skills/.


See Also

Released under the MIT License.