W-026: Scaffold packages/ecs-devtools¶
Type: chore · Size: S · Epic: E-dnd-m1 · Target: packages/ecs-devtools · Breaking: no Depends: W-001, W-002, W-006 Refs: ecs-devtools spec (approved; DEVTOOLS-073 dependencies, OQ2); package-rules; W-001 (package template); W-002 (koota pin)
Goal¶
Scaffold packages/ecs-devtools like the other ecs-* packages (package.json, tsconfig, tsdown config, README stub, src/, tests/), with no API code. The manifest declares the dependencies approved in the spec: koota and react as peer dependencies, koota as an exact-version dev dependency, @workspace/ui as workspace:*, and "sideEffects": false. Dependency change, so the plan gate applies.
Steps¶
- S1 (scaffold): create
@workspace/ecs-devtoolsas a copy ofpackages/ecs-prefab's layout:private: true,"sideEffects": false, sameexports/files/scripts,kootaascatalog:peer and dev dependency, same devDependencies (@types/node,tsdown,typescript,vitest) and versions; same tsconfig and tsdown config;src/index.tsisexport {}; README stub; runpnpm installandpnpm turbo run typecheck lint test --filter=@workspace/ecs-devtools; files: packages/ecs-devtools/package.json, packages/ecs-devtools/tsconfig.json, packages/ecs-devtools/tsdown.config.ts, packages/ecs-devtools/.gitignore, packages/ecs-devtools/README.md, packages/ecs-devtools/src/index.ts, packages/ecs-devtools/tests/.gitkeep, pnpm-lock.yaml - S2 (DEVTOOLS-073): add the OQ2-approved dependencies:
"react": "^19.3.1"inpeerDependencies(range taken frompackages/uiand the apps; no catalog entry),"@workspace/ui": "workspace:*"independencies; nothing else. Runpnpm install, the checks from S1, and acceptance A4 step 1 against the manifest; files: packages/ecs-devtools/package.json, pnpm-lock.yaml
Log¶
- 2026-11-01 created (Triage); Depends gains W-006 (approved spec); moved to Next, ready
- 2026-11-01 active (Triage): moved from Next to Now; Depends W-001, W-002, W-006 all Done
- 2026-11-01 planned, 2 steps (Planner); dependency change (react peer, @workspace/ui workspace dep), awaiting user plan approval; no changeset (private chore, no published behaviour)
- 2026-11-01 user approved the plan (dependency gate)
- 2026-11-01 S1 reviewed APPROVED (Reviewer)
- 2026-11-01 S2 reviewed APPROVED (Reviewer)
- 2026-11-01 final review APPROVED (Reviewer)
- 2026-11-01 review -> done (Triage); chore, no demo or manual acceptance, so no accept state