> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kodus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# General

> The core review settings on Code review → General — cadence, PR workflow, and skip conditions — plus the full kodus-config.yml reference.

In the sidebar, open **Code review → General** (page title **General settings**). Review categories
and the severity threshold are not here any more — they live on **Code review → What to review**.

## Core Settings

<Note>
  Kodus has three config levels: Global, Repository, and Directory. Learn how they work in <a href="/en/how_to_use/code_review/configs/inheritance_overrides">Config Inheritance & Overrides</a>.
</Note>

### Config Priority

You can keep your review configuration in a `kodus-config.yml` file at the root of your
repository instead of the web UI.

<Warning>
  **The file is ignored until you opt in.** By default `kodusConfigFileOverridesWebPreferences`
  is `false`, which means Kody never reads `kodus-config.yml` — committing the file alone does
  nothing.

  Turn it on first: pick the repository (or directory) in the scope picker at the top of the
  **Code review** group in the sidebar, open **Code review → General**, and enable **kodus Config
  File Overrides Web Preferences** (`kodusConfigFileOverridesWebPreferences`). The toggle only
  exists at repository and directory scope. Only then does the file take effect — the sidebar then
  shows a **kodus-config.yml applied**, **kodus-config.yml not found** or **kodus-config.yml
  unavailable** badge under the scope picker.
</Warning>

Once enabled, the file is merged on top of your web settings, so you only need to declare the
keys you want to change — anything you omit keeps its web value.

<Note>
  **Unknown keys are silently dropped.** Any top-level key that isn't part of the current
  schema is removed before the config is applied — no error, no warning. If a setting appears
  to have no effect, check the spelling against the sample below.
</Note>

<Accordion title="Sample kodus-config.yml">
  ```yaml theme={null}
  version: 2.0

  # general
  automatedReviewActive: true
  showStatusFeedback: true
  kodusConfigFileOverridesWebPreferences: false
  reviewCadence:
      type: 'automatic' # automatic | auto_pause | manual
      timeWindow: 15 # minutes
      pushesToTrigger: 3
  pullRequestApprovalActive: false
  isRequestChangesActive: false # not available on GitLab
  runOnDraft: true
  ignorePaths:
      - 'yarn.lock'
      - 'package-lock.json'
      - 'package.json'
      - '.env'
      - '**/*.json'
      # ...abbreviated: the shipped default lists several hundred more patterns
  ignoredTitleKeywords: []
  baseBranches: []
  enableCommittableSuggestions: true
  byokModel: '' # empty = inherit (directory -> repository -> the main model on AI providers)

  # linked repositories — Teams / Enterprise only. Sibling repos the agent may consult during review.
  # Soft cap of 3; empty = feature off.
  linkedRepositories: []

  # what to review: categories
  reviewOptions:
      bug: true
      performance: true
      security: true
      business_logic: true

  # what to review: deterministic checks (opt-in, beta)
  deterministicEvidence:
      ciChecks: false # read the CI results your own pipeline already produced
      tools: # an enabled tool still skips when your CI already runs an equivalent
          secrets: false # credential scanning over the changed files
          dependencies: false # known CVEs in dependencies this PR adds or bumps

  # what to review: severity threshold
  suggestionControl:
      applyFiltersToKodyRules: false
      severityLevelFilter: 'medium' # low | medium | high | critical

  # what Kody writes: PR summary
  summary:
      generatePRSummary: true
      behaviourForNewCommits: 'none'
      behaviourForExistingDescription: 'replace'
      customInstructions: ''

  # kody rules
  ideRulesSyncEnabled: false
  kodyRulesGeneratorEnabled: true
  kodyLearningExcludedReviewers: []
  kodyKnowledgeApproval:
      enabled: false

  # what Kody writes: comments during the review + comment visibility
  customMessages:
      globalSettings:
          hideComments: false # GitHub only
          suggestionCopyPrompt: true # not available on Bitbucket
      errorReviewMessage:
          status: 'off' # off | active
          content: ''
      startReviewMessage:
          status: 'every_push' # every_push | only_when_opened | off
          content: ''
      endReviewMessage:
          status: 'every_push' # every_push | only_when_opened | off
          content: ''
  ```
</Accordion>

