Skip to content

Add CodeRabbit configuration#320

Merged
aallan merged 4 commits into
mainfrom
docs/coderabbit-config
Mar 19, 2026
Merged

Add CodeRabbit configuration#320
aallan merged 4 commits into
mainfrom
docs/coderabbit-config

Conversation

@aallan

@aallan aallan commented Mar 19, 2026

Copy link
Copy Markdown
Owner

Adds .coderabbit.yaml with project-specific review settings.

Key settings

  • Path exclusions: .vera files (unknown syntax), spec/ (technical prose), docs/ (static site)
  • Mixin pattern: Documented as expected — suppresses Pyright cross-mixin attribute warnings
  • De Bruijn indices: Index-assignment comments marked as critical documentation
  • Allowlist pattern: Scripts with line-number-keyed dicts flagged only for actual duplicate keys
  • Tools: ruff, markdownlint, yamllint, shellcheck, gitleaks enabled; all non-Python linters disabled
  • Labels: Auto-label PRs as compiler/tests/spec/ci/docs based on changed paths

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added repository-level configuration file for code review tooling.

Configure CodeRabbit for the Vera compiler project:
- Exclude .vera files (unknown language) and spec/ (technical prose)
- Per-path review instructions for compiler, tests, scripts, docs
- Mixin pattern and De Bruijn index documentation as expected patterns
- Enable ruff, markdownlint, yamllint, shellcheck, gitleaks
- Disable all non-Python linters
- Auto-labelling for compiler/tests/spec/ci/docs changes

Co-Authored-By: Claude <noreply@anthropic.invalid>
@coderabbitai

coderabbitai Bot commented Mar 19, 2026

Copy link
Copy Markdown

Caution

Review failed

The head commit changed during the review from 1683995 to 7675998.

📝 Walkthrough

Walkthrough

Adds a repository-level .coderabbit.yaml to configure CodeRabbit review behaviour: language/tone, review features and summaries, path filters and per-path reviewer instructions, labeling rules, selected static analysis tools, and finishing-touch checks.

Changes

