---
name: heroui-components
description: Add or customize HeroUI components in the web application. Use when implementing new UI features with HeroUI design system or updating component styling.
allowed-tools: Read, Edit, Write, mcp__heroui-react__list_components, mcp__heroui-react__get_component_info, mcp__heroui-react__get_component_examples
---
# HeroUI Components Skill
This skill helps you work with HeroUI (Hero UI / NextUI v3) components in `apps/web/`.
## When to Use This Skill
- Adding new HeroUI components to pages
- Customizing HeroUI component variants
- Implementing forms with HeroUI inputs
- Creating modal dialogs and drawers
- Building navigation with HeroUI components
- Debugging HeroUI styling issues
## HeroUI Overview
HeroUI is a modern React UI library built on Tailwind CSS and React Aria, providing accessible components.
## Discovery and Research
### List Available Components
```typescript
// Use MCP tool to discover components
mcp__heroui-react__list_components()
```
### Get Component Information
```typescript
// Get details about a specific component
mcp__heroui-react__get_component_info({ component: "Button" })
mcp__heroui-react__get_component_info({ component: "Input" })
```
### Get Usage Examples
```typescript
// Get examples for a component
mcp__heroui-react__get_component_examples({ component: "Modal" })
```
## Installation and Setup
HeroUI is already installed in the web app. Import from `@heroui/react`:
```typescript
import { Button, Input, Card } from "@heroui/react";
```
## Common Components
### 1. Button Component
```typescript
import { Button } from "@heroui/react";
export function ActionButton() {
return (
<>
{/* Basic button */}
{/* Color variants */}
{/* Size variants */}
{/* Variants */}
{/* With icon */}
}>Search
}>Next
{/* Loading state */}
{/* Disabled */}
>
);
}
```
### 2. Input Component
```typescript
import { Input } from "@heroui/react";
export function SearchForm() {
return (
<>
{/* Basic input */}
{/* With validation */}
{/* With start/end content */}
$}
endContent={SGD}
/>
{/* Variants */}
{/* Colors */}
>
);
}
```
### 3. Card Component
```typescript
import { Card, CardHeader, CardBody, CardFooter, Button } from "@heroui/react";
export function CarCard({ car }: { car: Car }) {
return (