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