Files
coderabbit/coderabbit.yaml
Ismo Vuorinen 589f5ab0e2 feat: add validation tooling and expand path review instructions
Add pre-commit hooks (YAML lint, schema validation, editorconfig),
CI workflow, and new path instructions for test files, Dockerfiles,
config files, and archival docs.
2026-03-08 23:37:35 +02:00

247 lines
7.1 KiB
YAML

---
# yaml-language-server: $schema=https://storage.googleapis.com/coderabbit_public_assets/schema.v2.json
language: en-US
tone_instructions: >-
Adopt a concise, matter-of-fact style that gets straight to the
point without unnecessary pleasantries. Highlight issues, and suggest
production-grade, elegant, and concise solutions.
In instructions for LLM's, optimize token usage.
early_access: true
enable_free_tier: true
reviews:
profile: chill
request_changes_workflow: true
high_level_summary: true
high_level_summary_placeholder: '@coderabbitai summary'
high_level_summary_in_walkthrough: true
auto_title_placeholder: '@coderabbitai'
auto_title_instructions: use short, semantic commit style descriptions
review_status: true
commit_status: true
fail_commit_status: false
collapse_walkthrough: true
changed_files_summary: true
sequence_diagrams: true
estimate_code_review_effort: true
assess_linked_issues: true
related_issues: true
related_prs: true
suggested_labels: true
auto_apply_labels: true
suggested_reviewers: true
auto_assign_reviewers: true
poem: false
labeling_instructions: []
path_filters: []
path_instructions:
- path: "**/*"
instructions: >-
- Check for security vulnerabilities and potential issues.
- Ensure the code follows the **DRY, AHA, and SOLID** principles.
- If there is a way to simplify code, suggest it.
- path: '**/*.go'
instructions: >-
Review the Go code, point out issues relative to principles of clean
code, expressiveness, and performance.
- path: '**/*.proto'
instructions: >-
Review the Protobuf definitions, point out issues relative to
compatibility, and expressiveness.
- path: '**/*.sh'
instructions: >-
Review the shell scripts, point out issues relative to security,
performance, and maintainability.
- path: "TODO.md"
instructions: >-
This is the file for tracking the project tasks.
It's usually maintained by an LLM, and may contain lies.
- path: .github/**
instructions: >-
When the project is hosted on GitHub:
- All GitHub-specific configurations, templates, and tools
should be found in the '.github' directory tree.
- 'actionlint' erroneously generates false positives when
dealing with GitHub's `${{ ... }}` syntax in conditionals.
- 'actionlint' erroneously generates incorrect solutions
when suggesting the removal of valid `${{ ... }}` syntax.
- path: docs/*
instructions: >-
When a project contains a `docs/` directory:
1. Consider the files in the `docs/` directory tree the core/main/in-depth
documentation of the project. Also consider the 'docs/**.md' files the
second place to look for project documentation after the 'README.md' file.
2. When reviewing the documentation files (e.g. `docs/**.md`),
they should additionally be linted with help from the tool `markdownlint`, pointing out any issues.
3. When reviewing the documentation files in `docs/` directory, they should
additionally be linted with help from the tool `languagetool`, pointing out any issues.
4. Focus on grammar, spelling, and punctuation.
5. Also consider readability and clarity of contents.
6. Avoid gender-specific language and use the imperative form.
- path: "docs/plans/**"
instructions: >-
These are historical design and planning documents. They may contain
outdated information and do not reflect current implementation.
Do not enforce current coding standards or suggest updates to align
with current practices. Focus only on grammar, spelling, and
readability if changes are being reviewed.
- path: "**/*.{test,spec}.*"
instructions: >-
These are test files. Focus on test coverage completeness,
assertion quality, and avoiding flaky test patterns.
Some duplication in tests is acceptable for readability —
do not enforce DRY as aggressively as in production code.
- path: "**/Dockerfile*"
instructions: >-
Review Dockerfiles for security best practices (non-root user,
minimal base images, no secrets baked into layers), multi-stage
build opportunities, and layer caching efficiency.
- path: "**/*.{json,yaml,yml,toml}"
instructions: >-
Configuration files: verify valid structure, ensure no hardcoded
secrets or credentials, and check consistency with project conventions.
abort_on_close: true
disable_cache: false
auto_review:
enabled: true
auto_incremental_review: true
ignore_title_keywords: []
labels: []
drafts: true
base_branches: []
finishing_touches:
docstrings:
enabled: true
unit_tests:
enabled: true
pre_merge_checks:
docstrings:
mode: warning
threshold: 80
title:
mode: warning
requirements: ''
description:
mode: warning
issue_assessment:
mode: warning
tools:
ast-grep:
rule_dirs: []
util_dirs: []
essential_rules: true
packages: []
shellcheck:
enabled: true
ruff:
enabled: true
markdownlint:
enabled: true
github-checks:
enabled: true
timeout_ms: 90000
languagetool:
enabled: true
enabled_rules: []
disabled_rules: []
enabled_categories: []
disabled_categories: []
enabled_only: false
level: default
biome:
enabled: true
hadolint:
enabled: true
swiftlint:
enabled: true
phpstan:
enabled: true
level: default
phpmd:
enabled: true
phpcs:
enabled: true
golangci-lint:
enabled: true
yamllint:
enabled: true
gitleaks:
enabled: true
checkov:
enabled: true
detekt:
enabled: true
eslint:
enabled: true
flake8:
enabled: true
rubocop:
enabled: true
buf:
enabled: true
regal:
enabled: true
actionlint:
enabled: true
pmd:
enabled: true
cppcheck:
enabled: true
semgrep:
enabled: true
circleci:
enabled: true
clippy:
enabled: true
sqlfluff:
enabled: true
prismaLint:
enabled: true
pylint:
enabled: true
oxc:
enabled: true
shopifyThemeCheck:
enabled: true
luacheck:
enabled: true
brakeman:
enabled: true
dotenvLint:
enabled: true
htmlhint:
enabled: true
checkmake:
enabled: true
chat:
auto_reply: true
integrations:
jira:
usage: disabled
linear:
usage: disabled
knowledge_base:
opt_out: false
web_search:
enabled: true
code_guidelines:
enabled: true
filePatterns: []
learnings:
scope: auto
issues:
scope: auto
jira:
usage: disabled
project_keys: []
linear:
usage: disabled
team_keys: []
pull_requests:
scope: auto
code_generation:
docstrings:
language: en-US
path_instructions: []
unit_tests:
path_instructions: []