|
| 1 | +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json |
| 2 | +language: "ru-RU" |
| 3 | +early_access: false |
| 4 | + |
| 5 | +reviews: |
| 6 | + profile: "assertive" |
| 7 | + request_changes_workflow: false |
| 8 | + high_level_summary: true |
| 9 | + high_level_summary_in_walkthrough: true |
| 10 | + review_status: true |
| 11 | + review_details: true |
| 12 | + commit_status: true |
| 13 | + fail_commit_status: true |
| 14 | + collapse_walkthrough: true |
| 15 | + changed_files_summary: true |
| 16 | + sequence_diagrams: true |
| 17 | + estimate_code_review_effort: true |
| 18 | + assess_linked_issues: true |
| 19 | + related_issues: true |
| 20 | + related_prs: true |
| 21 | + suggested_labels: true |
| 22 | + poem: false |
| 23 | + in_progress_fortune: false |
| 24 | + abort_on_close: true |
| 25 | + |
| 26 | + auto_review: |
| 27 | + enabled: true |
| 28 | + auto_incremental_review: true |
| 29 | + auto_pause_after_reviewed_commits: 0 |
| 30 | + drafts: true |
| 31 | + base_branches: |
| 32 | + - ".*" |
| 33 | + labels: |
| 34 | + - "!do-not-review" |
| 35 | + - "!skip-coderabbit" |
| 36 | + ignore_title_keywords: |
| 37 | + - "[skip review]" |
| 38 | + - "[skip coderabbit]" |
| 39 | + - "do not review" |
| 40 | + |
| 41 | + path_instructions: |
| 42 | + - path: "**/*" |
| 43 | + instructions: | |
| 44 | + Ты строгий ревьюер SPEC DRIVEN DEVELOPMENT. |
| 45 | +
|
| 46 | + Перед выводами изучи README.md, другие *.md файлы, linked issues, |
| 47 | + PR description, PR comments/discussion и релевантную кодовую базу. |
| 48 | +
|
| 49 | + Сверь изменения с исходным ТЗ/спекой и обсуждением. Флагай любой уход |
| 50 | + от спеки, недокументированное изменение поведения, отсутствие тестов |
| 51 | + для заявленного поведения и security-риск. Если спека не видна, |
| 52 | + попроси автора добавить ее в issue или PR description. |
| 53 | +
|
| 54 | + Проверь решение с точки зрения формальной верификации: какие инварианты, |
| 55 | + предусловия и постусловия можно доказать математически, а где доказуемость |
| 56 | + слабая. Оцени решение с точки зрения теории игр: устойчивы ли стимулы, |
| 57 | + нет ли выгодного обхода правил, и какое решение было бы сильнее. |
| 58 | +
|
| 59 | + pre_merge_checks: |
| 60 | + issue_assessment: |
| 61 | + mode: "warning" |
| 62 | + custom_checks: |
| 63 | + - name: "Requirements alignment" |
| 64 | + mode: "error" |
| 65 | + instructions: | |
| 66 | + Fail if the diff contradicts the visible spec/TZ, linked issue, PR |
| 67 | + discussion, README/docs, or changes behavior without documenting it. |
| 68 | + Fail if promised behavior has no relevant tests. Return Inconclusive |
| 69 | + when the spec is missing and ask the author to add it. Also flag weak |
| 70 | + formal invariants or game-theory incentives when they undermine the spec. |
| 71 | + - name: "Security regression" |
| 72 | + mode: "warning" |
| 73 | + instructions: | |
| 74 | + Fail if changed files introduce a high-confidence security regression, including: |
| 75 | + - command injection or unsafe shell/process execution with user-controlled input; |
| 76 | + - path traversal or writes outside intended project/container state directories; |
| 77 | + - credential, token, private-key, or PII exposure in source, generated config, logs, or CI output; |
| 78 | + - unsafe Docker/GitHub Actions configuration such as privileged containers, broad host mounts, unbounded Docker socket access, unsafe `pull_request_target`, or unnecessary write permissions; |
| 79 | + - dependency or package-manager changes that materially increase supply-chain risk without justification. |
| 80 | +
|
| 81 | + Pass when no high-confidence regression is found. Return Inconclusive when the diff is too large or lacks enough context to determine risk. |
| 82 | +
|
| 83 | + tools: |
| 84 | + github-checks: |
| 85 | + enabled: true |
| 86 | + timeout_ms: 900000 |
| 87 | + gitleaks: |
| 88 | + enabled: true |
| 89 | + trufflehog: |
| 90 | + enabled: true |
| 91 | + semgrep: |
| 92 | + enabled: true |
| 93 | + opengrep: |
| 94 | + enabled: true |
| 95 | + osvScanner: |
| 96 | + enabled: true |
| 97 | + checkov: |
| 98 | + enabled: true |
| 99 | + trivy: |
| 100 | + enabled: true |
| 101 | + presidio: |
| 102 | + enabled: true |
| 103 | + actionlint: |
| 104 | + enabled: true |
| 105 | + hadolint: |
| 106 | + enabled: true |
| 107 | + shellcheck: |
| 108 | + enabled: true |
| 109 | + eslint: |
| 110 | + enabled: true |
| 111 | + oxc: |
| 112 | + enabled: true |
| 113 | + yamllint: |
| 114 | + enabled: true |
| 115 | + dotenvLint: |
| 116 | + enabled: true |
| 117 | + |
| 118 | +knowledge_base: |
| 119 | + opt_out: false |
| 120 | + web_search: |
| 121 | + enabled: true |
| 122 | + code_guidelines: |
| 123 | + enabled: true |
| 124 | + filePatterns: |
| 125 | + - "AGENTS.md" |
| 126 | + - "CLAUDE.md" |
| 127 | + - "GEMINI.md" |
| 128 | + - "README.md" |
| 129 | + - "docs/**/*.md" |
| 130 | + issues: |
| 131 | + scope: "local" |
| 132 | + pull_requests: |
| 133 | + scope: "local" |
| 134 | + learnings: |
| 135 | + scope: "local" |
| 136 | + |
| 137 | +chat: |
| 138 | + art: false |
| 139 | + auto_reply: true |
| 140 | + allow_non_org_members: true |
0 commit comments