From 4cd7cb00566271e2a81ce20a8fa6aeb9529a6b30 Mon Sep 17 00:00:00 2001 From: Dave Skender <8432125+DaveSkender@users.noreply.github.com> Date: Tue, 28 Oct 2025 22:16:41 -0400 Subject: [PATCH 1/2] ci: Add CodeRabbit configuration Signed-off-by: Dave Skender <8432125+DaveSkender@users.noreply.github.com> --- .coderabbit.yaml | 160 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 .coderabbit.yaml diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000..6a2a751 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,160 @@ +# 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 + + # Automatic review scheduling + 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: on + + # 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/" # 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" + +# TOOL INTEGRATIONS +integration: + editorconfig: true # Respect existing .editorconfig rules + dotnet_analyzers: true # Work with existing analyzers + github_actions: true # Coordinate with existing GitHub workflows From 71b827dfabb13a610fe5eb1f8b0ff68a3e18f717 Mon Sep 17 00:00:00 2001 From: Dave Skender <8432125+DaveSkender@users.noreply.github.com> Date: Tue, 28 Oct 2025 22:31:43 -0400 Subject: [PATCH 2/2] fix: Update auto review title validation mode and improve comments --- .coderabbit.yaml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 6a2a751..22e9b38 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -30,7 +30,6 @@ reviews: suggested_reviewers: false auto_assign_reviewers: false - # Automatic review scheduling auto_review: enabled: true drafts: false @@ -76,7 +75,7 @@ reviews: issue_assessment: # Linked issue assessment (default: warning) mode: off title: # PR title validation (default: warning) - mode: on + mode: warning # Files to include/exclude from reviews path_filters: @@ -88,7 +87,7 @@ reviews: - "!*-lock.json" # NPM/PNPM lock files - "!packages/" # NuGet packages cache - "!.jekyll-cache/" # Jekyll cache - - "!vendor/" # and gem files + - "!vendor/" # Ruby vendor and gem files - "!Gemfile.lock" # Ruby dependencies lock - "!bin/" # .NET build output - "!obj/" # .NET build intermediate files @@ -152,9 +151,3 @@ knowledge_base: scope: "auto" mcp: usage: "auto" - -# TOOL INTEGRATIONS -integration: - editorconfig: true # Respect existing .editorconfig rules - dotnet_analyzers: true # Work with existing analyzers - github_actions: true # Coordinate with existing GitHub workflows