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>