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.