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[] (with score, blocking, warnings)
tracking.jsonMR/PR lifecycle trackingstate, openThreads, reviews[] (with type, score, duration)

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.