react-docs-generator

Generate React component documentation for SEED Design System. Use when creating new React component docs in ./docs/content/react/components or updating existing implementation documentation. Helps document component APIs, props, installation, and usage examples.

allowed_tools: Read, Write, Glob, Grep, Bash

$ Installieren

git clone https://github.com/daangn/seed-design /tmp/seed-design && cp -r /tmp/seed-design/.claude/skills/react-docs-generator ~/.claude/skills/seed-design

// tip: Run this command in your terminal to install the skill


name: react-docs-generator description: Generate React component documentation for SEED Design System. Use when creating new React component docs in ./docs/content/react/components or updating existing implementation documentation. Helps document component APIs, props, installation, and usage examples. allowed-tools: Read, Write, Glob, Grep, Bash

React Component Documentation Generator

Generate comprehensive React component documentation following SEED Design patterns.

Purpose

์ด ์Šคํ‚ฌ์€ SEED Design System์˜ React ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ API, Props, ์„ค์น˜ ๋ฐฉ๋ฒ•, ์‚ฌ์šฉ ์˜ˆ์‹œ ๋“ฑ์„ ํ‘œ์ค€ํ™”๋œ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

When to Use

๋‹ค์Œ ์ƒํ™ฉ์—์„œ ์ด ์Šคํ‚ฌ์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

  1. ์ƒˆ React ์ปดํฌ๋„ŒํŠธ ๋ฌธ์„œ ์ž‘์„ฑ: ์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ์˜ React ๊ตฌํ˜„ ๋ฌธ์„œ๋ฅผ ์ฒ˜์Œ ์ƒ์„ฑํ•  ๋•Œ
  2. ๊ธฐ์กด ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ: ์ปดํฌ๋„ŒํŠธ API ๋ณ€๊ฒฝ, ์ƒˆ๋กœ์šด Props ์ถ”๊ฐ€, ์˜ˆ์‹œ ์—…๋ฐ์ดํŠธ ์‹œ
  3. ์˜ˆ์‹œ ์ฝ”๋“œ ์ถ”๊ฐ€: ์ƒˆ๋กœ์šด ์‚ฌ์šฉ ํŒจํ„ด์ด๋‚˜ use case ์˜ˆ์‹œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ
  4. ์„ค์น˜ ๊ฐ€์ด๋“œ ์ž‘์„ฑ: CLI ์„ค์น˜ ๋˜๋Š” ์ˆ˜๋™ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ๋ฌธ์„œํ™”ํ•  ๋•Œ

ํŠธ๋ฆฌ๊ฑฐ ํ‚ค์›Œ๋“œ: "React ๋ฌธ์„œ", "component docs", "implementation docs", "API documentation", "usage examples"

Key Features

  • ComponentExample ํ†ตํ•ฉ: doc-gen:file ๊ตฌ๋ฌธ์œผ๋กœ ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์‹œ ์ž„๋ฒ ๋“œ
  • ์„ค์น˜ ๊ฐ€์ด๋“œ ์ž๋™ํ™”: CLI ๋ฐ ์ˆ˜๋™ ์„ค์น˜ ๋ฐฉ๋ฒ• ํ…œํ”Œ๋ฆฟ ์ œ๊ณต
  • Props ๋ฌธ์„œํ™”: TypeScript ํƒ€์ž…๊ณผ ํ•จ๊ป˜ Props ํ…Œ์ด๋ธ” ์ƒ์„ฑ
  • Usage ํŒจํ„ด: Import ๋ฌธ๋ถ€ํ„ฐ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ๊นŒ์ง€ ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ
  • MDX ์ปดํฌ๋„ŒํŠธ ํ™œ์šฉ: ์ž๋™์œผ๋กœ import๋˜๋Š” ํŠน์ˆ˜ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ

Documentation Structure

React ์ปดํฌ๋„ŒํŠธ ๋ฌธ์„œ๋Š” ๋‹ค์Œ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

---
title: {Component Name}
description: {ํ•œ๊ตญ์–ด ์„ค๋ช…}
---

## Example           # ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ ์˜ˆ์‹œ
## Installation      # CLI ๋˜๋Š” ์ˆ˜๋™ ์„ค์น˜ ๋ฐฉ๋ฒ• (Snippet ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ)
## Usage             # Import ๋ฐ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
## Props             # Props API ๋ฌธ์„œ (์„ ํƒ)
## Examples          # ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€
## Accessibility     # ์ ‘๊ทผ์„ฑ ๊ฐ€์ด๋“œ (์„ ํƒ)
## API Reference     # ์ƒ์„ธ API ๋ ˆํผ๋Ÿฐ์Šค (์„ ํƒ)