<Note>
  This sample mirrors the shipped defaults. The canonical source is
  [`default-kodus-config.yml`](https://github.com/kodustech/kodus-ai/blob/main/default-kodus-config.yml)
  in the kodus-ai repository.
</Note>

## Review Behavior

### Automated Review

Kody can review PRs automatically when opened, or only when you comment `@kody start-review`.
This is the **Enable Automated Code Review** toggle.

<Info>
  This affects the **initial review** only. For subsequent commits, see Review Cadence below.
</Info>

#### Review Cadence

Shown under **Enable Automated Code Review** when it is on. How Kody handles reviews on subsequent
commits:

<Tabs>
  <Tab title="Automatic">
    Review every new push. Continuous feedback on all changes.
  </Tab>

  <Tab title="Auto-pause">
    Pause reviews during rapid consecutive pushes (e.g., 3 pushes in 15 minutes). Prevents spam during active coding.

    Defaults: 3 pushes / 15 minutes (**Pushes to trigger pause** / **Time window (minutes)**)
  </Tab>

  <Tab title="Manual">
    Only run follow-up reviews when you comment `@kody start-review`.
  </Tab>
</Tabs>

### PR Workflow

#### Auto-approve PRs

**Enable Pull Request Approval** — Kody approves PRs when no issues are found.

**Platforms:** GitHub, GitLab, Bitbucket, Azure Repos, Forgejo

#### Request Changes

**Enable changing status of Review to 'Request Changes'** — Kody requests changes when finding
critical issues.

**Platforms:** GitHub, Bitbucket, Azure Repos, Forgejo (the toggle is hidden when GitLab is your
only connected platform)

### Skip Conditions

**Ignored files:** Glob patterns (e.g., `**/*.js`) for files Kody skips. The field shows a few
patterns as chips; click **Edit** to open the **Ignored files** modal, where each new pattern is
checked for valid glob syntax and the **Test a file** box tells you whether a path would be
ignored (and by which pattern) or reviewed. **Apply** only updates the field — nothing is saved
until you click **Save settings**. Default: `yarn.lock`, `package-lock.json`, `package.json`,
`.env`, `**/*.json`, plus a long list of build, binary and IDE files.

**Ignore title keywords:** Skip PRs with specific keywords (case-insensitive, max 100 chars)

**Base Branches:** Restricts *which* base branches get reviewed.

<Info>
  **Empty (the default) means every base branch is reviewed** — there is no built-in
  `dev`/`release`/`master` list. Add entries only when you want to *narrow* the scope: once the
  list is non-empty, Kody reviews only PRs targeting those branches (your repository's default
  branch is always included).

  Entries are matched against the PR's **target** branch and support a small pattern syntax:

  | Entry | Matches |
  | - | - |
  | `main` | PRs targeting exactly `main` |
  | `release/*` | PRs targeting any branch under `release/` (`*` is a single-level wildcard) |
  | `=main` | Exact match, same as writing `main` |
  | `!staging` | Excludes PRs targeting `staging` |
  | `contains:hotfix` | Matches on the **source** branch instead — any PR whose head branch contains `hotfix` |

  When several entries match, the most specific one wins. Each entry is limited to 100
  characters, may only use `a-z A-Z 0-9 / * - _ ! = :`, and `**` is not allowed.
</Info>

**Draft PRs:** **Enable Running on Draft Pull Requests** (`runOnDraft`) is on by default, so
drafts are reviewed. Turn it off to skip them until the PR is marked ready.

### Other settings on this page

* **Show Status Feedback** — Kody shows status feedback (emoji reaction or comment) when a review
  is skipped or blocked.
* **Enable committable suggestions** (Alpha, GitHub only) — suggestions that can be applied
  directly as commits.
* **Code review model** (repository and directory scope only, shown once an AI provider is
  configured) — the model this scope reviews with; it inherits by default (`byokModel`).
* **Kody Language** (Global only) — the language Kody uses in code review responses.

## Review categories (formerly Analysis Types)

Kody reviews across four categories. Categories are no longer on **General**: turn each one on or
off with its switch on **Code review → What to review**, or via `reviewOptions` in
`kodus-config.yml`.

* **Bug** — logic errors, race conditions, null dereferences, edge cases, and incorrect behavior.
* **Security** — vulnerabilities, injection, auth issues, data exposure, and secrets.
* **Performance** — N+1 queries, hot-path allocations, missing caching, and blocking I/O.
* **Business Logic** — validates the implementation against business rules, requirements, and
  acceptance criteria linked in the PR. See
  [Business Logic Validation](/en/how_to_use/code_review/business_logic_validation).

<Note>
  Kody Rules are **not** one of these categories — they always run, independently of
  `reviewOptions`. See [Kody Rules](/en/how_to_use/code_review/configs/kody_rules).
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.