Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 56 additions & 12 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,20 @@ language: en
# Enable experimental features (currently not using any specific early_access features)
early_access: true

# Multi-repo analysis: lets CodeRabbit use other repositories as context when reviewing PRs.
# Most useful when linking tightly coupled repos, e.g.:
# - Frontend ↔ backend (API contract changes)
# - Service ↔ shared library (ripple-effect on consumers)
# - Microservices sharing a database schema
# Avoid configuring this at org level — link only the repos relevant to this project.
# See: https://docs.coderabbit.ai/knowledge-base/multi-repo-analysis
#
# To enable, uncomment the block below and replace the example values with your repos.
# knowledge_base:
# linked_repositories:
# - repository: "AOSSIE-Org/backend-api"
# instructions: "Contains REST API endpoints and database models"

chat:
# CodeRabbit will automatically respond to @coderabbitai mentions in PR comments
auto_reply: true
Expand Down Expand Up @@ -278,16 +292,46 @@ reviews:
- Proper @2x and @3x variants for different screen densities
- SVG assets are optimized
- Font files are licensed and optimized

# Path-based review instructions for specific files/patterns
- path: "src/**/*.{js,jsx}"

# Dependency manifest and lock files (e.g. updated by Dependabot, Renovate)
- path: >-
**/{package.json,package-lock.json,yarn.lock,pnpm-lock.yaml,npm-shrinkwrap.json,requirements.txt,Pipfile,Pipfile.lock,pyproject.toml,poetry.lock,go.mod,go.sum,Cargo.toml,Cargo.lock,pom.xml,build.gradle,build.gradle.kts,gradle.lockfile,*.gemspec,Gemfile,Gemfile.lock}
instructions: |
Ensure newly added or modified methods and properties have brief inline comments:

- Use minimal, concise inline comments (not JSDoc style)
- Add comments for logical blocks explaining what they do
- Add comments for edge cases and non-obvious logic (safety checks, race condition prevention, re-entrancy guards, cleanup callbacks, etc.)
- No need to document parameters or return values
- Not every function needs comments - only add where it aids understanding

Flag any newly added or modified function or property that lacks descriptive inline comments for non-obvious logic or edge cases.
This file may be modified by a dependency bot (e.g., Dependabot, Renovate).
Perform a structured dependency upgrade analysis:

**1. Version Change Assessment**
- Identify all version bumps (major, minor, patch) and flag major/minor upgrades explicitly.
- Check the official release notes, changelog, or migration guide for each upgraded package.

**2. Breaking Change Detection**
- Breaking changes: removed or renamed APIs, changed function signatures, altered behavior.
- Deprecated APIs: warn if the codebase uses anything deprecated in the new version.
- Configuration changes: new required env vars, config keys, or file structure changes.
- Security fixes: highlight CVE patches and confirm they address known vulnerabilities.

**3. Codebase Compatibility Check**
- Locate all files in the repo that import or use the upgraded dependency.
- For each usage, verify:
- No removed or renamed imports/functions are referenced.
- Constructor/function call signatures are compatible.
- Any default behavior changes do not silently break existing logic.

**4. Risk Analysis**
- Runtime errors: type mismatches, missing attributes, changed return types.
- API incompatibility: breaking interface/type changes (critical for TypeScript).
- Logical bugs: subtle behavior changes that don't throw errors but alter outcomes.
- Performance regressions: flag if release notes mention perf impacts.

**5. Edge Cases to Verify**
- Backward compatibility with currently pinned peer dependencies.
- Changes in default behavior or environment assumptions.
- Peer requirement conflicts introduced by the new version.
- For TypeScript: type/interface changes that may require type assertion updates.

**6. Migration Guidance**
- If official docs provide migration steps, summarize the required changes and flag
specific files in this repo that need updates.
- If no migration is required, confirm this explicitly.

Conclude with a **risk level**: Low / Medium / High, with justification.
56 changes: 48 additions & 8 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,20 +1,60 @@
# EditorConfig is awesome: https://EditorConfig.org
# EditorConfig helps maintain consistent coding styles across different editors and IDEs
# Documentation: https://editorconfig.org/

# top-most EditorConfig file
# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
# Universal settings for all files
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

# Indentation override for all JS and JSX files
[*.{js,jsx,json,css,html}]
indent_style = space
indent_size = 2
indent_size = 4

# Markdown files
[*.md]
# Trailing whitespace is significant in Markdown (two spaces = line break)
trim_trailing_whitespace = false

