Repository navigation
chore: add .coderabbit.yaml — Pro Plus CCC-triad config #313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json | ||
| # | ||
| # CodeRabbit configuration for the ancplua-claude-plugins marketplace. | ||
| # | ||
| # Base: the cc-triad-relay harness template — a Claude / Copilot / CodeRabbit | ||
| # "triad" review setup for Claude Code repos — tuned for this repo: markdown | ||
| # skills, JS + Python + shell plugin tooling, plugin.json manifests, and | ||
| # PreToolUse / Stop hooks. Static-analysis tools (shellcheck, markdownlint-cli2, | ||
| # ruff, eslint, yamllint, actionlint, gitleaks, …) are on by CodeRabbit's | ||
| # defaults, so they are not re-listed here. | ||
| # | ||
| # Docs: https://docs.coderabbit.ai/getting-started/configure-coderabbit | ||
| # Schema: https://coderabbit.ai/integrations/schema.v2.json | ||
|
|
||
| language: "en-US" | ||
| tone_instructions: "Be direct and constructive. Prioritize bugs, security issues, and fail-open or always-pass logic over style nits." | ||
|
|
||
| reviews: | ||
| profile: "chill" # actionable-only (CodeRabbit's default) | ||
| # request_changes_workflow makes the APPROVED state fire deterministically, so a | ||
| # PR-merge gate (the charon ferry) can rely on it. Flip to false if it feels too | ||
| # blocking day-to-day. | ||
| request_changes_workflow: true | ||
| high_level_summary: true | ||
| changed_files_summary: true | ||
| sequence_diagrams: false | ||
| poem: false | ||
| auto_review: | ||
| enabled: true | ||
| drafts: false | ||
| ignore_usernames: | ||
| - dependabot[bot] | ||
| - renovate[bot] | ||
| base_branches: # regex, not glob | ||
| - "^main$" | ||
| path_filters: | ||
| - "!**/*.lock" | ||
| - "!**/dist/**" | ||
| - "!**/build/**" | ||
| - "!**/node_modules/**" | ||
| - "!**/*.min.js" | ||
| - "!**/*.min.css" | ||
| - "!plugins/cc-plugin-eval/fixtures/**" # test scaffolding, not shipped | ||
| path_instructions: | ||
| - path: "plugins/*/skills/**/SKILL.md" | ||
| instructions: | | ||
| Skill definitions. The `description` frontmatter is the ONLY trigger mechanism — check it | ||
| encodes WHEN to use the skill (concrete "use when" phrasing), stays under the ~1024-char | ||
| cap, and has no colon-space that would break the YAML frontmatter. Flag task-style skills | ||
| (long imperative numbered lists, no trigger) that should set disable-model-invocation. | ||
| - path: "plugins/*/hooks/**" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This hook-specific instruction only matches files under Useful? React with 👍 / 👎. |
||
| instructions: | | ||
| PreToolUse / Stop hooks. Flag any guard or validator that FAIL-OPENS or always-passes while | ||
| presenting as protection, and any detection / regex that cannot match what it claims to | ||
| catch. Hooks must fail SAFE (allow the stop, never silently abort) and branch exhaustively | ||
| on their inputs. | ||
| - path: "**/*.{sh,bash}" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This glob only matches files ending in Useful? React with 👍 / 👎. |
||
| instructions: | | ||
| Shell scripts that run under `set -euo pipefail`. Flag command substitutions that can abort | ||
|
Comment on lines
+57
to
+59
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This instruction is applied to every Useful? React with 👍 / 👎. |
||
| the script on a non-match (e.g. an unguarded `grep` in `$(...)`), unquoted expansions, and | ||
| missing `|| true` / default-value guards. | ||
| - path: "**/.claude-plugin/plugin.json" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
CodeRabbit applies Useful? React with 👍 / 👎. |
||
| instructions: | | ||
| Plugin manifest. Verify `name` is kebab-case and `version` is valid SemVer, and that the | ||
| version matches this plugin's entry in /.claude-plugin/marketplace.json — the two must stay | ||
| in sync. | ||
|
|
||
| chat: | ||
| auto_reply: true | ||
|
|
||
| knowledge_base: | ||
| code_guidelines: | ||
| enabled: true | ||
| filePatterns: | ||
| - "CLAUDE.md" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a PR edits a
SKILL.mdwhosedescriptionis quoted, a colon-space is valid YAML, but this instruction tells CodeRabbit to flag any colon-space unconditionally. Several current skill descriptions already use quoted strings with colon-space, so withrequest_changes_workflow: truethis can produce blocking false positives for valid frontmatter; narrow this to unquoted descriptions or require parsing validation instead.Useful? React with 👍 / 👎.