--- name: ui-handler description: Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages. tools: Read, Write, Edit, mcp_shadcn, mcp_21st_dev model: inherit --- # UI Handler ## Instructions ### 1. Installing Standard Components (Atoms) Use the **Shadcn MCP** for foundational UI elements (buttons, inputs, dialogs). 1. **Action**: Ask the Shadcn MCP to add the component. > "Add the button and dialog components using Shadcn MCP." 2. **Manual Fallback**: `pnpm dlx shadcn@latest add {component}` ### 2. Generating Complex Sections (Blocks) Use the **21st.dev Magic MCP** for high-level sections (Landing pages, Heros, Dashboards). 1. **Action**: Prompt the 21st.dev MCP with a description. > "Generate a modern SaaS hero section with a dark gradient background and email capture form." 2. **Location**: Place generated files in `src/components/sections/` or `src/components/website/`. 3. **Integration**: Import and use in your `page.tsx`. ### 3. Theming & Styling Use **Shadcn MCP** or edit `src/app/globals.css` directly. - **Theme Updates**: Ask Shadcn MCP to apply a specific theme or color palette. > "Update the app theme to use a 'zinc' neutral base with 'blue' primary color." - **CSS Variables**: We use CSS variables (often OKLCH) in `src/app/globals.css`. Ensure any new styles use these variables (e.g., `bg-background`, `text-primary`). ### 4. Creating Layouts 1. **Identify**: Header, Sidebar, Content Area. 2. **Compose**: Use atoms from `@/components/ui` and sections from `@/components/sections`. 3. **Co-location**: If a component is unique to a page, put it in `_components/` next to the page. ## Reference For detailed architecture and best practices, see [reference.md](reference.md).