# JavaScript / TypeScript / Web / Config files (2-space indentation)
[*.{js,jsx,ts,tsx,json,yml,yaml}]
indent_size = 2

# Shell scripts (2 spaces common practice)
[*.sh]
indent_size = 2

# Makefiles (must use tabs)
[{Makefile,*.mk}]
indent_style = tab
tab_width = 4



# For full list of Supported Editors: https://editorconfig.org/#pre-installed
#
# Common Properties:
# ------------------
# - indent_style: "space" or "tab"
# - indent_size: number of columns for each indentation level
# - end_of_line: "lf", "cr", or "crlf"
# - charset: "utf-8", "utf-16be", "utf-16le", "latin1"
# - trim_trailing_whitespace: true or false
# - insert_final_newline: true or false
# - max_line_length: number (not supported by all editors)
#
# File Pattern Matching:
# ----------------------
# - * : matches any string of characters (except path separator)
# - ** : matches any string of characters
# - ? : matches any single character
# - [name] : matches any single character in name
# - [!name] : matches any single character not in name
# - {s1,s2,s3} : matches any of the strings given (comma-separated)
#
# For more information and queries:
# - Official Documentation: https://editorconfig.org/
# - Specification: https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
# - Plugin Downloads: https://editorconfig.org/#download
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.github/workflows/*.yml linguist-detectable -linguist-vendored
.github/workflows/*.yaml linguist-detectable -linguist-vendored
6 changes: 2 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Bug Report
description: Report a bug or issue
title: '[BUG]: '
labels: ['bug', 'triage-needed']
title: "[BUG]: "
labels: ["bug", "triage-needed"]
body:
- type: markdown
attributes:
Expand Down Expand Up @@ -75,8 +75,6 @@ body:
label: Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct and join our Discord
options:
- label: I agree to follow the Code of Conduct
required: true
- label: I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
required: true
- label: I have searched existing issues to avoid duplicates
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Feature Request
description: Suggest a new feature or enhancement
title: '[FEATURE]: '
labels: ['enhancement', 'triage-needed']
title: "[FEATURE]: "
labels: ["enhancement", "triage-needed"]
body:
- type: markdown
attributes:
Expand Down
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/good_first_issue.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Good First Issue
description: A beginner-friendly issue to get started with contributing
title: '[GOOD FIRST ISSUE]: '
labels: ['good first issue', 'triage-needed']
title: "[GOOD FIRST ISSUE]: "
labels: ["good first issue", "triage-needed"]
body:
- type: markdown
attributes:
Expand Down Expand Up @@ -36,7 +36,7 @@ body:
label: Resources
description: Helpful resources for completing this task
value: |
- [Contribution Guide - Start Here!](/CONTRIBUTING.md)
- [Contribution Guide - Start Here!](https://github.com/AOSSIE-Org/TODO/blob/main/CONTRIBUTING.md)
- [Discord Channel](https://discord.gg/hjUhu33uAn)
validations:
required: false
Expand All @@ -45,7 +45,7 @@ body:
attributes:
value: |
## AI Notice - Important!

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact.

- type: checkboxes
Expand All @@ -56,7 +56,7 @@ body:
options:
- label: I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
required: true
- label: I have read the [Contribution Guide](/CONTRIBUTING.md)
- label: I have read the [Contribution Guide](https://github.com/AOSSIE-Org/Template-Repo/blob/main/CONTRIBUTING.md)
required: true
- label: I understand this issue is assigned on a first-come, first-served basis
required: true
15 changes: 6 additions & 9 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
# Addressed Issues:

### Addressed Issues:
<!-- Link the issue this PR addresses -->

Fixes #(issue number)

## Screenshots/Recordings:

### Screenshots/Recordings:
<!-- If applicable, add screenshots or recordings to demonstrate the changes -->

## Additional Notes:

### Additional Notes:
<!-- Add any additional information, context, or notes for reviewers -->

## Checklist

## Checklist
<!-- Mark items with [x] to indicate completion -->

- [ ] My code follows the project's code style and conventions
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings or errors
- [ ] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and I will share a link to this PR with the project maintainers there
- [ ] I have read the [Contributing Guidelines](../CONTRIBUTING.md)
- [ ] I have read the [Contributing Guidelines](./CONTRIBUTING.md)

## ⚠️ AI Notice - Important!

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.
We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact.
Loading