mirror of
https://github.com/glittercowboy/get-shit-done
synced 2026-04-25 17:25:23 +02:00
Overhaul CONTRIBUTING.md and all GitHub issue/PR templates to enforce a structured, approval-gated contribution process that cuts down on drive-by feature submissions. Changes: - CONTRIBUTING.md: add Types of Contributions section defining Fix, Enhancement, and Feature with escalating requirements and explicit rejection criteria; add Issue-First Rule section making clear that enhancements require approved-enhancement and features require approved-feature label before any code is written; backport gsd-2 testing standards (t.after() per-test cleanup, array join() fixture pattern, Node 24 as primary CI target, test requirements by change type, reviewer standards) - .github/ISSUE_TEMPLATE/enhancement.yml: new template requiring current vs. proposed behavior, reason/benefit narrative, full scope of changes, and breaking changes assessment; cannot be clicked through - .github/ISSUE_TEMPLATE/feature_request.yml: full rewrite requiring solo- developer problem statement, what is being added, full file-level scope, user stories, acceptance criteria, maintenance burden assessment, and alternatives considered; incomplete specs are closed, not revised - .github/pull_request_template.md: converted from general template to a routing page directing contributors to the correct typed template; using the default template for a feature or enhancement is a rejection reason - .github/PULL_REQUEST_TEMPLATE/fix.md: new typed template requiring confirmed-bug label on linked issue and regression test confirmation - .github/PULL_REQUEST_TEMPLATE/enhancement.md: new typed template with hard gate on approved-enhancement label and scope confirmation section - .github/PULL_REQUEST_TEMPLATE/feature.md: new typed template requiring file inventory, spec compliance checklist from the issue, and scope confirmation that nothing beyond the approved spec was added Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
87 lines
2.3 KiB
Markdown
87 lines
2.3 KiB
Markdown
## Enhancement PR
|
|
|
|
> **Using the wrong template?**
|
|
> — Bug fix: use [fix.md](?template=fix.md)
|
|
> — New feature: use [feature.md](?template=feature.md)
|
|
|
|
---
|
|
|
|
## Linked Issue
|
|
|
|
> **Required.** This PR will be auto-closed if no valid issue link is found.
|
|
> The linked issue **must** have the `approved-enhancement` label. If it does not, this PR will be closed without review.
|
|
|
|
Closes #
|
|
|
|
> ⛔ **No `approved-enhancement` label on the issue = immediate close.**
|
|
> Do not open this PR if a maintainer has not yet approved the enhancement proposal.
|
|
|
|
---
|
|
|
|
## What this enhancement improves
|
|
|
|
<!-- Name the specific command, workflow, or behavior being improved. -->
|
|
|
|
## Before / After
|
|
|
|
**Before:**
|
|
<!-- Describe or show the current behavior. Include example output if applicable. -->
|
|
|
|
**After:**
|
|
<!-- Describe or show the behavior after this enhancement. Include example output if applicable. -->
|
|
|
|
## How it was implemented
|
|
|
|
<!-- Brief description of the approach. Point to the key files changed. -->
|
|
|
|
## Testing
|
|
|
|
### How I verified the enhancement works
|
|
|
|
<!-- Manual steps or automated tests. -->
|
|
|
|
### Platforms tested
|
|
|
|
- [ ] macOS
|
|
- [ ] Windows (including backslash path handling)
|
|
- [ ] Linux
|
|
- [ ] N/A (not platform-specific)
|
|
|
|
### Runtimes tested
|
|
|
|
- [ ] Claude Code
|
|
- [ ] Gemini CLI
|
|
- [ ] OpenCode
|
|
- [ ] Other: ___
|
|
- [ ] N/A (not runtime-specific)
|
|
|
|
---
|
|
|
|
## Scope confirmation
|
|
|
|
<!-- Confirm the implementation matches the approved proposal. -->
|
|
|
|
- [ ] The implementation matches the scope approved in the linked issue — no additions or removals
|
|
- [ ] If scope changed during implementation, I updated the issue and got re-approval before continuing
|
|
|
|
---
|
|
|
|
## Checklist
|
|
|
|
- [ ] Issue linked above with `Closes #NNN` — **PR will be auto-closed if missing**
|
|
- [ ] Linked issue has the `approved-enhancement` label — **PR will be closed if missing**
|
|
- [ ] Changes are scoped to the approved enhancement — nothing extra included
|
|
- [ ] All existing tests pass (`npm test`)
|
|
- [ ] New or updated tests cover the enhanced behavior
|
|
- [ ] CHANGELOG.md updated
|
|
- [ ] Documentation updated if behavior or output changed
|
|
- [ ] No unnecessary dependencies added
|
|
|
|
## Breaking changes
|
|
|
|
<!-- Does this enhancement change any existing behavior, output format, or API?
|
|
If yes, describe exactly what changes and confirm backward compatibility.
|
|
Write "None" if not applicable. -->
|
|
|
|
None
|