Goal
Stand up the monorepo skeleton so subsequent Phase 0 issues have a place to land code.
Acceptance criteria
- Root
package.json with npm workspaces declaring packages/*
packages/plugin/package.json (no deps yet beyond what the spike needs)
packages/orchestrator/package.json (stub; populated in Phase 2)
packages/shared/package.json (stub; populated in Phase 2)
tsconfig.base.json at the root with shared strict-mode settings
- Per-package
tsconfig.json extending the base
pnpm-workspace.yaml or equivalent (whatever package manager we settle on)
Notes
The plugin (Phase 0–1) is pure bash and doesn't actually need TypeScript yet. The TS setup is forward-looking for the orchestrator (Phase 2) and the shared types package. Setting it up now means Phase 2 work doesn't get derailed by infra.
Out of scope
- Drizzle schema (Phase 2)
- Actual TS source files (Phase 1+)
semver: minor
Goal
Stand up the monorepo skeleton so subsequent Phase 0 issues have a place to land code.
Acceptance criteria
package.jsonwith npm workspaces declaringpackages/*packages/plugin/package.json(no deps yet beyond what the spike needs)packages/orchestrator/package.json(stub; populated in Phase 2)packages/shared/package.json(stub; populated in Phase 2)tsconfig.base.jsonat the root with shared strict-mode settingstsconfig.jsonextending the basepnpm-workspace.yamlor equivalent (whatever package manager we settle on)Notes
The plugin (Phase 0–1) is pure bash and doesn't actually need TypeScript yet. The TS setup is forward-looking for the orchestrator (Phase 2) and the shared types package. Setting it up now means Phase 2 work doesn't get derailed by infra.
Out of scope
semver: minor