docs(work): story 05 — generator updates
This commit is contained in:
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
id: 05-generator-updates
|
||||||
|
epic: conformance-system-v1
|
||||||
|
title: Generator updates — emit feature.manifest.ts + self-asserting bind-production
|
||||||
|
type: technical-story
|
||||||
|
status: in-progress
|
||||||
|
feature: turbo-generators
|
||||||
|
depends-on: [04-ci-drift-gate]
|
||||||
|
blocks: [06-feature-migrations]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
`pnpm turbo gen feature <name>` produces a feature that's conformance-
|
||||||
|
compliant out of the box: ships a `feature.manifest.ts` declaring the
|
||||||
|
scaffolded use case, and the scaffolded `bind-production.ts` calls
|
||||||
|
`assertFeatureConformance` at its tail.
|
||||||
|
|
||||||
|
## Why
|
||||||
|
Today, generating a new feature does NOT emit a manifest, so
|
||||||
|
`feature-must-have-manifest` would warn the moment the developer saves.
|
||||||
|
And `bindProductionX` doesn't self-assert. New features should be
|
||||||
|
conformance-ready by default.
|
||||||
|
|
||||||
|
## Done when
|
||||||
|
- `feature.manifest.ts.hbs` template exists, declaring the scaffolded
|
||||||
|
`getX` use case with mutates: false / empty arrays
|
||||||
|
- `bind-production.ts.hbs` imports `assertFeatureConformance` +
|
||||||
|
`<name>Manifest` and calls the assertion at the tail
|
||||||
|
- `config.ts` action emits the manifest file
|
||||||
|
- Running `pnpm turbo gen feature demo` into a tmp dir produces a
|
||||||
|
feature directory containing a valid `feature.manifest.ts`
|
||||||
|
- Existing snapshot tests pass (regenerate snapshots if needed)
|
||||||
|
|
||||||
|
## In scope
|
||||||
|
- Manifest template
|
||||||
|
- bind-production template update
|
||||||
|
- config.ts action wiring
|
||||||
|
- Snapshot regen
|
||||||
|
|
||||||
|
## Out of scope
|
||||||
|
- Multi-use-case feature scaffolding
|
||||||
|
- Generator changes to other generators (event/job/realtime)
|
||||||
|
- Backfilling manifests for existing features (milestone vi)
|
||||||
|
|
||||||
|
## Tasks
|
||||||
|
- [ ] Story scaffold
|
||||||
|
- [ ] feature.manifest.ts.hbs template
|
||||||
|
- [ ] bind-production.ts.hbs update
|
||||||
|
- [ ] config.ts action wiring
|
||||||
|
- [ ] Run generator into tmp; verify shape
|
||||||
|
- [ ] Snapshot regen (if needed) + verify tests pass
|
||||||
|
- [ ] Final verification + closeout
|
||||||
Reference in New Issue
Block a user