Repository configuration
Lookup order from the review directory toward the Git root: .codejackrabbit.yaml, .codejackrabbit.yml, codejackrabbit.yaml, codejackrabbit.yml, .codejackrabbit.json. Create with codejackrabbit config, inspect with config inspect, validate with config validate, and merge proposals with config apply.
language: en-US
toneInstructions: ""
earlyAccess: false
enableFreeTier: true
inheritance: false
reviews:
profile: chill
requestChangesWorkflow: false
allowAuthorApproval: true
highLevelSummary: true
reviewStatus: true
commitStatus: true
failCommitStatus: false
changedFilesSummary: true
sequenceDiagrams: false
estimateEffort: true
failOn: none
pathFilters: []
ignorePaths:
- "**/node_modules/**"
- "**/dist/**"
- "**/*.min.js"
pathInstructions: []
autoReview:
enabled: true
drafts: false
labels: []
baseBranches: []
autoIncremental: true
finishingTouches:
docstrings:
enabled: true
unitTests:
enabled: true
autofix:
enabled: true
preMergeChecks:
docstrings:
mode: warning
threshold: 80
title:
mode: warning
description:
mode: warning
customChecks: []
tools: {}
chat:
autoReply: false
knowledgeBase:
optOut: false
codeGuidelines:
enabled: true
filePatterns: []
learnings:
scope: auto
tools:
staticAnalysis: true
secrets: true
llm: false
externalTools: false
Profiles are quiet, chill, assertive and default. Quiet moves minor findings into a grouped count. Chill is balanced. The current engine applies the same deterministic rules for other profiles and uses profile text as review context; it does not fabricate style findings.
pathInstructions accepts objects or "glob => instructions" entries. They are surfaced in review output and included in model prompts when the LLM pass runs. pathFilters is an additive alias for ignored paths. Supported glob tokens are **, * and ?.
Pre-merge check modes are off, warning and error. A custom check with a pattern is evaluated mechanically. A custom check without a pattern intentionally fails with an explanation; the engine never signs off a judgment it cannot make. Set it to off if it is documentation only.
tools.llm is a boolean or an object naming the LLM server for this repository: { provider, baseUrl, model }. model: auto (or omitting it) detects the best model the configured server actually serves; pin an exact id to force one. API keys are rejected here — they belong in the server environment. See LLM providers.
External tool configuration lives per tool under reviews.tools.<id> with enabled and configFile. It has effect only when tools.externalTools is true and the executable is installed.
config apply merges validated sections over the current file and renders YAML. It requires the current SHA-256 in --base. The YAML subset supports nested maps, scalars, block lists, inline lists and lists of maps. Use JSON for constructs outside that subset.