Code Style and Structure:

-   Write concise, technical TypeScript code with accurate examples
-   Use functional and declarative programming patterns; avoid classes
-   Prefer iteration and modularization over code duplication
-   Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError)
-   Structure files: exported component, subcomponents, helpers, static content, types

Naming Conventions:

-   Use lowercase with dashes for directories (e.g., components/auth-wizard)
-   Favor named exports for components

TypeScript Usage:

-   Use TypeScript for all code; prefer interfaces over types
-   Avoid enums; use maps instead
-   Use functional components with TypeScript interfaces

Syntax and Formatting:

-   Use the "function" keyword for pure functions
-   Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements
-   Use declarative JSX

UI and Styling:

-   Use Shadcn UI, Radix, and Tailwind Aria for components and styling
-   Implement responsive design with Tailwind CSS; use a mobile-first approach
