docs(adr) Document the missing api-contract install step in sibling CI #5

Merged
araemer merged 1 commit from fix-contract-ci-install-step into main 2026-09-20 06:35:19 +00:00
Owner

Summary

  • The clone-mechanism fix (#4) was not sufficient on its own — sibling CI still failed for two more reasons: npm ci EUSAGE on missing lockfile entries for @ts-rest/core/zod, and tsc failing to resolve @ts-rest/core because file: deps are symlinked (TypeScript resolves from api-contract's real path, never through the consuming repo's node_modules).
  • Both are fixed directly on both sibling onboarding branches (recipe-backend PR #13, recipe-app PR #35): the two packages added as direct deps, and a new install_platform_contract CI step running npm install inside api-contract after cloning it.
  • This ADR records the reasoning for future readers.

Test plan

  • Docs-only change in this repo; the actual fixes were verified by reproducing both failure modes locally against a fresh api-contract checkout.
## Summary - The clone-mechanism fix (#4) was not sufficient on its own — sibling CI still failed for two more reasons: `npm ci` EUSAGE on missing lockfile entries for `@ts-rest/core`/`zod`, and `tsc` failing to resolve `@ts-rest/core` because `file:` deps are symlinked (TypeScript resolves from api-contract's real path, never through the consuming repo's node_modules). - Both are fixed directly on both sibling onboarding branches (recipe-backend PR #13, recipe-app PR #35): the two packages added as direct deps, and a new `install_platform_contract` CI step running `npm install` inside `api-contract` after cloning it. - This ADR records the reasoning for future readers. ## Test plan - [x] Docs-only change in this repo; the actual fixes were verified by reproducing both failure modes locally against a fresh api-contract checkout.
docs(adr) Document the missing api-contract install step in sibling CI
All checks were successful
/ typecheck-contract (pull_request) Successful in 10s
04d40912c2
Fixing the clone mechanism (PR #4) wasn't sufficient — npm ci failed on
missing lockfile entries for api-contract's own dependencies, and tsc
failed to resolve @ts-rest/core because file: dependencies are symlinked,
so TypeScript resolves the import from api-contract's real location, not
the consuming repo's node_modules. Both are now fixed directly in both
sibling repos' onboarding branches; this ADR records why.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
araemer/recipe-platform!5
No description provided.