fix(build): zelf-helende scrum4me-shared submodule-init in verse worktrees #21

Merged
janpeter merged 1 commit from claude/upbeat-torvalds-f49fa0 into main 2026-06-01 16:15:07 +02:00
Owner

Probleem

Een nieuwe git-worktree checkt submodules niet automatisch uit, dus vendor/scrum4me-shared/ start leeg. De tsconfig-alias @shared/*vendor/scrum4me-shared/lib/* resolvet dan niet, waardoor npm run typecheck/verify direct faalden met ~11 Cannot find module '@shared/...'-fouten. Handmatige fix was telkens git submodule update --init vendor/scrum4me-shared.

Oplossing (Aanpak A — minst-invasief)

scripts/gen-schema.sh (al aangeroepen door postinstall/predev/prebuild) heelt dit nu zelf: ontbreekt vendor/scrum4me-shared/lib, dan draait het git submodule update --init --recursive vendor/scrum4me-shared en hercontroleert. De bestaande hard error blijft alleen over voor een echte init-fout (geen netwerk/auth).

Omdat een verse worktree altijd eerst npm install draait (node_modules ontbreekt) → postinstallgen-schema.sh, is de submodule aanwezig vóór elke verify/build/dev. predev/prebuild profiteren gratis mee. Geen nieuwe npm-scripts of extra bestanden.

CLAUDE.md documenteert het auto-heal-gedrag + de handmatige fallback.

Verificatie (verse-worktree context)

  1. git submodule deinit -f vendor/scrum4me-shared + geen node_modules → echte verse staat.
  2. npm installpostinstall logt de self-heal, checkt 30f986f0 uit, genereert schema + Prisma Client (579 packages).
  3. npm run verify50 test files / 305 tests PASSED.
  4. npm run typecheckexit 0, 0× Cannot find module '@shared.

Scrum4Me

Sprint S-2026-06-01-2 · PBI-2 · ST-002 · taken T-3 (gen-schema.sh self-heal) + T-4 (CLAUDE.md) — beide done.

🤖 Generated with Claude Code

## Probleem Een nieuwe git-worktree checkt submodules niet automatisch uit, dus `vendor/scrum4me-shared/` start leeg. De tsconfig-alias `@shared/*` → `vendor/scrum4me-shared/lib/*` resolvet dan niet, waardoor `npm run typecheck`/`verify` direct faalden met ~11 `Cannot find module '@shared/...'`-fouten. Handmatige fix was telkens `git submodule update --init vendor/scrum4me-shared`. ## Oplossing (Aanpak A — minst-invasief) `scripts/gen-schema.sh` (al aangeroepen door `postinstall`/`predev`/`prebuild`) heelt dit nu zelf: ontbreekt `vendor/scrum4me-shared/lib`, dan draait het `git submodule update --init --recursive vendor/scrum4me-shared` en hercontroleert. De bestaande hard error blijft alleen over voor een echte init-fout (geen netwerk/auth). Omdat een verse worktree altijd eerst `npm install` draait (node_modules ontbreekt) → `postinstall` → `gen-schema.sh`, is de submodule aanwezig vóór elke verify/build/dev. `predev`/`prebuild` profiteren gratis mee. Geen nieuwe npm-scripts of extra bestanden. `CLAUDE.md` documenteert het auto-heal-gedrag + de handmatige fallback. ## Verificatie (verse-worktree context) 1. `git submodule deinit -f vendor/scrum4me-shared` + geen `node_modules` → echte verse staat. 2. `npm install` → `postinstall` logt de self-heal, checkt `30f986f0` uit, genereert schema + Prisma Client (579 packages). 3. `npm run verify` → **50 test files / 305 tests PASSED**. 4. `npm run typecheck` → **exit 0, 0× `Cannot find module '@shared`**. ## Scrum4Me Sprint `S-2026-06-01-2` · `PBI-2` · `ST-002` · taken `T-3` (gen-schema.sh self-heal) + `T-4` (CLAUDE.md) — beide done. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Een nieuwe git-worktree checkt submodules niet automatisch uit, dus
vendor/scrum4me-shared/ start leeg. De @shared/* tsconfig-alias wijst naar
vendor/scrum4me-shared/lib/*, waardoor tsc/typecheck/verify direct faalden
met ~11 'Cannot find module @shared/...'-fouten.

scripts/gen-schema.sh (al aangeroepen door postinstall/predev/prebuild)
heelt dit nu zelf: ontbreekt vendor/scrum4me-shared/lib, dan draait het
'git submodule update --init --recursive vendor/scrum4me-shared' en
hercontroleert. Hard falen blijft alleen bij een echte init-fout. Omdat een
verse worktree altijd eerst 'npm install' draait (node_modules ontbreekt)
-> postinstall -> gen-schema.sh, is de submodule aanwezig voor elke
verify/build/dev. CLAUDE.md documenteert het auto-heal-gedrag + fallback.

Co-Authored-By: Claude Opus 4.8 (1M context) <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
janpeter/scrum4me-workers!21
No description provided.