chore: Add standardized CodeRabbit configuration#287
chore: Add standardized CodeRabbit configuration#287SxBxcoder wants to merge 2 commits intoAOSSIE-Org:mainfrom
Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughA new Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (6)
.coderabbit.yaml (6)
79-86: Path filters include Expo/React Native–specific exclusions.The filters for
**/android/**,**/ios/**,**/.expo/**, and**/.expo-shared/**are specific to React Native/Expo projects. If Devr.AI doesn't use these technologies, these filters are harmless noise but indicate the template wasn't customized. Not a blocking concern, just worth noting.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.coderabbit.yaml around lines 79 - 86, The path_filters block currently contains React Native/Expo-specific exclusions ("!**/android/**", "!**/ios/**", "!**/.expo/**", "!**/.expo-shared/**") that likely came from a template; update the path_filters list to remove any entries not relevant to this repo (or add a short comment explaining they are intentional) so the .coderabbit.yaml only contains exclusions applicable to the project, by editing the path_filters array and removing or documenting the unwanted entries.
125-150: PR labeling instructions include languages that may not be present in this repo.Labels for Solidity, Ergoscript, and related languages are included. Similar to the path filters, these won't cause harm if the languages aren't used, but they add noise to the configuration. This is fine if the goal is a universal AOSSIE template.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.coderabbit.yaml around lines 125 - 150, The PR labeling_instructions block currently includes language labels (e.g., "Solidity Lang", "Ergoscript Lang", "Typescript Lang") that may not be applicable to this repository; update the labeling_instructions to remove or make optional the unused language labels (for example remove "Solidity Lang" and "Ergoscript Lang" or wrap them behind a configurable/templated toggle), keeping only labels actively used by the repo, and ensure the labels under the "labeling_instructions" key reflect the actual language set for this project.
217-220: Python path glob uses unnecessary braces:**/*.{py}→**/*.py.Single-element brace expansion is redundant. Same applies to line 260's
**/*.test.{sol}(already noted).Proposed fix
- - path: "**/*.{py}" + - path: "**/*.py"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.coderabbit.yaml around lines 217 - 220, Replace the redundant brace-style glob "**/*.{py}" with the simpler "**/*.py" in the file configuration so the Python path matching uses standard globbing; locate the entry containing the literal string "**/*.{py}" and update it to "**/*.py" (also mirror this change for any other single-extension brace patterns such as "**/*.test.{sol}" if present).
273-280: Asset review instructions reference mobile screen density variants (@2x,@3x).These are specific to React Native / mobile development. If Devr.AI is a web-only project, these instructions won't be relevant. Consider tailoring to the project's actual asset pipeline.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.coderabbit.yaml around lines 273 - 280, The asset review block under the "path: \"assets/**/*\"" rule references mobile-specific density variants (`@2x`, `@3x`) that are not appropriate for a web-only project; update the instructions to reflect the project's asset pipeline by removing or conditionalizing mobile-specific checks and replacing them with web-relevant checks (e.g., responsive image srcset, WebP/AVIF formats, responsive SVG usage, and font subset/WOFF2 licensing). Locate the asset rule around the "path: \"assets/**/*\"" entry and modify the `instructions` text to either (a) detect a web project and use web-focused checks or (b) make the guidance generic and mention both mobile and web variants with a note to apply only the relevant checks.
259-271:**/*.test.{sol}is an uncommon pattern for Solidity test files.Foundry (the most popular Solidity testing framework) uses the
.t.solsuffix (e.g.,MyContract.t.sol), and Hardhat tests are typically written in JS/TS. The pattern**/*.test.{sol}is unlikely to match any actual test files unless the project uses a non-standard naming convention. Also, the{sol}brace syntax with a single element is redundant —**/*.test.solis equivalent.Proposed fix: use more common Solidity test patterns
# Solidity test files - - path: "**/*.test.{sol}" + - path: "**/*.t.sol" instructions: |🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.coderabbit.yaml around lines 259 - 271, The glob pattern "**/*.test.{sol}" is incorrect/redundant and will likely miss Solidity tests; update the pattern(s) in the configuration to common Solidity test file suffixes instead (e.g., replace "**/*.test.{sol}" with "**/*.t.sol" for Foundry tests and/or add "**/*.test.sol" if you want to match non-standard names), remove the unnecessary brace syntax, and ensure the updated pattern(s) are used wherever the old symbol "**/*.test.{sol}" appeared so test discovery works reliably.
248-257: Test file instructions reference@testing-library/react-native— may not apply to this repo.Line 253 prescribes "Proper use of
@testing-library/react-native" for all*.test.{ts,tsx,js,jsx}files. If this project doesn't use React Native, this instruction will produce irrelevant review feedback. Consider generalizing to@testing-library/reactor making it conditional on the actual test framework in use.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.coderabbit.yaml around lines 248 - 257, The rule that enforces "Proper use of `@testing-library/react-native`" for the path "**/*.test.{ts,tsx,js,jsx}" is too specific; update the YAML instruction block to either generalize the library string to "@testing-library/react" or make the check conditional on project type by replacing the explicit "@testing-library/react-native" reference with a configurable variable (e.g., TEST_LIBRARY) or a conditional branch that selects "@testing-library/react" vs "@testing-library/react-native" based on detected platform; edit the instructions text in the same block so the review guidance refers to the resolved TEST_LIBRARY (or both libraries) instead of only "@testing-library/react-native".
🤖 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 67-68: The inline comment next to request_changes_workflow is
misleading: update the YAML so the comment accurately describes that
request_changes_workflow: true will submit a "Request Changes" review (which can
block merges under branch protection) and will auto-approve once comments are
resolved, or if you only want non-blocking informational comments set
request_changes_workflow to false; locate the request_changes_workflow key in
.coderabbit.yaml and either change the comment text to reflect the actual
behavior or flip the boolean to false depending on desired behavior.
- Around line 170-201: The global path rule using the glob
"**/*.{ts,tsx,js,jsx}" applies Next.js and Expo-specific guidance incorrectly;
update the config to scope rules by technology instead: remove Next.js-specific
checks (the "use client" directive and "Ensure that only features that allow
pure client-side rendering are used") and remove Expo/React Native rules
("expo-secure-store", "Validate deep linking configurations", "Validate deep
linking configurations") from the broad JS/TS block, then add separate
instruction blocks tailored to the actual stacks (one for React 18 + Vite
frontend with React/SPA/Lighthouse best-practices and TypeScript rules, and one
for Python/FastAPI backend with Python/security/deployment checks) so each set
of rules only applies to the appropriate files.
- Around line 152-166: The YAML sets an unsupported top-level property
"instructions" under the reviews object which will be ignored due to
reviews.additionalProperties: false; remove the "instructions" key from under
reviews and relocate its content into a valid place such as a catch-all
path_instructions entry (use a glob like "**") or into a code-guidelines file
referenced by knowledge_base.code_guidelines (e.g.,
.github/copilot-instructions.md), ensuring you reference the existing reviews
object and path_instructions symbols so the config validates and the guidance is
applied.
---
Nitpick comments:
In @.coderabbit.yaml:
- Around line 79-86: The path_filters block currently contains React
Native/Expo-specific exclusions ("!**/android/**", "!**/ios/**", "!**/.expo/**",
"!**/.expo-shared/**") that likely came from a template; update the path_filters
list to remove any entries not relevant to this repo (or add a short comment
explaining they are intentional) so the .coderabbit.yaml only contains
exclusions applicable to the project, by editing the path_filters array and
removing or documenting the unwanted entries.
- Around line 125-150: The PR labeling_instructions block currently includes
language labels (e.g., "Solidity Lang", "Ergoscript Lang", "Typescript Lang")
that may not be applicable to this repository; update the labeling_instructions
to remove or make optional the unused language labels (for example remove
"Solidity Lang" and "Ergoscript Lang" or wrap them behind a
configurable/templated toggle), keeping only labels actively used by the repo,
and ensure the labels under the "labeling_instructions" key reflect the actual
language set for this project.
- Around line 217-220: Replace the redundant brace-style glob "**/*.{py}" with
the simpler "**/*.py" in the file configuration so the Python path matching uses
standard globbing; locate the entry containing the literal string "**/*.{py}"
and update it to "**/*.py" (also mirror this change for any other
single-extension brace patterns such as "**/*.test.{sol}" if present).
- Around line 273-280: The asset review block under the "path: \"assets/**/*\""
rule references mobile-specific density variants (`@2x`, `@3x`) that are not
appropriate for a web-only project; update the instructions to reflect the
project's asset pipeline by removing or conditionalizing mobile-specific checks
and replacing them with web-relevant checks (e.g., responsive image srcset,
WebP/AVIF formats, responsive SVG usage, and font subset/WOFF2 licensing).
Locate the asset rule around the "path: \"assets/**/*\"" entry and modify the
`instructions` text to either (a) detect a web project and use web-focused
checks or (b) make the guidance generic and mention both mobile and web variants
with a note to apply only the relevant checks.
- Around line 259-271: The glob pattern "**/*.test.{sol}" is incorrect/redundant
and will likely miss Solidity tests; update the pattern(s) in the configuration
to common Solidity test file suffixes instead (e.g., replace "**/*.test.{sol}"
with "**/*.t.sol" for Foundry tests and/or add "**/*.test.sol" if you want to
match non-standard names), remove the unnecessary brace syntax, and ensure the
updated pattern(s) are used wherever the old symbol "**/*.test.{sol}" appeared
so test discovery works reliably.
- Around line 248-257: The rule that enforces "Proper use of
`@testing-library/react-native`" for the path "**/*.test.{ts,tsx,js,jsx}" is too
specific; update the YAML instruction block to either generalize the library
string to "@testing-library/react" or make the check conditional on project type
by replacing the explicit "@testing-library/react-native" reference with a
configurable variable (e.g., TEST_LIBRARY) or a conditional branch that selects
"@testing-library/react" vs "@testing-library/react-native" based on detected
platform; edit the instructions text in the same block so the review guidance
refers to the resolved TEST_LIBRARY (or both libraries) instead of only
"@testing-library/react-native".
|
I have refactored the configuration to align with the Devr.AI stack (React/Vite + FastAPI). Removed the Next.js/Expo boilerplate and fixed the top-level schema error. The review instructions are now scoped specifically to the frontend and backend directories for better relevance. |
Closes # N/A (Fulfilling org-wide request)
📝 Description
This PR adds the standardized
.coderabbit.yamlconfiguration file from the AOSSIE Template-Repo. This fulfills the recent@everyonerequest from Org Admin (Bruno) in the Discord server to ensure consistent automated CodeRabbit AI review behavior across all active AOSSIE repositories.🔧 Changes Made
.coderabbit.yamlto the root directory with the exact configuration provided by Bruno, Karan, and kpj2006.📷 Screenshots or Visual Changes (if applicable)
N/A - Configuration file addition only.
🤝 Collaboration
N/A
✅ Checklist
Summary by CodeRabbit