diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..853c26c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,13 @@ +# Contributing to Awesome CodeRabbit + +We welcome contributions to the awesome coderabbit list. + +Please follow these guidelines: + +1. Ensure the resource is related to CodeRabbit. +2. Add your resource to the appropriate section. +3. Provide a brief description of the resource. +4. Check for duplicates before submitting. +5. Submit a pull request with your changes. + +Thank you for your contributions. You're awesome 🙏 diff --git a/LICENSE b/LICENSE index 261eeb9..0e259d4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,121 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/README.md b/README.md index 8157b62..e6298b7 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,17 @@ This curated list covers the best resources, tutorials, and community content re - [Official Resources](#official-resources) - [Getting Started](#getting-started) +- [API Reference](#api-reference) +- [Configuration Examples](#configuration-examples) - [Integration Guides](#integration-guides) -- [Media Coverage](#media-coverage) - [Video Tutorials](#video-tutorials) -- [Tools and Extensions](#tools-and-extensions) +- [Blogs](#blogs) +- [Media Coverage](#media-coverage) - [Community Reviews](#community-reviews) - [Projects Using CodeRabbit](#projects-using-coderabbit) ## Official Resources -- [Official Website](https://www.coderabbit.ai) - CodeRabbit's main website with product information and features. - [Documentation](https://docs.coderabbit.ai) - Comprehensive docs covering all aspects of CodeRabbit. - [Blog](https://www.coderabbit.ai/blog) - Official blog featuring updates, tutorials, and best practices. - [FAQ](https://www.coderabbit.ai/faq) - Frequently asked questions about CodeRabbit. @@ -28,10 +29,68 @@ This curated list covers the best resources, tutorials, and community content re ## Getting Started -- [Getting Started with CodeRabbit](https://www.youtube.com/watch?v=3SyUOSebG7E) - A video guide on getting started. - [CodeRabbit Startup Program](https://www.coderabbit.ai/blog/coderabbit-startup-program) - Special program for startups. - [AI Code Reviewer Examples](https://www.coderabbit.ai/blog/how-to-use-an-ai-code-reviewer-on-github-in-4-examples) - Four practical examples of using CodeRabbit. +## API Reference + +- [OpenAPI Documentation](https://api.coderabbit.ai/api/swagger/) - Complete Swagger documentation for CodeRabbit's REST API endpoints. + +## Configuration Examples + +### Enterprise Configuration Example + +Explore real-world CodeRabbit configurations from various projects. + +```yaml +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "en-US" +early_access: false +tone_instructions: 'You are an expert code reviewer in Java, TypeScript, JavaScript, and NodeJS. You work in an enterprise software developer team, providing concise and clear code review advice. You only elaborate or provide detailed explanations when requested.' +reviews: + profile: "chill" + request_changes_workflow: false + high_level_summary: true + poem: true + review_status: true + collapse_walkthrough: false + auto_review: + enabled: true + drafts: false + base_branches: ["pg", "release"] + path_instructions: + - path: "app/client/cypress/**/**.*" + instructions: | + Review the following e2e test code written using the Cypress test library. Ensure that: + - Follow best practices for Cypress code and e2e automation + - Avoid using cy.wait in code + - Avoid using cy.pause in code + - Avoid using agHelper.sleep() + - Use locator variables for locators + - Use data-* attributes for selectors + - Avoid Xpaths, Attributes and CSS path + - Avoid selectors like .btn.submit + - Perform logins via API + - Avoid using it.only + - Use multiple assertions + - Avoid string assertions + - Ensure unique filenames +chat: + auto_reply: true +``` + +Find more examples in the [`configs/`](configs/) directory, organized by language: + +``` +configs/ +├── javascript/ # JavaScript project configurations +├── typescript/ # TypeScript project configurations +├── python/ # Python project configurations +├── go/ # Go project configurations +└── multi-language/ # Full-stack project configurations +``` + + ## Integration Guides - [Azure DevOps Integration](https://www.coderabbit.ai/blog/getting-started-with-coderabbit-using-azure-devops) - Guide for integrating with Azure DevOps. @@ -43,41 +102,39 @@ This curated list covers the best resources, tutorials, and community content re - [Getting Started Tutorial](https://www.youtube.com/watch?v=3SyUOSebG7E) - Official step-by-step guide for new users. +## Blogs + +- [AI Can Make a Code Review for Free](https://tomaszs2.medium.com/ai-can-make-a-code-review-for-free-a559cf74efa5) +- [CodeRabbit Deep Dive](https://www.coderabbit.ai/blog/coderabbit-deep-dive) +- [CodeRabbit vs Others: AI Code Review Tools](https://www.devtoolsacademy.com/blog/coderabbit-vs-others-ai-code-review-tools) +- [Why Developers Hate Linters](https://www.coderabbit.ai/blog/why-developers-hate-linters) +- [How to Automate TypeScript Code Reviews with CodeRabbit](https://www.coderabbit.ai/blog/how-to-automate-typescript-code-reviews-with-coderabbit) + ## Media Coverage - [TechCrunch Coverage](https://techcrunch.com/2024/08/15/coderabbit-raises-16m-to-bring-ai-to-code-reviews/) - TechCrunch article on CodeRabbit's $16M funding. - [Silicon Angle Feature](https://siliconangle.com/2024/08/14/ai-code-review-startup-coderabbit-raises-16m-help-developers-debug-code-faster/) - Coverage of CodeRabbit's funding and mission. -## Tools and Extensions - -- [AI PR Reviewer](https://github.com/coderabbitai/ai-pr-reviewer) - Official AI-powered pull request reviewer tool - ## Community Reviews -- [G2 Reviews](https://www.g2.com/products/coderabbit/reviews) - Verified user reviews and ratings -- [Developer Testimonials](https://tomaszs2.medium.com/ai-code-review-tool-coderabbit-replaces-me-and-i-like-it-b1350a9cda58) - Real-world experiences with CodeRabbit - -## Best Practices - -- [Static Analysis in CI/CD](https://www.coderabbit.ai/blog/how-to-run-static-analysis-on-your-ci-cd-pipelines-using-ai) - Best practices for implementing static analysis -- [DevOps Integration Patterns](https://www.coderabbit.ai/blog/how-to-integrate-ai-code-review-into-your-devops-pipeline) - Recommended patterns for DevOps integration -- [Issue Validation Workflows](https://www.coderabbit.ai/blog/how-to-use-coderabbit-to-validate-issues-against-linear-board) - Best practices for issue validation +- [G2 Reviews](https://www.g2.com/products/coderabbit/reviews) - Verified user reviews and ratings. +- [Developer Testimonials](https://tomaszs2.medium.com/ai-code-review-tool-coderabbit-replaces-me-and-i-like-it-b1350a9cda58) - Real-world experiences with CodeRabbit. ## Projects Using CodeRabbit > Here is a list of some of the open-source projects using CodeRabbit for AI-powered code reviews. -- [Appsmith](https://github.com/appsmithorg/appsmith) - Low-code platform for building internal tools [Example Review](https://github.com/appsmithorg/appsmith/pull/37200) -- [Crowd.dev](https://github.com/CrowdDotDev/crowd.dev) - Open-source developer community platform [Example Review](https://github.com/CrowdDotDev/crowd.dev/pull/2671) -- [Documenso](https://github.com/documenso/documenso) - Open-source DocuSign alternative [Example Review](https://github.com/documenso/documenso/pull/1436) -- [Formbricks](https://github.com/formbricks/formbricks) - Open-source survey & experience management solution [Example Review](https://github.com/formbricks/formbricks/pull/4229) -- [Neon](https://github.com/neondatabase/neon) - Serverless Postgres database platform [Example Review](https://github.com/neondatabase/neon/pull/9100) -- [NextUI](https://github.com/nextui-org/nextui) - Beautiful, fast, and modern React UI library [Example Review](https://github.com/nextui-org/nextui/pull/3680) -- [Novu](https://github.com/novuhq/novu) - Open-source notification infrastructure [Example Review](https://github.com/novuhq/novu/pull/5401) -- [OpenObserve](https://github.com/openobserve/openobserve) - A cloud-native observability platform [Example Review](https://github.com/openobserve/openobserve/pull/4865) -- [Permify](https://github.com/Permify/permify) - Authorization service & policy engine [Example Review](https://github.com/Permify/permify/pull/1754) -- [Pipedream](https://github.com/PipedreamHQ/pipedream) - Connect APIs, remarkably fast [Example Review](https://github.com/PipedreamHQ/pipedream/pull/14498) -- [Plane](https://github.com/makeplane/plane) - Open-source project management tool [Example Review](https://github.com/makeplane/plane/pull/5933) -- [Unkey](https://github.com/unkeyed/unkey) - API key management solution [Example Review](https://github.com/unkeyed/unkey/pull/2639) -- [UploadThing](https://github.com/pingdotgg/uploadthing) - File upload solution for modern web [Example Review](https://github.com/pingdotgg/uploadthing/pull/1038) +- [Appsmith](https://github.com/appsmithorg/appsmith) - Low-code platform for building internal tools [Example Review](https://github.com/appsmithorg/appsmith/pull/37200). +- [Crowd.dev](https://github.com/CrowdDotDev/crowd.dev) - Open-source developer community platform [Example Review](https://github.com/CrowdDotDev/crowd.dev/pull/2671). +- [Documenso](https://github.com/documenso/documenso) - Open-source DocuSign alternative [Example Review](https://github.com/documenso/documenso/pull/1436). +- [Formbricks](https://github.com/formbricks/formbricks) - Open-source survey & experience management solution [Example Review](https://github.com/formbricks/formbricks/pull/4229). +- [Neon](https://github.com/neondatabase/neon) - Serverless Postgres database platform [Example Review](https://github.com/neondatabase/neon/pull/9100). +- [NextUI](https://github.com/nextui-org/nextui) - Beautiful, fast, and modern React UI library [Example Review](https://github.com/nextui-org/nextui/pull/3680). +- [Novu](https://github.com/novuhq/novu) - Open-source notification infrastructure [Example Review](https://github.com/novuhq/novu/pull/5401). +- [OpenObserve](https://github.com/openobserve/openobserve) - A cloud-native observability platform [Example Review](https://github.com/openobserve/openobserve/pull/4865). +- [Permify](https://github.com/Permify/permify) - Authorization service & policy engine [Example Review](https://github.com/Permify/permify/pull/1754). +- [Pipedream](https://github.com/PipedreamHQ/pipedream) - Connect APIs, remarkably fast [Example Review](https://github.com/PipedreamHQ/pipedream/pull/14498). +- [Plane](https://github.com/makeplane/plane) - Open-source project management tool [Example Review](https://github.com/makeplane/plane/pull/5933). +- [Unkey](https://github.com/unkeyed/unkey) - API key management solution [Example Review](https://github.com/unkeyed/unkey/pull/2639). +- [UploadThing](https://github.com/pingdotgg/uploadthing) - File upload solution for modern web [Example Review](https://github.com/pingdotgg/uploadthing/pull/1038). diff --git a/configs/cpp/coderabbit-cpp-base.yaml b/configs/cpp/coderabbit-cpp-base.yaml new file mode 100644 index 0000000..bd99194 --- /dev/null +++ b/configs/cpp/coderabbit-cpp-base.yaml @@ -0,0 +1,61 @@ +early_access: false +enable_free_tier: true +language: en +tone_instructions: '' +knowledge_base: + learnings: + scope: auto + issues: + scope: auto + jira: + project_keys: [] + linear: + team_keys: [] +chat: + auto_reply: true +reviews: + profile: chill + request_changes_workflow: false + high_level_summary: true + high_level_summary_placeholder: '@coderabbitai summary' + poem: false + review_status: true + collapse_walkthrough: true + path_filters: [] + path_instructions: + - path: '**/*.hpp' + instructions: >- + Review the C++ code, point out issues relative to principles of clean + code, expressiveness, and performance. + tools: + shellcheck: + enabled: true + ruff: + enabled: true + markdownlint: + enabled: true + github-checks: + enabled: true + timeout_ms: 90000 + languagetool: + enabled: true + disabled_rules: + - EN_UNPAIRED_BRACKETS + disabled_categories: + - TYPOS + - TYPOGRAPHY + - CASING + enabled_only: false + level: default + biome: + enabled: true + hadolint: + enabled: true + auto_review: + enabled: true + ignore_title_keywords: + - WIP + labels: [] + drafts: true + base_branches: + - master diff --git a/configs/django/coderabbit-clean.yaml b/configs/django/coderabbit-clean.yaml new file mode 100644 index 0000000..0c4e530 --- /dev/null +++ b/configs/django/coderabbit-clean.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "en-US" +early_access: false +reviews: + profile: "chill" + request_changes_workflow: false + high_level_summary: true + poem: true + review_status: true + collapse_walkthrough: false + auto_review: + enabled: true + drafts: false + path_instructions: + - path: "**/*.py" + instructions: | + Review the following code using Python Django. Ensure that: + - Ensure each method has a clear, detailed docstring explaining its purpose, parameters, and return values. Enhance existing docstrings for clarity and completeness. + - Do not suggest adding type annotations. + - Review Django querysets for potential performance improvements and suggest optimizations where applicable. + - Ensure that for every model.save() there is a model.full_clean() that precedes it. + - Avoid adding generic exception handling (e.g., `except Exception`) in test files. Each test failure should be addressed by the developer with specific exception handling or fixes. + - Avoid adding comments relating to importing modules. + - path: "tests/*.py" + instructions: | + - There is no sensitive information in the test files. All data handled is procedural/generic and non-sensitive. +chat: + auto_reply: true diff --git a/configs/docs/coderabbit-docs-review.yaml b/configs/docs/coderabbit-docs-review.yaml new file mode 100644 index 0000000..f62f74f --- /dev/null +++ b/configs/docs/coderabbit-docs-review.yaml @@ -0,0 +1,66 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +# https://docs.coderabbit.ai/guides/configure-coderabbit/ + +language: "en-US" +early_access: true +reviews: + profile: "chill" + high_level_summary: true + request_changes_workflow: false + review_status: false + collapse_walkthrough: false + poem: false + auto_review: + enabled: false + auto_incremental_review: false + drafts: true + base_branches: + - master + - beta + - rc + path_instructions: + - path: "**/*" + instructions: " + Focus on code smells, logic errors, edge cases, missing test cases, security flaws and serious issues. + Avoid commenting on minor issues such as linting, formatting and style issues. + This project uses tabs instead of spaces, do not suggest usage of spaces over tabs. + Are there any 'red flags' in this code that might warrant closer investigation from a security standpoint? + Explain what makes them suspicious. + When providing code suggestions, particularly when requested, ensure GitHub's suggestion format is used, i.e.: + ```suggestion + + ``` + " + - path: "**/*.py" + instructions: " + _, pgettext, ngettext, and ngettext are defined globally, errors for this being undefined can be ignored. + " + - path: "**/*.md" + instructions: " + Focus on grammar, spelling, and punctuation. + Also consider readability and clarity of contents. + Ensure that changes follow the style of one sentence per line, suggest changes if this is not met. + " + - path: "user_docs/en/changes.md" + instructions: " + Ensure each change log entry references an issue or pull request number. + Change log entries can also include a reference to a GitHub author. + Examples of valid change log entries: + * Item with sub-items (#123, @username): + * sub-item + * bar (#342) + * Item with. + Multiple lines. (#143) + " + tools: + github-checks: + enabled: true + ruff: + enabled: true + markdownlint: + # We use custom markdown syntax such as {#Anchor} for anchors. + # This is not supported by markdownlint. + # In future we plan to introduce markdownlint directly with custom rules. (#16453) + enabled: false +chat: + auto_reply: true diff --git a/configs/docs/docusaurus/npm-package-docs-config.yaml b/configs/docs/docusaurus/npm-package-docs-config.yaml new file mode 100644 index 0000000..1fa642c --- /dev/null +++ b/configs/docs/docusaurus/npm-package-docs-config.yaml @@ -0,0 +1,45 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: 'en-US' +early_access: true +tone_instructions: "Provide clear, objective, and detailed feedback with a professional and constructive tone, focusing on actionable suggestions for improvement." +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + profile: assertive + tools: + markdownlint: + enabled: true + ast-grep: + essential_rules: true + github-checks: + enabled: true + timeout_ms: 90000 + ruff: + enabled: false + shellcheck: + enabled: true + auto_review: + enabled: true + ignore_title_keywords: + - '[skip review]' + - 'Automatic PR' + drafts: false + base_branches: + - 'main' + path_instructions: + - path: '**/*.ts' + instructions: 'Review the TypeScript code of the NPM package to ensure it adheres to the principles of awesome and clean code. This includes proper use of functions, classes, modules. Also, ensure the code follows best practices for package development, such as clear and concise documentation, proper error handling, and efficient data structures and algorithms. The code should also conform to the ESLint rules configured in the codebase. Highlight any deviations and suggest appropriate corrections. Using design patterns that promote code reusability and readability is encouraged.' + - path: '**/*.md' + instructions: "Review the Markdown files to ensure they are well-structured follow Docusaurus's best practices, easy to read, and contain accurate and up-to-date information. Check for proper formatting, grammar, and spelling. Ensure that the content is relevant and engaging for the target audience. Highlight any inconsistencies or errors and suggest improvements to enhance the overall quality of the documentation." + - path: 'test/**/*' + instructions: 'Review the test files to ensure they cover all the relevant use cases and edge cases of the codebase. Check for proper test coverage, assertions, and error handling. Ensure that the tests are well-organized, easy to read, and provide meaningful feedback. Highlight any missing or redundant tests and suggest improvements to enhance the overall quality of the test suite.' +chat: + auto_reply: true +knowledge_base: + learnings: + scope: auto + issues: + scope: auto diff --git a/configs/docs/mdx-style-guide-config.yaml b/configs/docs/mdx-style-guide-config.yaml new file mode 100644 index 0000000..4bb0d0a --- /dev/null +++ b/configs/docs/mdx-style-guide-config.yaml @@ -0,0 +1,32 @@ +language: "en" +early_access: false +reviews: + high_level_summary: false + poem: false + review_status: false + collapse_walkthrough: false + path_instructions: + - path: "**/*.mdx" + instructions: | + "ALWAYS review Markdown content THOROUGHLY with the following criteria: + - Use proper nouns in place of personal pronouns like 'We' and 'Our' to maintain consistency in communal documentation. + - Avoid gender-specific language and use the imperative form. + - Monitor capitalization for emphasis. Avoid using all caps, italics, or bold for emphasis. + - Ensure proper nouns are capitalized in sentences. + - Apply the Oxford comma. + - Use proper title case for buttons, tab names, page names, and links. Sentence case should be used for body content and short phrases, even in links. + - Use correct spelling and grammar at all times (IMPORTANT). + - For H1, H2, and H3 headers: + 1. Use sentence case, capitalizing only the first word. + 2. Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project. + 3. Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header. + - Flag any headers that seem to inconsistently apply these rules for manual review. + - When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project. + " + auto_review: + enabled: true + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/flutter/dart-testing-style-config.yaml b/configs/flutter/dart-testing-style-config.yaml new file mode 100644 index 0000000..b881416 --- /dev/null +++ b/configs/flutter/dart-testing-style-config.yaml @@ -0,0 +1,34 @@ +language: "en-US" +early_access: true +reviews: + request_changes_workflow: false + high_level_summary: true + poem: true + review_status: true + collapse_walkthrough: true + path_filters: + - "!**/.xml" + path_instructions: + - path: "lib/**/*.dart" + instructions: | + "Review the Dart code. Confirm that: + - The docstrings are up-to-date with the implementations. Please highlight the outdated ones. + - When an API in a module changes, ensure that all modules that depend on the changed module are updated accordingly. + - When seeing a TODO comment, try to write code to complete the todo." + - path: "test/**/*" + instructions: | + "Assess the unit test code employing the Pytest testing framework. Confirm that: + - The tests adhere to Dart test's established best practices. + - Test descriptions are sufficiently detailed to clarify the purpose of each test. + - The tests cover all methods, classes, and errors." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + drafts: true + base_branches: + - "develop" + - "feat/*" + - "setup/*" +chat: + auto_reply: true \ No newline at end of file diff --git a/configs/fullstack/coderabbit-full-stack.yaml b/configs/fullstack/coderabbit-full-stack.yaml new file mode 100644 index 0000000..d21bb16 --- /dev/null +++ b/configs/fullstack/coderabbit-full-stack.yaml @@ -0,0 +1,78 @@ +language: en-US +tone_instructions: '' +early_access: false +enable_free_tier: true +reviews: + profile: assertive + request_changes_workflow: false + high_level_summary: true + high_level_summary_placeholder: '@coderabbitai summary' + auto_title_placeholder: '@coderabbitai' + review_status: true + poem: true + collapse_walkthrough: false + sequence_diagrams: true + path_filters: [ + "!**/*.ptxt" + ] + path_instructions: [ + { + "path": "drafts/*.md", + "instructions": "These are PHP RFC's to change the PHP language. Do not just consider the grammar of the text, but consider how it might change the language. For example, if a new feature is being added, consider how it might be used, and propose better ideas if you have them." + } + ] + abort_on_close: true + auto_review: + enabled: true + auto_incremental_review: true + ignore_title_keywords: [] + labels: [] + drafts: false + base_branches: [] + tools: + shellcheck: + enabled: true + ruff: + enabled: true + markdownlint: + enabled: true + github-checks: + enabled: true + timeout_ms: 90000 + languagetool: + enabled: true + enabled_only: false + level: default + biome: + enabled: true + hadolint: + enabled: true + swiftlint: + enabled: true + phpstan: + enabled: true + level: default + golangci-lint: + enabled: true + yamllint: + enabled: true + gitleaks: + enabled: true + checkov: + enabled: true + detekt: + enabled: true + eslint: + enabled: true +chat: + auto_reply: true +knowledge_base: + opt_out: false + learnings: + scope: auto + issues: + scope: auto + jira: + project_keys: [] + linear: + team_keys: [] diff --git a/configs/fullstack/coderabbit-swagger-review.yaml b/configs/fullstack/coderabbit-swagger-review.yaml new file mode 100644 index 0000000..3c7b8ab --- /dev/null +++ b/configs/fullstack/coderabbit-swagger-review.yaml @@ -0,0 +1,37 @@ +language: "en" +early_access: true +reviews: + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + path_filters: + - "!**/.xml" + path_instructions: + - path: "**/.env*" + instructions: | + "Check that the sensitive data is not stored in the repository." + - path: "frontend/api/**" + instructions: | + "Check the frontend API consumption against the Swagger documentation to confirm: + - The frontend correctly uses the API endpoints, parameters, and handles responses as defined in Swagger. + - Any discrepancies between the frontend implementation and the Swagger spec are identified and corrected." + - path: "frontend/**/*.js" + instructions: | + "Check that the frontend code is well structured and follows the best practices of ReactJS." + - path: "backend/**/*.js" + instructions: | + "Check that the backend code is well structured and follows the best practices of NodeJS." + - path: "backend/**/*.js" + instructions: | + "Check the backend API implementation against the Swagger documentation to confirm: + - The backend correctly implements the API endpoints, parameters, and responses as defined in Swagger. + - Any discrepancies between the backend implementation and the Swagger spec are identified and corrected." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: true +chat: + auto_reply: true \ No newline at end of file diff --git a/configs/github/reviewpad.yaml b/configs/github/reviewpad.yaml new file mode 100644 index 0000000..dea820f --- /dev/null +++ b/configs/github/reviewpad.yaml @@ -0,0 +1,32 @@ +language: "en" +early_access: false +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + path_filters: + - "!**/.xml" + path_instructions: + - path: "**/*.cs" + instructions: "Focus on major issues impacting readability and maintainability. Avoid minor nitpicks." + - path: "tests/**/*.cs" + instructions: "Review NUnit tests for structure and coverage. Skip minor stylistic concerns." + - path: "**/*.py" + instructions: "Check for major PEP 8 violations and Python best practices. Ignore trivial formatting issues." + - path: "tests/**/*.py" + instructions: "Ensure PyTest tests are clear and comprehensive. Don't focus on minor details." + - path: "**/*.js" + instructions: "Review for significant deviations from Google JavaScript style guide. Minor style issues are not a priority." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "develop" + - "feat/*" +chat: + auto_reply: true diff --git a/configs/go/coderabbit-actor-ddd.yaml b/configs/go/coderabbit-actor-ddd.yaml new file mode 100644 index 0000000..cd86908 --- /dev/null +++ b/configs/go/coderabbit-actor-ddd.yaml @@ -0,0 +1,47 @@ +language: "en" +early_access: true +tone_instructions: | + Be casual, friendly, and egoless, using approachable, clear, and conversational language that feels warm and engaging. + Keep the writing light, concise, and positive, as if speaking to a peer. +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + sequence_diagrams: true + path_filters: + - "!**/*.pb.go" + path_instructions: + - path: "**/*.go" + instructions: | + Review the Golang files with a focus on the project's goals: + - Actor Model Integration: Ensure the code effectively utilizes the [protoactor](https://github.com/AsynkronIT/protoactor-go) + framework, adhering to best practices of the Actor Model. + - Domain-Driven Design: Verify that Domain-Driven Design principles are integrated properly, with clear separation of concerns + and well-defined domain models. Ensure the use of Event Sourcing is correctly implemented in the Actor-based system. + - Code Quality and Maintainability: Focus on readability, proper use of Go idioms, and maintainable code structure. Check + for consistent naming conventions, efficient error handling, and adequate documentation, including meaningful comments where needed. + - Performance and Scalability: Identify any potential areas for performance improvement, especially concerning actor behavior, + concurrency, and data persistence. Suggest refactoring if the code can be streamlined or optimized. + - path: "**/*.md" + instructions: | + Review markdown documentation with these guidelines: + - Structure: Ensure consistent heading hierarchy and document organization + - Content: Verify accuracy of technical details, code examples, and API references + - Quality: Check for spelling, grammar, and broken links + - Completeness: Confirm all features and changes are properly documented + - Style: Follow project's documentation style guide and formatting conventions + auto_review: + enabled: true + drafts: false + base_branches: + - "main" +chat: + auto_reply: true + auto_reply_messages: + greeting: "👋 Thanks for the mention! 😊 I'm here to assist with your code review." + help_request: "🫡 I'm on it! What specific aspect would you like me to focus on?" + triggers: + - keywords: ["help", "review", "check"] + response: "👌 Got it! I'll review that for you right away." diff --git a/configs/go/coderabbit-performance.yaml b/configs/go/coderabbit-performance.yaml new file mode 100644 index 0000000..7b7fa07 --- /dev/null +++ b/configs/go/coderabbit-performance.yaml @@ -0,0 +1,47 @@ +# https://docs.coderabbit.ai/guides/configure-coderabbit +language: "en-US" +early_access: false +chat: { auto_reply: true } +tone_instructions: >- + Maintain a formal tone, highlighting issues, and suggesting production-grade, elegant, and concise solutions. + +reviews: + profile: chill + high_level_summary: true + + # disables the cringe + poem: false + + collapse_walkthrough: true + sequence_diagrams: true + + path_filters: + - "!**/*.pb.go" + - "!**/*.pb.gw.go" + - "!**/*_pb.d.ts" + + path_instructions: + - path: '**/*.go' + instructions: >- + Review the Go code, point out issues relative to principles of clean + code, expressiveness, and performance. + - path: '**/*.proto' + instructions: >- + Review the Protobuf definitions, point out issues relative to + compatibility, and expressiveness. + - path: '**/*.sh' + instructions: >- + Review the shell scripts, point out issues relative to security, + performance, and maintainability. + + auto_review: + drafts: false + # disables review for new commits + auto_incremental_review: false + base_branches: + - develop + + tools: + languagetool: + enabled: true + level: default diff --git a/configs/go/coderabbit-uber-e2e.yaml b/configs/go/coderabbit-uber-e2e.yaml new file mode 100644 index 0000000..01decad --- /dev/null +++ b/configs/go/coderabbit-uber-e2e.yaml @@ -0,0 +1,35 @@ +language: "en" +early_access: false +reviews: + request_changes_workflow: false + high_level_summary: true + poem: false + review_status: false + collapse_walkthrough: true + path_filters: + - "!**/*.pb.go" + - "!**/*.pb.gw.go" + - "!**/*.mod" + - "!**/*.sum" + path_instructions: + - path: "**/*.go" + instructions: "Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations." + - path: "e2e/**/*" + instructions: | + "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*_test.go" + instructions: | + "Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*.md" + instructions: | + "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness" + auto_review: + enabled: false + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/go/coderabbit-uber-style.yaml b/configs/go/coderabbit-uber-style.yaml new file mode 100644 index 0000000..c185596 --- /dev/null +++ b/configs/go/coderabbit-uber-style.yaml @@ -0,0 +1,32 @@ +language: "en" +early_access: false +reviews: + request_changes_workflow: false + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: true + path_filters: + - "!api/" + path_instructions: + - path: "**/*.go" + instructions: "Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: | + "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*_test.go" + instructions: | + "Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*.md" + instructions: | + "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness" + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/go/coderabbit-warden-style.yaml b/configs/go/coderabbit-warden-style.yaml new file mode 100644 index 0000000..efdc896 --- /dev/null +++ b/configs/go/coderabbit-warden-style.yaml @@ -0,0 +1,35 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "en" +early_access: false +reviews: + request_changes_workflow: false + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: true + path_filters: + - "!api/**" + - "!wardenjs/src/codegen/**" + - "!tests/testdata/**" + path_instructions: + - path: "**/*.go" + instructions: "Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: | + "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*_test.go" + instructions: | + "Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*.md" + instructions: | + "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness" + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/go/go-uber-testing-config.yaml b/configs/go/go-uber-testing-config.yaml new file mode 100644 index 0000000..c185596 --- /dev/null +++ b/configs/go/go-uber-testing-config.yaml @@ -0,0 +1,32 @@ +language: "en" +early_access: false +reviews: + request_changes_workflow: false + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: true + path_filters: + - "!api/" + path_instructions: + - path: "**/*.go" + instructions: "Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: | + "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*_test.go" + instructions: | + "Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*.md" + instructions: | + "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness" + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/go/golang-uber-style-config.yaml b/configs/go/golang-uber-style-config.yaml new file mode 100644 index 0000000..c185596 --- /dev/null +++ b/configs/go/golang-uber-style-config.yaml @@ -0,0 +1,32 @@ +language: "en" +early_access: false +reviews: + request_changes_workflow: false + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: true + path_filters: + - "!api/" + path_instructions: + - path: "**/*.go" + instructions: "Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: | + "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*_test.go" + instructions: | + "Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request" + - path: "**/*.md" + instructions: | + "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness" + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/haskell/coderabbit-neohaskell.yaml b/configs/haskell/coderabbit-neohaskell.yaml new file mode 100644 index 0000000..d14b715 --- /dev/null +++ b/configs/haskell/coderabbit-neohaskell.yaml @@ -0,0 +1,95 @@ +language: en-US +tone_instructions: >- + You must use a respectful, but commanding tone, as if you were impersonating an AI deity. +early_access: true +enable_free_tier: true +reviews: + profile: assertive + request_changes_workflow: true + high_level_summary: true + high_level_summary_placeholder: '@coderabbitai summary' + auto_title_placeholder: '@coderabbitai' + review_status: true + poem: true + collapse_walkthrough: false + sequence_diagrams: true + path_filters: [] + path_instructions: + - path: ".hlint.yaml" + instructions: | + Ignore this file + - path: "*.hs" + instructions: | + Remember that this is a NeoHaskell file. NeoHaskell is a + Haskell dialect that is inspired by Elm, therefore the + Elm style and conventions should be followed. Also, + Elm core libs are available, and the Haskell Prelude is + ignored, as the NoImplicitPrelude extension is enabled. + abort_on_close: true + auto_review: + enabled: true + auto_incremental_review: true + ignore_title_keywords: [] + labels: [] + drafts: false + base_branches: [] + tools: + shellcheck: + enabled: true + ruff: + enabled: false + markdownlint: + enabled: true + github-checks: + enabled: true + timeout_ms: 90000 + languagetool: + enabled: true + enabled_only: false + level: default + enabled_rules: [] + disabled_rules: + - EN_UNPAIRED_BRACKETS + enabled_categories: [] + disabled_categories: + - TYPOS + - TYPOGRAPHY + - CASING + biome: + enabled: true + hadolint: + enabled: true + swiftlint: + enabled: true + phpstan: + enabled: true + level: default + golangci-lint: + enabled: true + yamllint: + enabled: true + gitleaks: + enabled: true + checkov: + enabled: true + detekt: + enabled: true + eslint: + enabled: true + ast-grep: + packages: [] + rule_dirs: [] + util_dirs: [] + essential_rules: true +chat: + auto_reply: true +knowledge_base: + opt_out: false + learnings: + scope: global + issues: + scope: global + jira: + project_keys: [] + linear: + team_keys: [] diff --git a/configs/java/enterprise/.coderabbit.yaml b/configs/java/enterprise/.coderabbit.yaml new file mode 100644 index 0000000..08e0095 --- /dev/null +++ b/configs/java/enterprise/.coderabbit.yaml @@ -0,0 +1,224 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json + +# ******************************************************* +# * DO NOT MODIFY this file without maintainer approval * +# ******************************************************* + +language: en-US +tone_instructions: '' +early_access: true +enable_free_tier: true +reviews: + profile: chill + request_changes_workflow: true + high_level_summary: true + high_level_summary_placeholder: '@coderabbitai summary' + auto_title_placeholder: '@coderabbitai title' + poem: false + review_status: false + collapse_walkthrough: false + path_filters: + - '!dist/**' + - '!**/*.app' + - '!**/*.bin' + - '!**/*.bz2' + - '!**/*.class' + - '!**/*.db' + - '!**/*.csv' + - '!**/*.tsv' + - '!**/*.dat' + - '!**/*.dll' + - '!**/*.dylib' + - '!**/*.egg' + - '!**/*.glif' + - '!**/*.gz' + - '!**/*.xz' + - '!**/*.zip' + - '!**/*.7z' + - '!**/*.rar' + - '!**/*.zst' + - '!**/*.ico' + - '!**/*.jar' + - '!**/*.tar' + - '!**/*.war' + - '!**/*.lo' + - '!**/*.log' + - '!**/*.mp3' + - '!**/*.wav' + - '!**/*.wma' + - '!**/*.mp4' + - '!**/*.avi' + - '!**/*.mkv' + - '!**/*.wmv' + - '!**/*.m4a' + - '!**/*.m4v' + - '!**/*.3gp' + - '!**/*.3g2' + - '!**/*.rm' + - '!**/*.mov' + - '!**/*.flv' + - '!**/*.iso' + - '!**/*.swf' + - '!**/*.flac' + - '!**/*.nar' + - '!**/*.o' + - '!**/*.ogg' + - '!**/*.otf' + - '!**/*.p' + - '!**/*.pdf' + - '!**/*.doc' + - '!**/*.docx' + - '!**/*.xls' + - '!**/*.xlsx' + - '!**/*.map' + - '!**/*.out' + - '!**/*.ppt' + - '!**/*.pptx' + - '!**/*.pkl' + - '!**/*.pickle' + - '!**/*.pyc' + - '!**/*.pyd' + - '!**/*.pyo' + - '!**/*.pub' + - '!**/*.pem' + - '!**/*.rkt' + - '!**/*.so' + - '!**/*.ss' + - '!**/*.eot' + - '!**/*.exe' + - '!**/*.pb.go' + - '!**/*.pb.gw.go' + - '!**/*.lock' + - '!**/*.ttf' + - '!**/*.yaml' + - '!**/*.yml' + - '!**/*.xml' + - '!**/*.cfg' + - '!**/*.toml' + - '!**/*.ini' + - '!**/*.mod' + - '!**/*.sum' + - '!**/*.work' + - '!**/*.mmd' + - '!**/*.svg' + - '!**/*.jpeg' + - '!**/*.jpg' + - '!**/*.png' + - '!**/*.gif' + - '!**/*.bmp' + - '!**/*.tiff' + - '!**/*.webm' + - '!**/*.woff' + - '!**/*.woff2' + - '!**/*.dot' + - '!**/*.md5sum' + - '!**/*.wasm' + - '!**/*.snap' + - '!**/*.parquet' + - '!**/gen/**' + - '!**/_gen/**' + - '!**/generated/**' + - '!**/@generated/**' + - '!**/vendor/**' + - '!**/*.min.js' + - '!**/*.min.js.map' + - '!**/*.min.js.css' + - '!**/*.tfstate' + - '!**/*.tfstate.backup' + path_instructions: + - path: src/main/webapp/**/*.ts + instructions: >- + angular_style:https://angular.io/guide/styleguide;methods_in_html:false;lazy_loading:true;code_reuse:true;tests:meaningful;types:PascalCase;enums:PascalCase;funcs:camelCase;props:camelCase;no_priv_prefix:true;strings:single_quotes;localize:true;btns:functionality;links:navigation;icons_text:newline;labels:associate;code_style:arrow_funcs,curly_braces,open_braces_same_line,indent_4;memory_leak_prevention:true;routes:naming_schema;chart_framework:ngx-charts;responsive_layout:true + - path: src/main/java/**/*.java + instructions: >- + naming:CamelCase; + principles:{single_responsibility,small_methods,no_duplication}; + db:{perf_queries,datetime_not_timestamp}; + rest:{stateless,singleton,delegate_logic,http_only,minimal_dtos}; + dtos:{java_records,no_entities,min_data,single_resp}; + di:constructor_injection; kiss:simple_code; + file_handling:os_indep_paths; + practices:{least_access,avoid_transactions,code_reuse,static_member_ref,prefer_primitives}; + sql:{param_annotation,uppercase,avoid_subqueries};java:avoid_star_imports + - path: src/test/javascript/spec/**/*.ts + instructions: >- + jest: true; mock: NgMocks; bad_practices: avoid_full_module_import; + perf_improvements: mock_irrelevant_deps; service_testing: + mock_http_for_logic; no_schema: avoid_NO_ERRORS_SCHEMA; + expectation_specificity: true; solutions: {boolean: toBeTrue/False, + reference: toBe, existence: toBeNull/NotNull, undefined: toBeUndefined, + class_obj: toContainEntries/toEqual, spy_calls: {not_called: + not.toHaveBeenCalled, once: toHaveBeenCalledOnce, with_value: + toHaveBeenCalledWith|toHaveBeenCalledExactlyOnceWith}} + - path: src/test/java/**/*.java + instructions: >- + test_naming: descriptive; test_size: small_specific; fixed_data: true; + junit5_features: true; assert_use: assertThat; assert_specificity: true; + archunit_use: enforce_package_rules; db_query_count_tests: + track_performance; util_service_factory_pattern: true; avoid_db_access: + true; mock_strategy: static_mocks; context_restart_minimize: true + - path: src/main/webapp/**/*.html + instructions: >- + @if and @for are new and valid Angular syntax replacing *ngIf and + *ngFor. They should always be used over the old style. + - path: src/main/webapp/i18n/de/**/*.json + instructions: >- + German language translations should be informal (dutzen) and should + never be formal (sietzen). So the user should always be addressed with + "du/dein" and never with "sie/ihr". + auto_review: + enabled: true + auto_incremental_review: true + ignore_title_keywords: [] + labels: [] + drafts: false + base_branches: [] + tools: + shellcheck: + enabled: true + ruff: + enabled: true + markdownlint: + enabled: true + github-checks: + enabled: true + timeout_ms: 90000 + languagetool: + enabled: true + disabled_rules: + - EN_UNPAIRED_BRACKETS + disabled_categories: + - TYPOS + - TYPOGRAPHY + - CASING + enabled_only: false + level: default + enabled_rules: [] + enabled_categories: [] + biome: + enabled: true + hadolint: + enabled: true + swiftlint: + enabled: true + phpstan: + enabled: true + level: '5' + golangci-lint: + enabled: true + ast-grep: + packages: [] + rule_dirs: [] + util_dirs: [] + essential_rules: true +chat: + auto_reply: true +knowledge_base: + learnings: + scope: auto + issues: + scope: auto + jira: + project_keys: [] + linear: + team_keys: [] diff --git a/configs/java/java-21-enterprise-checks-config.yaml b/configs/java/java-21-enterprise-checks-config.yaml new file mode 100644 index 0000000..5b38052 --- /dev/null +++ b/configs/java/java-21-enterprise-checks-config.yaml @@ -0,0 +1,141 @@ +language: en-GB +tone_instructions: '' +early_access: false +enable_free_tier: true +reviews: + profile: chill + request_changes_workflow: true + high_level_summary: true + high_level_summary_placeholder: '@coderabbitai summary' + auto_title_placeholder: '@coderabbitai' + review_status: true + commit_status: true + poem: false + collapse_walkthrough: true + sequence_diagrams: false + changed_files_summary: true + labeling_instructions: [] + path_filters: + - '**/*' + - '**/gen/**' + - '!**/test/**/gen/**' + - '!**/.git/**' + - '!**/target/**' + path_instructions: + - path: '**/*.java' + instructions: | + - Review code using Java 21 standards, taking into account the rules defined by `src/main/checkstyle/checkstyle.xml`. + - Validate that code indentation uses spaces, not tabs, with an indent of multiple of 4. + - Validate that immutable local variables are not annotated with `final` unless the variable is required for use in an inner class. + - Allow use of `var` keyword when value is a cast `null`. + - Use a coding standard where multi-line expressions have operators and tenary separators at the end of line. + - Propose changes that only use the Java 21 API, not the API of Guava. + - The pattern matching `instanceof` expression safely handles `null`, returning `false`. + - path: '**/main/java/**/*.java' + instructions: | + - This project is mature and must provide a stable backwards-compatible public Java API. + - In the 'Summary by CodeRabbit' section, you must always provide a list of up to 25 changes to the public Java API that will affect end users. + If there are no changes, you must explicitly state that there are no changes to the public Java API in this PR. + The public Java API is defined as public and protected methods on public classes, plus the file `module-info.java`. + Provide the list by deeply analysing code flow, which incudes analysing code flow through private methods and calls to Guava and Java 21. + Changes to be reported on include: + - New or removed methods in the public Java API + - Changes to method return types or parameter types in the public Java API + - Changes to method behaviour in the public Java API that might affect consumers + - This project uses `System.out.println` instead of logging + - This project tends to prefer `for` loops to streams for performance reasons, however either form is acceptable. + Do not make suggestions to change between streams and for loops or vice versa. + - path: '**/test/java/**/*.java' + instructions: | + For test code, focus on: + - Correctness of test assertions + - Test coverage of edge cases + - Clear test naming and documentation + - Be more lenient with code style and minor optimisations + abort_on_close: true + auto_review: + enabled: true + auto_incremental_review: true + ignore_title_keywords: [] + labels: [] + drafts: false + base_branches: + - 'main' + tools: + shellcheck: + enabled: true + ruff: + enabled: false + markdownlint: + enabled: true + github-checks: + enabled: true + timeout_ms: 90000 + languagetool: + enabled: true + enabled_only: false + level: default + enabled_rules: [] + disabled_rules: + - EN_UNPAIRED_BRACKETS + enabled_categories: [] + disabled_categories: + - TYPOS + - TYPOGRAPHY + - CASING + biome: + enabled: true + hadolint: + enabled: false + swiftlint: + enabled: true + phpstan: + enabled: false + level: default + golangci-lint: + enabled: false + yamllint: + enabled: true + gitleaks: + enabled: true + checkov: + enabled: false + detekt: + enabled: false + eslint: + enabled: true + rubocop: + enabled: false + buf: + enabled: false + regal: + enabled: false + actionlint: + enabled: true + pmd: + enabled: true + cppcheck: + enabled: false + semgrep: + enabled: true + circleci: + enabled: true + ast-grep: + packages: [] + rule_dirs: [] + util_dirs: [] + essential_rules: true +chat: + auto_reply: true +knowledge_base: + opt_out: false + learnings: + scope: auto + issues: + scope: auto + jira: + project_keys: [] + linear: + team_keys: [] + pull_requests: + scope: auto diff --git a/configs/javascript/coderabbit-google-style.yaml b/configs/javascript/coderabbit-google-style.yaml new file mode 100644 index 0000000..c5990f5 --- /dev/null +++ b/configs/javascript/coderabbit-google-style.yaml @@ -0,0 +1,47 @@ +language: "en" + +early_access: false + +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + path_filters: + - "!**/.xml" + path_instructions: + - path: "**/*.css" + instructions: | + "Review the CSS code against the google css style guide and point out any mismatches. Ensure that: + - The code adheres to best practices associated with CSS. + - The code adheres to best practices recommended by lighthouse or similar tools for performance. + - The code adheres to similar naming conventions for classes, ids." + - path: "**/*.html" + instructions: | + "Review the HTML code against the google html style guide and point out any mismatches. Ensure that: + - The code adheres to best practices recommended by lighthouse or similar tools for performance." + - path: "**/*.js,**/*.ts" + instructions: | + "Review the JAVASCRIPT code against the google javascript style guide and point out any mismatches. Ensure that: + - The code adheres to best practices associated with React. + - The code adheres to best practices associated with React PWA. + - The code adheres to best practices associated with SPA. + - The code adheres to best practices recommended by lighthouse or similar tools for performance. + - The code adheres to similar naming conventions for components, views, methods." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "master" + - "dev" + - "feat/*" + - "feat-*" + - "release-*" + +chat: + auto_reply: true + diff --git a/configs/javascript/coderabbit-mocha-google.yaml b/configs/javascript/coderabbit-mocha-google.yaml new file mode 100644 index 0000000..b919ddb --- /dev/null +++ b/configs/javascript/coderabbit-mocha-google.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "en" +early_access: false +reviews: + profile: "chill" + request_changes_workflow: false + high_level_summary: true + poem: true + review_status: true + collapse_walkthrough: false + sequence_diagrams: false + auto_review: + enabled: true + drafts: false + base_branches: + - development + - feat/.* + path_instructions: + - path: "**/*.js" + instructions: + "Review the JavaScript code for conformity with the Google + JavaScript style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: + "Assess the unit test code employing the Mocha testing framework. + Test descriptions must be sufficiently detailed to clarify the + purpose of each test." +chat: + auto_reply: true diff --git a/configs/javascript/javascript-mocha-config.yaml b/configs/javascript/javascript-mocha-config.yaml new file mode 100644 index 0000000..1ba2b6d --- /dev/null +++ b/configs/javascript/javascript-mocha-config.yaml @@ -0,0 +1,28 @@ +language: "ja" +early_access: false +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: false + collapse_walkthrough: false + path_filters: + - "!**/.xml" + path_instructions: + - path: "**/*.js" + instructions: "Review the JavaScript code for conformity with the Google JavaScript style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: | + "Assess the unit test code employing the Mocha testing framework. Confirm that: + - The tests adhere to Mocha's established best practices. + - Test descriptions are sufficiently detailed to clarify the purpose of each test." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "main" +chat: + auto_reply: true diff --git a/configs/javascript/mocha-google-style-japan-config.yaml b/configs/javascript/mocha-google-style-japan-config.yaml new file mode 100644 index 0000000..1a28ba5 --- /dev/null +++ b/configs/javascript/mocha-google-style-japan-config.yaml @@ -0,0 +1,29 @@ +language: "ja-JP" +early_access: false +reviews: + request_changes_workflow: false + high_level_summary: true + poem: true + review_status: true + collapse_walkthrough: false + path_filters: + - "!**/.xml" + path_instructions: + - path: "**/*.js" + instructions: "Review the JavaScript code for conformity with the Google JavaScript style guide, highlighting any deviations." + - path: "tests/**/*" + instructions: | + "Assess the unit test code employing the Mocha testing framework. Confirm that: + - The tests adhere to Mocha's established best practices. + - Test descriptions are sufficiently detailed to clarify the purpose of each test." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "develop" + - "feature/*" +chat: + auto_reply: true \ No newline at end of file diff --git a/configs/javascript/react-mui-style-config.yaml b/configs/javascript/react-mui-style-config.yaml new file mode 100644 index 0000000..a8e0272 --- /dev/null +++ b/configs/javascript/react-mui-style-config.yaml @@ -0,0 +1,17 @@ +language: "en-US" +early_access: false +reviews: + path_instructions: + - path: "*" + instructions: | + Review the JavaScript code against the following rules: + - No new libraries are added. + - Only functional components, no class components. + - No commented code. + - No Console.log. + - Pascalcase for components, routes and pages. Example, catalogueIndex.js -> WRONG, CatalogueIndex.js -> CORRECT + - Follow Camelcase. Example, Is-Open -> WRONG, is_open -> WRONG, isOpen -> WRONG, saveProfileModalIsOpen -> CORRECT, openStateSaveProfileModal -> CORRECT, isSaveProfileModalOpen -> CORRECT + - State management, useState is preferred and redux is preferred. Example, const [isSaveProfileModalOpen, setIsSaveProfileModalOpen] = useState(false)\n const dispatch = useDispatch(); \nconst Button = useSelector((state) => state.nav.Button) \ndispatch(setButton(buttons[0])); + - MaterialUI is the preferred library. + - Avoid the container and item layout model, use display flex and flex properties within the sx part of a Grid tag. Example, WRONG -> …, CORRECT -> … + - No secret, API key, ssh key or any sensitive information should be hard coded and pushed. diff --git a/configs/monorepo/nestjs-nextjs-monorepo-config.yaml b/configs/monorepo/nestjs-nextjs-monorepo-config.yaml new file mode 100644 index 0000000..b06eff0 --- /dev/null +++ b/configs/monorepo/nestjs-nextjs-monorepo-config.yaml @@ -0,0 +1,58 @@ +language: 'en' +early_access: true +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + path_instructions: + - path: 'apps/services/**/*' + instructions: | + "Confirm that the code adheres to the following: + - NestJS architecture, including modules, services, and controllers. + - Dependency injection patterns and service encapsulation. + - Integration and unit testing coverage and practices." + - path: 'apps/**/*' + instructions: | + "Confirm that the code adheres to the following: + - NextJS best practices, including file structure, API routes, and static generation methods. + - Efficient state management and server-side rendering techniques. + - Optimal use of TypeScript for component and utility type safety." + - path: 'libs/services/**/*' + instructions: | + "Confirm that the code adheres to the following: + - Shared services and modules that can be utilized across NestJS apps. + - Proper implementation of NestJS providers, including custom providers. + - Adherence to NestJS module encapsulation and isolation principles." + - path: 'libs/shared/**/*' + instructions: | + "Confirm that the code adheres to the following: + - Cross-application utility functions, types, and constants. + - TypeScript best practices to ensure type safety and reusability. + - Documentation and examples for library consumers." + - path: 'libs/**/*' + instructions: | + "Confirm that the code adheres to the following: + - Reusability of components and hooks across different NextJS apps. + - TypeScript usage for defining props and exporting types. + - Effective tree-shaking and bundling practices." + - path: 'scripts/**/*' + instructions: | + "Confirm that the code adheres to the following: + - Script efficiency, readability, and maintainability. + - Usage of environmental variables and configuration files for flexibility. + - Integration with NX workspace utilities and commands." + - path: 'infra/src/dsl/**/*' + instructions: | + "Confirm that the code adheres to the following: + - The clarity and expressiveness of the DSL syntax. + - Integration with Helm charts and Kubernetes resources. + - Documentation on how to use the DSL to create complex Helm values." + auto_review: + enabled: true + drafts: false + base_branches: + - 'main' +chat: + auto_reply: true diff --git a/configs/nestjs/nestjs-docker-config.yaml b/configs/nestjs/nestjs-docker-config.yaml new file mode 100644 index 0000000..8f4dfd5 --- /dev/null +++ b/configs/nestjs/nestjs-docker-config.yaml @@ -0,0 +1,32 @@ +language: en +early_access: false +reviews: + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + path_filters: + - "!**/.github/workflows/*" + - "!**/node_modules/**" # Exclude dependencies + - "!**/dist/**" # Exclude build files + path_instructions: + - path: "src/**/*.{ts,js}" + instructions: "Review the TypeScript/JavaScript code for NestJS best practices, dependency injection, module structure, and potential bugs. Ensure that the code adheres to TypeScript's typing system and modern standards." + - path: "src/**/*.spec.ts" + instructions: "Review the unit tests, ensuring proper NestJS testing techniques (using TestingModule, mocks, etc.). Check for completeness and coverage." + - path: "manifests/**/*.{yaml,yml}" + instructions: "Review the kubernetes manifests used in Github workflows." + - path: "**/Dockerfile" + instructions: "Review the Dockerfile for best practices in building, optimizing, and running a NestJS application." + - path: "**/quickstart-services.yml" + instructions: "Review Docker Compose configurations for environment setup, ensuring proper service configuration, network setup, and environment variables handling." + - path: "**/quickstart-services-ai.yml" + instructions: "Review Docker Compose configurations for environment setup, ensuring proper service configuration, network setup, and environment variables handling." + - path: "**/quickstart-services-ai-debug.yml" + instructions: "Review Docker Compose configurations for environment setup, ensuring proper service configuration, network setup, and environment variables handling." + - path: "**/quickstart-services-kratos-debug.yml" + instructions: "Review Docker Compose configurations for environment setup, ensuring proper service configuration, network setup, and environment variables handling." + - path: "**/*.md" + instructions: "Ensure the documentation is clear, concise, and up-to-date, with accurate instructions for running the NestJS application in Docker." +chat: + auto_reply: true diff --git a/configs/nodejs/coderabbit-nestjs-style.yaml b/configs/nodejs/coderabbit-nestjs-style.yaml new file mode 100644 index 0000000..1683cb7 --- /dev/null +++ b/configs/nodejs/coderabbit-nestjs-style.yaml @@ -0,0 +1,38 @@ +language: "en" + +early_access: false + +reviews: + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + path_filters: + - "!**/.xml" + path_instructions: + - path: "**/*.js" + instructions: "Review the JavaScript code for conformity with the Google JavaScript style guide, highlighting any deviations." + - path: "**/*.ts" + instructions: | + "Review the JavaScript code for conformity with the Google JavaScript style guide, highlighting any deviations. Ensure that: + - The code adheres to best practices associated with nodejs. + - The code adheres to best practices associated with nestjs framework. + - The code adheres to best practices recommended for performance. + - The code adheres to similar naming conventions for controllers, models, services, methods, variables." + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT MERGE" + drafts: false + base_branches: + - "master" + - "dev" + - "feat/*" + - "feat-*" + - "release-*" + - "Shiksha-2.0" + +chat: + auto_reply: true diff --git a/configs/nuxt/coderabbit-vue-typescript.yaml b/configs/nuxt/coderabbit-vue-typescript.yaml new file mode 100644 index 0000000..d5ee2ed --- /dev/null +++ b/configs/nuxt/coderabbit-vue-typescript.yaml @@ -0,0 +1,35 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "en-US" +early_access: true +reviews: + path_filters: + - "!**/*.xml" + - "!**/*.yaml" + - "!components/Ui/**" + path_instructions: + - path: "**/*.vue" + instructions: | + Review Vue files for a Nuxt3 project. Ensure that: + - The `