Commit Graph
1 Commits
Author SHA1 Message Date
Clay GoodandClaude Opus 5 1c0ee701e5 docs: add CONTRIBUTING.md (#1781)
* 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>
2026-09-09 16:24:45 +00:00