--- # 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: []