CodeVetter · Repo Unpack · Contributor handoff
changesets/changesets
Tests and CI were inspected, not executed, and the findings are a bounded onboarding map rather than exhaustive coverage or a verification certificate. Start with the relevant command, shared contracts, and side-effect-owning package before changing behavior. Preserve distinctions between release planning, filesystem application, and registry publication. Future checks must respect task authorization because several apparently convenient APIs or scripts perform writes, subprocess execution, or remote operations.
- Treat this checkout as v3 development, verify behavior against local source, and use the pinned pnpm/Node requirements; README explicitly points v2 users to a different maintenance branch.
- Read cli.ts plus the affected handler and shared types first; ReleasePlan and PublishPlan are different contracts, with the latter carrying ordered publish/tag-only chunks rather than proposed bumps.
- Keep semver-policy changes in assembly helpers and manifest edits in apply-release-plan; retain dev-dependent none releases and file/link/workspace range exceptions instead of treating every dependency edge as a version bump.
- Configuration changes should update WrittenConfig/Config, WrittenConfigSchema, normalization/rules, and generated schema together; schema snapshot tests are the narrow alignment check.
- Build before authorized tests that resolve dist generators: the apply-release-plan suite references built CLI changelog/commit files, and CI supplies build artifacts before test jobs. Then target the affected Vitest file before broader root checks.
- E2E is separately bootstrapped, excluded from root test/typechecking, and requires Node 24 or newer; use the relevant pack/publish suite for authorized adapter work instead of assuming check-all includes it.
- Follow explicit .ts ESM imports, inline type-import conventions, and == null checks; named exports are preferred, but index/config exceptions retain default exports for compatibility.
- For read-only investigations inspect tests/CI without executing them: readPreState may rewrite legacy files, runVersion resets/commits/force-pushes, and runPublish invokes an arbitrary command then pulls/pushes; these APIs are not safe inspection helpers.