Architecting Components

Defines rules for Atomic Design and separating logic from UI. Use when creating new components in the src directory.

diegosouzapw Updated 54 repo stars

File contents

Component Design Architecture

When to use this skill

  • Structuring the components/ directory.
  • Deciding where to place logic (Server vs Client).

Folder Structure

  • components/ui/: Base shadcn/custom elements (Buttons, Inputs).
  • components/shared/: Reusable across multiple pages (Navbar, Footer).
  • components/features/: Complex logic-heavy components (TourCard, BookingForm).

Design Rules

  • Dumb UI: Pure presentational components with props.
  • Smart Logic: Components or Server Pages that fetch data or handle state.
  • Colocation: Keep test files and local styles near the component.

Instructions

  • RSC First: Use Server Components for data fetching. Use 'use client' only when Interactivity (hooks, event listeners) is needed.

diegosouzapw/awesome-omni-skill/tree/main/skills/frontend/architecting-components commit 5c615514e7

Frequently asked questions

npx skillmds@latest add diegosouzapw/architecting-components