Workflow

Step 1: ์ปดํฌ๋„ŒํŠธ ์ •๋ณด ์ˆ˜์ง‘

์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค:

ํ•„์ˆ˜ ์ •๋ณด:

  • Component ID: ์˜ˆ) alert-dialog, badge, button
  • Component Name: ์˜ˆ) "Alert Dialog", "Badge", "Button"
  • Description: ํ•œ๊ตญ์–ด๋กœ ์ปดํฌ๋„ŒํŠธ ์„ค๋ช… (1-2๋ฌธ์žฅ)

์„ ํƒ ์ •๋ณด:

  • Has Snippet Layer: Snippet ๋ ˆ์ด์–ด ์กด์žฌ ์—ฌ๋ถ€ (์žˆ์œผ๋ฉด Installation ์„น์…˜ ํฌํ•จ)
  • Component Type:
    • Composite: ์—ฌ๋Ÿฌ sub-component๋กœ ๊ตฌ์„ฑ (์˜ˆ: Alert Dialog)
    • Simple: ๋‹จ์ผ ์ปดํฌ๋„ŒํŠธ (์˜ˆ: Badge)
  • Custom Sections: Props, Accessibility, API Reference ๋“ฑ ์ถ”๊ฐ€ ์„น์…˜

Step 2: Snippet ๋ ˆ์ด์–ด ํ™•์ธ

./docs/registry/ui/{component-id}.tsx ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค:

  • Snippet ์žˆ์Œ โ†’ Installation ์„น์…˜ ํฌํ•จ, Usage์—์„œ Snippet import ์‚ฌ์šฉ
  • Snippet ์—†์Œ โ†’ @seed-design/react์—์„œ ์ง์ ‘ import, Usage๋งŒ ์ž‘์„ฑ
# Snippet ๋ ˆ์ด์–ด ํ™•์ธ
ls docs/registry/ui/{component-id}.tsx

Step 3: ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ ํŒŒ์•…

Composite ์ปดํฌ๋„ŒํŠธ์ธ ๊ฒฝ์šฐ:

  • Snippet ํŒŒ์ผ ๋˜๋Š” @seed-design/react export๋ฅผ ํ™•์ธํ•˜์—ฌ sub-component ๋ชฉ๋ก ์ถ”์ถœ
  • ์˜ˆ) Alert Dialog: AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, etc.

Simple ์ปดํฌ๋„ŒํŠธ์ธ ๊ฒฝ์šฐ:

  • ๋‹จ์ผ ์ปดํฌ๋„ŒํŠธ๋งŒ ๋ฌธ์„œํ™”
  • ์˜ˆ) Badge: Badge๋งŒ

Step 4: ๋ฌธ์„œ ์ƒ์„ฑ

Example Section

<ComponentExample> ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€ํ‘œ ์˜ˆ์‹œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

## Example

<ComponentExample name="react/{component-id}/default">
  ```json doc-gen:file
  {
    "file": "examples/react/{component-id}/default.tsx",
    "codeblock": true
  }

์ฐธ๊ณ :

  • <ComponentExample> ์ปดํฌ๋„ŒํŠธ๋Š” mdx-components์—์„œ ์ž๋™ import๋จ
  • name ์†์„ฑ: react/{component-id}/{example-name} ํŒจํ„ด
  • doc-gen:file์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์ œ ํŒŒ์ผ ๋‚ด์šฉ์ด ์ฝ”๋“œ๋ธ”๋ก์œผ๋กœ ๋ Œ๋”๋ง๋จ

Installation Section (Snippet ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๋งŒ)

Snippet ๋ ˆ์ด์–ด๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ CLI ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค:

## Installation

๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

```package-install
npx @seed-design/cli@latest add ui:{component-id}

์ˆ˜๋™ ์„ค์น˜

CLI๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

Snippet ๋ ˆ์ด์–ด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ:

  • Installation ์„น์…˜ ์ƒ๋žต
  • Usage ์„น์…˜์—์„œ ๋ฐ”๋กœ @seed-design/react์—์„œ import ์•ˆ๋‚ด

