Skip to content

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-devtools as a copy of packages/ecs-prefab's layout: private: true, "sideEffects": false, same exports/files/scripts, koota as catalog: peer and dev dependency, same devDependencies (@types/node, tsdown, typescript, vitest) and versions; same tsconfig and tsdown config; src/index.ts is export {}; README stub; run pnpm install and pnpm 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" in peerDependencies (range taken from packages/ui and the apps; no catalog entry), "@workspace/ui": "workspace:*" in dependencies; nothing else. Run pnpm 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