component-design
When to use
Use when splitting UI into reusable React components inside an FSD slice.
Purpose
Keep components owned by the correct layer and avoid cross-feature dumping.
Input
- UX flow states and interactions
- Architecture Decision Record
- Existing shared UI primitives (if any)
Process
- Place business UI in the owning feature/entity slice.
- Extract truly shared primitives to
shared/uionly when reused. - Expose public API through the slice index/public file.
- Prefer composition over global utility helpers for business logic.
- Keep TypeScript props explicit and stable.
Output
- Component ownership map
- Public API notes
- Reuse decisions
Verification
- Components live under ADR locations.
- No business feature dumped into
src/components. - Shared extraction is justified by reuse, not convenience.
Restrictions
- React + TypeScript + FSD only.
- Do not create global component warehouses for business features.
- Do not bypass architecture decision for "faster demo".