Usage Section

์ปดํฌ๋„ŒํŠธ์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

Composite ์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ (Alert Dialog):

## Usage

Alert Dialog๋Š” ๋‹ค์Œ sub-component๋“ค๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

```tsx
import {
  AlertDialog,
  AlertDialogAction,
  AlertDialogCancel,
  AlertDialogContent,
  AlertDialogDescription,
  AlertDialogFooter,
  AlertDialogHeader,
  AlertDialogTitle,
  AlertDialogTrigger,
} from "@/components/ui/alert-dialog"  // Snippet์ด ์žˆ๋Š” ๊ฒฝ์šฐ
// ๋˜๋Š”
// } from "@seed-design/react"  // Snippet์ด ์—†๋Š” ๊ฒฝ์šฐ

๊ธฐ๋ณธ ์‚ฌ์šฉ ์˜ˆ์‹œ:

<AlertDialog>
  <AlertDialogTrigger>Open</AlertDialogTrigger>
  <AlertDialogContent>
    <AlertDialogHeader>
      <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
      <AlertDialogDescription>
        This action cannot be undone. This will permanently delete your account
        and remove your data from our servers.
      </AlertDialogDescription>
    </AlertDialogHeader>
    <AlertDialogFooter>
      <AlertDialogCancel>Cancel</AlertDialogCancel>
      <AlertDialogAction>Continue</AlertDialogAction>
    </AlertDialogFooter>
  </AlertDialogContent>
</AlertDialog>

### Simple ์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ (Badge):

```markdown
## Usage

Badge ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด importํ•ฉ๋‹ˆ๋‹ค:

```tsx
import { Badge } from "@seed-design/react";

๊ธฐ๋ณธ ์‚ฌ์šฉ ์˜ˆ์‹œ:

<Badge>Badge</Badge>

**Usage ์ž‘์„ฑ ๊ฐ€์ด๋“œ**:
1. **Import ๊ฒฝ๋กœ ๋ช…ํ™•ํžˆ**:
   - Snippet ์žˆ์Œ: `@/components/ui/{component-id}`
   - Snippet ์—†์Œ: `@seed-design/react`
2. **Sub-component ๋ชฉ๋ก**: Composite์ธ ๊ฒฝ์šฐ ๋ชจ๋“  sub-component ๋‚˜์—ด
3. **๊ธฐ๋ณธ ๊ตฌ์กฐ**: ์ปดํฌ๋„ŒํŠธ์˜ ์ „ํ˜•์ ์ธ ๊ณ„์ธต ๊ตฌ์กฐ ์˜ˆ์‹œ ์ œ๊ณต
4. **๊ฐ„๊ฒฐํ•จ**: Usage๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•๋งŒ, ์ƒ์„ธํ•œ ์˜ˆ์‹œ๋Š” Examples ์„น์…˜์—

## Examples Section

๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ํŒจํ„ด์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

```markdown
## Examples

### {Use Case 1}