Cohort / File(s) Summary
CodeRabbit configuration
/.coderabbit.yaml
New repository-wide CodeRabbit config enabling British English and detailed tone/style, chat auto-replies, incremental review features (profiles, summaries, collapsed walkthroughs, sequence-diagram support, linked-issue checks, labels, commit/review status), path_filters excluding binary/generated/spec/docs/lockfiles, per-path path_instructions for vera/**/*.py, tests/**/*.py (including tests/conformance/**), scripts/**/*.py, examples/**, **/*.md, CHANGELOG.md, and pyproject.toml, labeling_instructions mapping paths to labels, selected linters enabled (ruff, markdownlint, yamllint, shellcheck, gitleaks) with many unrelated linters disabled, and finishing-touches checks for docstrings and unit tests (auto-simplification disabled).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Add CodeRabbit configuration' directly and precisely describes the main change: introducing a new .coderabbit.yaml configuration file with project-specific review settings.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/coderabbit-config
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude <noreply@anthropic.invalid>
@aallan

aallan commented Mar 19, 2026

Copy link
Copy Markdown
Owner Author

Fixed the tone_instructions validation error — trimmed from 490 to 198 characters (limit is 250). The detailed compiler context is now in the per-path path_instructions instead, which have no length limit.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.coderabbit.yaml:
- Around line 73-75: The current .coderabbit.yaml excludes all spec files via
the "!spec/**" rule which prevents spec Markdown from receiving
example-validation; remove or narrow that exclusion (delete "!spec/**" and, if
you still need to suppress only prose nits, replace it with a targeted
suppression like "spec/**/prose-nit.md") so that spec/**/*.md (and README.md,
SKILL.md, FAQ.md, **/*.html) remain in the review scope and can be validated by
the corresponding check_*_examples.py scripts referenced in the repo.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: efd8a84d-dbc3-46af-a5fe-12c22de9ef5e

📥 Commits

Reviewing files that changed from the base of the PR and between f8d63aa and 22e4d32.

📒 Files selected for processing (1)
  • .coderabbit.yaml

Comment thread .coderabbit.yaml Outdated
Comment on lines +73 to +75
# Language specification — technical prose with mathematical notation
- "!spec/**"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

spec/** exclusion blocks the spec example-validation guidance you need.

Line 74 excludes all spec files from review scope, so spec Markdown won’t receive targeted validation guidance for executable/type-checkable examples.

Proposed fix (keep prose-nit suppression, restore spec validation intent)
   path_filters:
@@
-    # Language specification — technical prose with mathematical notation
-    - "!spec/**"
+    # Keep spec files in scope; suppress prose/style nits via path instructions.
 
@@
   path_instructions:
+    - path: "spec/**/*.md"
+      instructions: |
+        Validate referenced Vera code examples using
+        scripts/check_spec_examples.py. Flag parse/type-check failures.
+        Do not nitpick prose style or grammar.
+
     - path: "**/*.md"
       instructions: |
         Review Markdown files for factual accuracy against the codebase,

Based on learnings: When referencing Vera code in documentation (spec/**/*.md, README.md, SKILL.md, FAQ.md, **/*.html), code blocks should be validated with the corresponding check_*_examples.py scripts.

Also applies to: 163-168

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.coderabbit.yaml around lines 73 - 75, The current .coderabbit.yaml excludes
all spec files via the "!spec/**" rule which prevents spec Markdown from
receiving example-validation; remove or narrow that exclusion (delete "!spec/**"
and, if you still need to suppress only prose nits, replace it with a targeted
suppression like "spec/**/prose-nit.md") so that spec/**/*.md (and README.md,
SKILL.md, FAQ.md, **/*.html) remain in the review scope and can be validated by
the corresponding check_*_examples.py scripts referenced in the repo.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
.coderabbit.yaml (1)

65-67: ⚠️ Potential issue | 🟠 Major

spec/** exclusion prevents required spec example validation from running.

Line 66 excludes the full spec tree, so spec Markdown cannot receive targeted validation guidance for executable/type-checkable examples.

Proposed fix
   path_filters:
@@
-    # Language specification — technical prose with mathematical notation
-    - "!spec/**"
+    # Keep spec files in scope; suppress prose/style nits via path instructions.
@@
   path_instructions:
+    - path: "spec/**/*.md"
+      instructions: |
+        Validate referenced Vera code examples using
+        scripts/check_spec_examples.py. Flag parse/type-check failures.
+        Do not nitpick prose style or grammar.
+
     - path: "**/*.md"
       instructions: |
         Review Markdown files for factual accuracy against the codebase,

Based on learnings: When referencing Vera code in documentation (spec/**/*.md, README.md, SKILL.md, FAQ.md, **/*.html), validate code blocks with the corresponding check_*_examples.py scripts.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.coderabbit.yaml around lines 65 - 67, The current exclusion pattern "-
\"!spec/**\"" prevents spec Markdown examples from being validated; remove or
stop excluding the "spec/**" tree in .coderabbit.yaml and instead ensure files
matching "spec/**/*.md", "README.md", "SKILL.md", "FAQ.md" and any "**/*.html"
are included for validation so the repository runs the corresponding
check_*_examples.py scripts against those examples; update the rules that
reference the "!spec/**" pattern so the spec files are scanned and mapped to the
appropriate example-check scripts.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.coderabbit.yaml:
- Around line 65-67: The current exclusion pattern "- \"!spec/**\"" prevents
spec Markdown examples from being validated; remove or stop excluding the
"spec/**" tree in .coderabbit.yaml and instead ensure files matching
"spec/**/*.md", "README.md", "SKILL.md", "FAQ.md" and any "**/*.html" are
included for validation so the repository runs the corresponding
check_*_examples.py scripts against those examples; update the rules that
reference the "!spec/**" pattern so the spec files are scanned and mapped to the
appropriate example-check scripts.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 05fd5eee-4c9f-4010-9886-1098a6950ae7

📥 Commits

Reviewing files that changed from the base of the PR and between 22e4d32 and d88d001.

📒 Files selected for processing (1)
  • .coderabbit.yaml

aallan and others added 2 commits March 19, 2026 17:36
Co-Authored-By: Claude <noreply@anthropic.invalid>
Addresses CodeRabbit review: blanket spec/** exclusion prevented
code example validation. Now spec is reviewed for accuracy but
prose style/grammar nits are suppressed.

Co-Authored-By: Claude <noreply@anthropic.invalid>
@aallan

aallan commented Mar 19, 2026

Copy link
Copy Markdown
Owner Author

Fixed the \!spec/** exclusion per CodeRabbit's review — removed the blanket path filter and added a targeted spec/**/*.md path instruction that suppresses prose/grammar nits while keeping code example validation in scope. Commit 7675998.

@aallan aallan merged commit ad7b39c into main Mar 19, 2026
11 checks passed
@aallan aallan deleted the docs/coderabbit-config branch March 19, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant