---
id: 01-frontend-rules
epic: frontend-conformance-v1
title: Three structural frontend conformance ESLint rules
type: technical-story
status: done
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
- [x] Epic + story scaffold
- [x] `component-must-have-story` rule + tests
- [x] `component-must-have-test` rule + tests
- [x] `atomic-tier-import-direction` rule + tests
- [x] Plugin update + base.js wiring
- [x] Final verification + closeout