<ComponentExample name="react/{component-id}/{example-name}">
  ```json doc-gen:file
  {
    "file": "examples/react/{component-id}/{example-name}.tsx",
    "codeblock": true
  }

{Use Case 2}

Examples ์ž‘์„ฑ ๊ฐ€์ด๋“œ:

  • ๊ฐ ์˜ˆ์‹œ๋Š” ๋ช…ํ™•ํ•œ use case๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•จ
  • ์˜ˆ์‹œ ์ด๋ฆ„์€ ์˜๋ฏธ ์žˆ๋Š” ์ผ€๋ฐฅ์ผ€์ด์Šค ์‚ฌ์šฉ (์˜ˆ: with-icon, loading-state, custom-variant)
  • ์‹ค์ œ examples/react/{component-id}/ ํด๋”์— ์˜ˆ์‹œ ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•จ
  • ๋ณต์žกํ•œ ํŒจํ„ด์ผ์ˆ˜๋ก ์ƒ์„ธํ•œ ์„ค๋ช… ์ถ”๊ฐ€

์ผ๋ฐ˜์ ์ธ Examples:

  • Default: ๊ธฐ๋ณธ ์‚ฌ์šฉ
  • With Icon: ์•„์ด์ฝ˜ ํฌํ•จ
  • Variants: ๋‹ค์–‘ํ•œ variant ์กฐํ•ฉ
  • Sizes: ๋‹ค์–‘ํ•œ size ์กฐํ•ฉ
  • States: disabled, loading ๋“ฑ ์ƒํƒœ ๋ณ€ํ™”
  • Custom Styling: ์ปค์Šคํ…€ ์Šคํƒ€์ผ ์ ์šฉ
  • Composition: ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ์™€ ์กฐํ•ฉ

Props Section (์„ ํƒ)

์ปดํฌ๋„ŒํŠธ์˜ Props API๋ฅผ ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค.

## Props

### {ComponentName}

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| variant | `'default' \| 'primary' \| 'secondary'` | `'default'` | ์ปดํฌ๋„ŒํŠธ์˜ ์‹œ๊ฐ์  ์Šคํƒ€์ผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. |
| size | `'small' \| 'medium' \| 'large'` | `'medium'` | ์ปดํฌ๋„ŒํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. |
| disabled | `boolean` | `false` | ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. |
| children | `React.ReactNode` | - | ์ปดํฌ๋„ŒํŠธ์˜ ์ž์‹ ์š”์†Œ์ž…๋‹ˆ๋‹ค. |

Props ์ž‘์„ฑ ๊ฐ€์ด๋“œ:

  • TypeScript ํƒ€์ž…์„ ์ •ํ™•ํžˆ ํ‘œ๊ธฐ (Union ํƒ€์ž…์€ ๋ฐฑํ‹ฑ ๋‚ด์—์„œ \| ์‚ฌ์šฉ)
  • Default ๊ฐ’์ด ์žˆ์œผ๋ฉด ๋ช…์‹œ, ์—†์œผ๋ฉด -
  • Description์€ ํ•œ๊ตญ์–ด๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ
  • Composite ์ปดํฌ๋„ŒํŠธ๋Š” ๊ฐ sub-component๋งˆ๋‹ค Props ํ…Œ์ด๋ธ” ์ž‘์„ฑ

File Paths

๋ฌธ์„œ ํŒŒ์ผ:

docs/content/react/components/{component-id}.mdx

์˜ˆ์‹œ ํŒŒ์ผ:

examples/react/{component-id}/default.tsx
examples/react/{component-id}/with-icon.tsx
examples/react/{component-id}/variants.tsx

Snippet ํŒŒ์ผ (์žˆ๋Š” ๊ฒฝ์šฐ):

docs/registry/ui/{component-id}.tsx

์ˆ˜๋™ ์„ค์น˜ ์˜ˆ์‹œ (Snippet์ด ์žˆ๋Š” ๊ฒฝ์šฐ):

examples/react/{component-id}/manual-installation.tsx

Special MDX Components

React ๋ฌธ์„œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŠน์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋“ค:

1. ComponentExample

์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค.

<ComponentExample name="react/component-id/example-name">
  ```json doc-gen:file
  {
    "file": "examples/react/component-id/example-name.tsx",
    "codeblock": true
  }
  • name: ์˜ˆ์‹œ์˜ ๊ณ ์œ  ID (react/{component-id}/{example-name})
  • doc-gen:file: ์‹ค์ œ ํŒŒ์ผ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์™€ ์ฝ”๋“œ๋ธ”๋ก์œผ๋กœ ๋ Œ๋”๋ง
  • codeblock: true: ์ฝ”๋“œ๋ธ”๋ก์œผ๋กœ ํ‘œ์‹œ

2. ManualInstallation

์ˆ˜๋™ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค.

<ManualInstallation name="component-id">
  ```json doc-gen:file
  {
    "file": "examples/react/component-id/manual-installation.tsx",
    "codeblock": true
  }
  • Snippet ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์‚ฌ์šฉ
  • CLI ๋Œ€์‹  ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณต

3. package-install

ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฝ”๋“œ๋ธ”๋ก์ž…๋‹ˆ๋‹ค.

```package-install
npx @seed-design/cli@latest add ui:component-id

- Snippet ๋ ˆ์ด์–ด ์„ค์น˜ ๋ช…๋ น์–ด์— ์‚ฌ์šฉ
- ์ž๋™์œผ๋กœ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ณ„ ๋ช…๋ น์–ด ๋ณ€ํ™˜ (npm, yarn, pnpm, bun)

## Checklist

