diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0592706..469c038 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -17,6 +17,13 @@ Please delete options that are not relevant: - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update +## GSSoC Scoring Labels +To enable proper GSSoC point calculation, please request the following labels (maintainers will apply them): +- **Difficulty Level** (choose one): `level:beginner`, `level:intermediate`, `level:advanced`, `level:critical` +- **Change Type** (choose one): `type:bug` (2x), `type:feature` (1x), `type:refactor` (1.5x), `type:docs` (0.5x) +- **Quality** (optional multiplier): `quality:clean` (1.2x), `quality:exceptional` (1.5x) +- **Approval** (required for scoring): `gssoc:approved` + ## Screenshots / Videos (if applicable) Please add screenshots or screen recordings to demonstrate the visual changes. diff --git a/.github/workflows/init-labels.yml b/.github/workflows/init-labels.yml index d1a9f17..f044626 100644 --- a/.github/workflows/init-labels.yml +++ b/.github/workflows/init-labels.yml @@ -33,7 +33,18 @@ jobs: { name: 'nsoc', color: 'ff007f', description: 'NSoC' }, { name: 'pending-review', color: 'fbca04', description: 'PR is pending review' }, { name: 'needs-review', color: 'fbca04', description: 'Issue needs review' }, - { name: 'ready-to-merge', color: '0e8a16', description: 'All checks passed, ready to be merged' } + { name: 'ready-to-merge', color: '0e8a16', description: 'All checks passed, ready to be merged' }, + { name: 'gssoc:approved', color: '76c893', description: 'GSSoC scoring trigger - PR qualifies for GSSoC points' }, + { name: 'level:beginner', color: 'a8e6cf', description: 'GSSoC difficulty: Beginner' }, + { name: 'level:intermediate', color: '56ab91', description: 'GSSoC difficulty: Intermediate' }, + { name: 'level:advanced', color: '38a169', description: 'GSSoC difficulty: Advanced' }, + { name: 'level:critical', color: '2d5016', description: 'GSSoC difficulty: Critical' }, + { name: 'type:bug', color: 'f8949a', description: 'GSSoC type: Bug fix (2x points)' }, + { name: 'type:feature', color: 'a8dadc', description: 'GSSoC type: Feature (1x points)' }, + { name: 'type:refactor', color: 'ffc8dd', description: 'GSSoC type: Refactor (1.5x points)' }, + { name: 'type:docs', color: 'caffbf', description: 'GSSoC type: Documentation (0.5x points)' }, + { name: 'quality:clean', color: 'f1faee', description: 'GSSoC quality: Clean code (1.2x multiplier)' }, + { name: 'quality:exceptional', color: 'd6eadf', description: 'GSSoC quality: Exceptional (1.5x multiplier)' } ]; for (const label of labels) {