* docs: add CONTRIBUTING.md
Require a discussion (core design changes) or an issue before a PR is
opened, and require every PR to link its issue.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* docs: add setup and PR steps to CONTRIBUTING.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* docs: make CONTRIBUTING.md the single source for the process
The README's Contributing section said small fixes could go straight to
a PR, which contradicts the new discussion/issue requirement. Point it at
CONTRIBUTING.md and carry over the conventional-commit and AI-disclosure
policies so nothing is lost.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* docs: close the three process gaps in CONTRIBUTING.md
alfred-openspec on #1781:
1. The OpenSpec-proposal rule was dropped from the README with nothing
replacing it, recreating the gap in #1727. New step 2 carries the threshold
over verbatim from the README (new features, significant refactors,
architectural changes) plus the philosophy paragraph, says to open the
proposal as its own PR and wait for approval, and tells anyone unsure to ask
in the issue from step 1.
2. The discussion path contradicted itself: step 1 accepted a prior discussion
while step 3 required 'Closes #123'. The PR step now says to link what you
opened in step 1, 'Closes #123' for an issue or a link to the discussion
when there is no issue. CodeRabbit's thread on README.md:227 is the same
defect, so the README sentence says 'the issue or discussion' too.
3. The local setup was missing 'pnpm exec tsc --noEmit', which CI runs, and the
README called the guide a development setup after 'pnpm run dev' and
'dev:cli' were removed. The command is added, the guide states that those
four commands are exactly what CI runs, and the README pointer now describes
the guide as the full process rather than a setup.
Verified each documented command against this checkout: build, tsc --noEmit and
lint all pass as written.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>