๋ฌธ์„œ ์ƒ์„ฑ ํ›„ ๋‹ค์Œ ์‚ฌํ•ญ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค:

- [ ] Frontmatter์˜ title๊ณผ description์ด ์ •ํ™•ํ•œ๊ฐ€?
- [ ] Snippet ๋ ˆ์ด์–ด ์กด์žฌ ์—ฌ๋ถ€์— ๋”ฐ๋ผ Installation/Usage ์„น์…˜์ด ์˜ฌ๋ฐ”๋ฅธ๊ฐ€?
- [ ] Import ๊ฒฝ๋กœ๊ฐ€ ์ •ํ™•ํ•œ๊ฐ€? (`@/components/ui/*` vs `@seed-design/react`)
- [ ] ComponentExample์˜ name ์†์„ฑ์ด `react/{component-id}/{example-name}` ํŒจํ„ด์ธ๊ฐ€?
- [ ] ๋ชจ๋“  ์˜ˆ์‹œ ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ์‹ค์ œ ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•˜๋Š”๊ฐ€?
- [ ] Composite ์ปดํฌ๋„ŒํŠธ์˜ ๋ชจ๋“  sub-component๊ฐ€ ๋ฌธ์„œํ™”๋˜์—ˆ๋Š”๊ฐ€?
- [ ] Props ํ…Œ์ด๋ธ”์˜ ํƒ€์ž…์ด ์ •ํ™•ํ•˜๊ฒŒ ํ‘œ๊ธฐ๋˜์—ˆ๋Š”๊ฐ€?
- [ ] ํ•œ๊ตญ์–ด ์„ค๋ช…์ด ๋ช…ํ™•ํ•˜๊ณ  ์ผ๊ด€๋œ๊ฐ€?

## Reference Files

**์ฐธ์กฐํ•  ๊ธฐ์กด ๋ฌธ์„œ**:
- Composite ์˜ˆ์‹œ: `/docs/content/react/components/alert-dialog.mdx`
- Simple ์˜ˆ์‹œ: `/docs/content/react/components/badge.mdx`
- Snippet ๋ ˆ์ด์–ด: `/docs/registry/ui/*.tsx`
- ์˜ˆ์‹œ ์ฝ”๋“œ: `/examples/react/*/*.tsx`

## Tips

1. **Snippet vs Direct Import**:
   - Snippet์ด ์žˆ์œผ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅ
   - Snippet์ด ์—†์œผ๋ฉด `@seed-design/react`์—์„œ ์ง์ ‘ ์‚ฌ์šฉ
   - Installation ์„น์…˜์€ Snippet์ด ์žˆ์„ ๋•Œ๋งŒ ์ž‘์„ฑ

2. **Example ํŒŒ์ผ ์ž‘์„ฑ**:
   - ์˜ˆ์‹œ ํŒŒ์ผ์€ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” ์ฝ”๋“œ์—ฌ์•ผ ํ•จ
   - TypeScript๋กœ ์ž‘์„ฑํ•˜๊ณ  ํƒ€์ž… ์•ˆ์ •์„ฑ ํ™•๋ณด
   - ํ•„์š”ํ•œ import๋ฅผ ๋ชจ๋‘ ํฌํ•จ

3. **MDX ์ปดํฌ๋„ŒํŠธ ํ™œ์šฉ**:
   - `<ComponentExample>`, `<ManualInstallation>`์€ ์ž๋™ import๋จ
   - Import ๋ฌธ ๋ถˆํ•„์š”

4. **ํ•œ๊ตญ์–ด ์ž‘์„ฑ**:
   - Description, Props ์„ค๋ช…์€ ํ•œ๊ตญ์–ด๋กœ
   - ์ฝ”๋“œ ์˜ˆ์‹œ์™€ ๊ธฐ์ˆ  ์šฉ์–ด๋Š” ์˜์–ด ์œ ์ง€

5. **๋ฌธ์„œ ์—…๋ฐ์ดํŠธ**:
   - ๊ธฐ์กด ๋ฌธ์„œ๋ฅผ ๋จผ์ € ์ฝ์–ด์„œ ๋‚ด์šฉ ๋ณด์กด
   - ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์ˆ˜์ •
   - ์˜ˆ์‹œ ์ถ”๊ฐ€ ์‹œ Examples ์„น์…˜๋งŒ ์—…๋ฐ์ดํŠธ