Add decision records (ADRs) with template and 0001 on package versioning - #1108
Conversation
…ersioning Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
📝 WalkthroughWalkthroughThe change adds architecture decision records and contributor-navigation links. It exempts decision-record directories from temporal-language checks and expands tests for prefix-based exemptions. ChangesDecision records and documentation checks
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🔎 Preview deployed: https://kody-pr-1108.kody-a99.workers.dev Worker: Mocks:
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@AGENTS.md`:
- Around line 45-47: Indent the project-intent and decisions documentation links
beneath their respective labels in AGENTS.md, matching the nested continuation
style already used in the surrounding list entries.
In `@tools/check-docs-temporal-language.node.test.ts`:
- Around line 142-145: Update the test loop around exemptRelativePrefixes to
explicitly assert that the configured prefixes include the documented
docs/contributing/decisions/ prefix, using a fixed expected value rather than
relying only on derived sample paths.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 875a97c6-c881-44d7-a21d-5f7f6cfd143e
📒 Files selected for processing (8)
AGENTS.mddocs/contributing/decisions/0000-template.mddocs/contributing/decisions/0001-no-package-versioning.mddocs/contributing/decisions/index.mddocs/contributing/documentation.mddocs/contributing/index.mdtools/check-docs-temporal-language.node.test.tstools/check-docs-temporal-language.ts
…fix in test Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
What
Adds a lightweight architecture decision record (ADR) system under
docs/contributing/decisions/so platform-shaping choices — especially decisions not to build something — are recorded instead of re-litigated.docs/contributing/decisions/index.md— what ADRs are, how to add one, and the record listdocs/contributing/decisions/0000-template.md— half-page template (Status / Date / Context / Decision / Consequences)docs/contributing/decisions/0001-no-package-versioning.md— first real record: no user-facing package versioning and no cross-package import pins, with the rationale (git history on Artifacts already covers history/rollback; the package author is the consumer; community forks already pin by commit; pinned old versions would escape fleet codemods) and the preferred future shape if import-pin demand ever materializesdocs/contributing/index.mdandAGENTS.md(agents should check it before proposing something already decided against)docs/contributing/decisions/fromnpm run docs:check-temporalvia a newexemptRelativePrefixeslist intools/check-docs-temporal-language.ts(decision records are point-in-time documents by design), with test coverage, and notes the exception indocs/contributing/documentation.mdWhy
Came out of a discussion on whether to add versioning to users' packages (answer: no). Decisions like that had no durable home, so the same question would inevitably resurface.
Verification
npm run format:check,npm run lint,npm run typecheck— passnpm run docs:check-temporal— passes with the new folder exemptednpx vitest run tools/check-docs-temporal-language.node.test.ts— 16 tests pass, including the new prefix-exemption case and a fixed assertion that the decisions prefix is configurednpm run primitives:checkandnpm run migrations:check— passSystem recap — composes existing primitives (low risk)
Mode: recap · Base:
main@3320dad0· Head:05a0fe2bClassification: composes — no primitives added or changed. The classifier matches zero primitives for this diff: it touches contributor documentation and the docs temporal-language validation tool only. No runtime, storage, or capability code changes.
Primitives touched
docs/contributing/decisions/plus an exemption list intools/check-docs-temporal-language.ts(validation tooling, not a mapped primitive)Before / after
Summary by CodeRabbit
Documentation
Tests