docs(work): scaffold frontend-conformance-v1 epic + story
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
---
|
||||
id: 01-frontend-rules
|
||||
epic: frontend-conformance-v1
|
||||
title: Three structural frontend conformance ESLint rules
|
||||
type: technical-story
|
||||
status: in-progress
|
||||
feature: core-eslint
|
||||
depends-on: []
|
||||
blocks: []
|
||||
---
|
||||
|
||||
## Goal
|
||||
Three new rules under the `conformance/` plugin namespace:
|
||||
`component-must-have-story`, `component-must-have-test`,
|
||||
`atomic-tier-import-direction`. All ship as WARN initially because
|
||||
no components exist in the repo today.
|
||||
|
||||
## Done when
|
||||
- Three rules registered in `@repo/core-eslint/plugin`
|
||||
- Each has RuleTester tests
|
||||
- `base.js` registers them at WARN severity
|
||||
- `pnpm lint` passes (zero firings expected today; rules activate when
|
||||
first component lands)
|
||||
|
||||
## In scope
|
||||
- Three new rule files in `packages/core-eslint/rules/`
|
||||
- Plugin + base.js wiring
|
||||
- Tests via RuleTester
|
||||
|
||||
## Out of scope
|
||||
- Visual regression infrastructure (Playwright screenshots — separate plan)
|
||||
- `story-must-cover-all-prop-variants` advisory rule
|
||||
- Detection beyond filesystem siblings (no AST-level component-detection
|
||||
heuristics)
|
||||
|
||||
## Tasks
|
||||
- [ ] Epic + story scaffold
|
||||
- [ ] `component-must-have-story` rule + tests
|
||||
- [ ] `component-must-have-test` rule + tests
|
||||
- [ ] `atomic-tier-import-direction` rule + tests
|
||||
- [ ] Plugin update + base.js wiring
|
||||
- [ ] Final verification + closeout
|
||||
22
docs/work/frontend-conformance-v1/_epic.md
Normal file
22
docs/work/frontend-conformance-v1/_epic.md
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
id: frontend-conformance-v1
|
||||
prd: null
|
||||
title: Frontend conformance rules v1
|
||||
type: epic
|
||||
status: in-progress
|
||||
features: [core-eslint]
|
||||
created: 2026-05-13
|
||||
---
|
||||
|
||||
## Goal
|
||||
Three structural ESLint rules for frontend component files: every
|
||||
component has a sibling Storybook story, a sibling test, and respects
|
||||
atomic-design tier direction (atoms can't import from organisms, etc.).
|
||||
|
||||
## Why
|
||||
The frontend-work-shape guide describes these conventions; without
|
||||
rules, they're advisory only. Ship them now so they activate the moment
|
||||
core-ui or feature UI components land — preventing drift from day one.
|
||||
|
||||
## Stories
|
||||
- [ ] [01 — Frontend ESLint rules](01-frontend-rules/_story.md)
|
||||
Reference in New Issue
Block a user