Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 153 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
# CodeRabbit config docs: https://docs.coderabbit.ai/reference/configuration

# General settings
language: "en-US"
early_access: true

# REVIEW CONFIGURATION
reviews:
profile: "chill"
review_status: true
commit_status: true
fail_commit_status: false
request_changes_workflow: false
in_progress_fortune: false

high_level_summary: false
high_level_summary_in_walkthrough: false
collapse_walkthrough: true
changed_files_summary: false
sequence_diagrams: false
estimate_code_review_effort: false
poem: false

related_issues: false
related_prs: false

suggested_labels: false
auto_apply_labels: false
suggested_reviewers: false
auto_assign_reviewers: false

auto_review:
enabled: true
drafts: false
base_branches:
- ".*"

auto_title_placeholder: "@coderabbitai"
auto_title_instructions: |
Generate PR titles following Conventional Commits format: `type: Subject`

Title strategy:
- Focus on the PRIMARY contribution or most central feature delivered in the PR
- Do NOT base the title on the last commit message
- Do NOT choose the most verbose or largest change
- Identify the core purpose or business value of the PR
- Keep titles concise and meaningful

Requirements:
- Use lowercase for type: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert, or plan
- Subject must start with an uppercase letter
- Keep total title length ≤ 65 characters
- Use imperative mood (e.g., "Add feature" not "Added feature")

Examples:
- `feat: Add WebSocket support` (not "Update connection manager")
- `fix: Resolve authentication timeout` (not "Fix bug in auth service")
- `docs: Improve API examples` (not "Update documentation files")
- `chore: Update dependencies` (when that's the sole purpose)

# Code enhancement features
finishing_touches:
docstrings:
enabled: false # Generate docstrings for PRs/MRs (default: true)
unit_tests:
enabled: false # Generate unit tests for PRs/MRs (default: true)

# Pre-merge validation checks
pre_merge_checks:
docstrings: # Docstring coverage check (default: warning)
mode: off
description: # PR description validation (default: warning)
mode: off
issue_assessment: # Linked issue assessment (default: warning)
mode: off
title: # PR title validation (default: warning)
mode: warning

# Files to include/exclude from reviews
path_filters:
- "**" # Include all (base)
- "!.specify/scripts/" # Spec Kit (except memory)
- "!.specify/templates/" # Spec Kit (except memory)
- "!.github/prompts/speckit.*" # Spec Kit prompts
- "!node_modules/" # NPM dependencies
- "!*-lock.json" # NPM/PNPM lock files
- "!packages/" # NuGet packages cache
- "!.jekyll-cache/" # Jekyll cache
- "!vendor/" # Ruby vendor and gem files
- "!Gemfile.lock" # Ruby dependencies lock
- "!bin/" # .NET build output
- "!obj/" # .NET build intermediate files
- "!*.g.cs" # Generated source files
- "!*.xlsx" # Manual calculation spreadsheets
- "!*.bak" # Backup files

# Tool integrations
tools:
gitleaks:
enabled: true
semgrep:
enabled: true
osvScanner:
enabled: true
markdownlint:
enabled: true
yamllint:
enabled: true
actionlint:
enabled: true
shellcheck:
enabled: true
github-checks:
enabled: true
timeout_ms: 400000
eslint:
enabled: false
ruff:
enabled: false
golangci-lint:
enabled: false
hadolint:
enabled: false
checkov:
enabled: false
htmlhint:
enabled: false
languagetool:
enabled: false
biome:
enabled: false
oxc:
enabled: false

# KNOWLEDGE BASE CONFIGURATION
knowledge_base:
opt_out: false
code_guidelines:
enabled: true
filePatterns:
- ".github/copilot-instructions.md"
- ".github/instructions/*.instructions.md"
- ".github/instructions/**/*.instructions.md"
- "**/agents.md"
learnings:
scope: "auto"
issues:
scope: "auto"
pull_requests:
scope: "auto"
mcp:
usage: "auto"