// Generate comprehensive component guideline documentation for SEED Design System. Use when creating or updating design guideline documentation in ./docs/content/docs/components directory. This skill helps create high-quality documentation similar to action-button.mdx.
| name | component-guidelines-docs |
| description | Generate comprehensive component guideline documentation for SEED Design System. Use when creating or updating design guideline documentation in ./docs/content/docs/components directory. This skill helps create high-quality documentation similar to action-button.mdx. |
| allowed-tools | Read, Write, Glob, Grep, Bash |
์ด ์คํฌ์ SEED Design System์ ์ปดํฌ๋ํธ ๊ฐ์ด๋๋ผ์ธ ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค. Action Button๊ณผ ๊ฐ์ ๊ณ ํ์ง ๋์์ธ ๊ฐ์ด๋๋ผ์ธ ๋ฌธ์๋ฅผ ์์ฑํ ์ ์๋๋ก ๋์ต๋๋ค.
์ฌ์ฉ์์๊ฒ ๋ค์ ์ ๋ณด๋ฅผ ์์ฒญํฉ๋๋ค:
ํ์ ์ ๋ณด:
action-button, checkbox, badge
/packages/rootage/components/{component-id}.yaml ํ์ผ์ด ์กด์ฌํด์ผ ํฉ๋๋ค์ ํ ์ ๋ณด:
Documentation Type: simple ๋๋ comprehensive
simple: ๊ธฐ๋ณธ์ ์ธ Props์ Spec๋ง ํฌํจ (์: checkbox, badge)comprehensive: Anatomy, Guidelines, Comparison ๋ฑ ์ ์ฒด ์น์
ํฌํจ (์: action-button)Custom Sections (comprehensive์ธ ๊ฒฝ์ฐ):
/packages/rootage/components/{component-id}.yaml ํ์ผ์ ์ฝ์ด์ ๋ค์ ์ ๋ณด๋ฅผ ์ถ์ถํฉ๋๋ค:
YAML ๊ตฌ์กฐ ์ดํด:
kind: ComponentSpec
metadata:
id: action-button
name: Action Button
data:
schema:
slots: # ์ปดํฌ๋ํธ์ ๊ตฌ์ฑ ์์
root:
properties:
backgroundColor: { type: color }
borderRadius: { type: dimension }
label:
properties:
color: { type: color }
fontSize: { type: dimension }
definitions:
base: # ๊ธฐ๋ณธ ์ํ๋ณ ์คํ์ผ
enabled: { ... }
pressed: { ... }
disabled: { ... }
variant=brandSolid: # variant๋ณ ์คํ์ผ
enabled: { ... }
size=medium: # size๋ณ ์คํ์ผ
enabled: { ... }
variant=brandSolid, size=medium: # ๋ณตํฉ ์กฐ๊ฑด
enabled: { ... }
์ถ์ถํ ์ ๋ณด:
metadata.name (์: "Action Button")metadata.id (์: "action-button")definitions์์ variant= ๋ก ์์ํ๋ ํค ์ถ์ถdefinitions์์ size= ๋ก ์์ํ๋ ํค ์ถ์ถdefinitions.base์ ํค๋ค (enabled, pressed, disabled, loading ๋ฑ)schema.slots์ ํค๋ค (root, label, icon, prefixIcon, suffixIcon ๋ฑ)YAML์์ ์ถ์ถํ ์ ๋ณด๋ก Props ํ ์ด๋ธ์ ์์ฑํฉ๋๋ค:
## Props
| ์์ฑ | ๊ฐ | ๊ธฐ๋ณธ๊ฐ |
| ----------- | -------------------------------------------------------------------------------------- | --------- |
| size | {extracted sizes} | {default} |
| variant | {extracted variants} | |
| layout | {inferred or provided} | {default} |
| disabled | true, false | false |
| loading | true, false | false |
| prefix icon | icon | |
| suffix icon | icon | |
์ฐธ๊ณ ์์ (Action Button):
| ์์ฑ | ๊ฐ | ๊ธฐ๋ณธ๊ฐ |
| ----------- | -------------------------------------------------------------------------------------- | --------- |
| size | xsmall, small, medium, large | medium |
| variant | brand solid, neutral solid, neutral weak, critical solid, brand outline, neutral outline | |
| layout | with text, icon only | with text |
| disabled | true, false | false |
| loading | true, false | false |
| prefix icon | icon | |
| suffix icon | icon | |
---
title: {Component Name}
description: {ํ๊ตญ์ด ์ค๋ช
- ์ปดํฌ๋ํธ์ ์ญํ ๊ณผ ๋ชฉ์ ์ 1-2๋ฌธ์ฅ์ผ๋ก}
---
<PlatformStatusTable componentId="{component-id}" />
## ๊ฐ์
{์ปดํฌ๋ํธ์ ๋ํ ๊ฐ๋จํ ์๊ฐ}
### ์ต์
ํ
์ด๋ธ
{Props ํ
์ด๋ธ}
## ์คํ
<ComponentSpecBlock id="{component-id}" />
---
title: {Component Name}
description: {ํ๊ตญ์ด ์ค๋ช
- ์ปดํฌ๋ํธ์ ์ญํ ๊ณผ ๋ชฉ์ ์ 1-2๋ฌธ์ฅ์ผ๋ก}
---
<PlatformStatusTable componentId="{component-id}" />
## Anatomy

{์ปดํฌ๋ํธ์ ๊ตฌ์กฐ์ ๊ตฌ์ฑ ์์ ์ค๋ช
}
## Props
{Props ํ
์ด๋ธ}
### Size

- {Size์ ๋ํ ์์ธ ์ค๋ช
}
- {๊ฐ ์ฌ์ด์ฆ์ ์ฉ๋์ ์ฌ์ฉ ์๋๋ฆฌ์ค}
### Variant

- {Variant์ ๋ํ ์์ธ ์ค๋ช
}
- {๊ฐ variant์ ํน์ง๊ณผ ์ฌ์ฉ ๋งฅ๋ฝ}
### Layout

- {Layout ์ต์
์ ๋ํ ์ค๋ช
}
- {๊ฐ ๋ ์ด์์์ ํ์ฉ ๋ฐฉ๋ฒ}
### State

- {์ํ๋ณ ๋์ ์ค๋ช
}
### Width

- {๋๋น ์ค์ ์ต์
์ค๋ช
}
## Guidelines
### {Guideline Topic 1}

{๊ฐ์ด๋๋ผ์ธ ๋ด์ฉ - ํ, ๋ฆฌ์คํธ, ์ด๋ฏธ์ง ๋ฑ์ ํ์ฉ}
#### {Sub-topic}

{์ธ๋ถ ๊ฐ์ด๋๋ผ์ธ}
<Grid>
<DoImage src="/docs/components/{component-id}/guidelines-{topic}-do-usage-1.webp" alt="{์ฌ๋ฐ๋ฅธ ์ฌ์ฉ ์ค๋ช
}" />
<DontImage src="/docs/components/{component-id}/guidelines-{topic}-dont-usage-1.webp" alt="{์๋ชป๋ ์ฌ์ฉ ์ค๋ช
}" />
</Grid>
### {Guideline Topic 2}
{๋ฐ๋ณต...}
## Comparison (์ ํ)
### {Component A} vs {Component B}

{๋ ์ปดํฌ๋ํธ์ ์ฐจ์ด์ ๊ณผ ์ฌ์ฉ ์๋๋ฆฌ์ค}
| | {Component A} | {Component B} |
| ---------- | ----------------------------- | ----------------------------- |
| ๋ชฉ์ | {purpose A} | {purpose B} |
| ์์ | {examples A} | {examples B} |
| ํํ | {expression A} | {expression B} |
## Differences from V2 (์ ํ)

- {V2์์ ์ฐจ์ด์ ๋์ด}
- {๋ง์ด๊ทธ๋ ์ด์
๊ฐ์ด๋}
## Spec
<ComponentSpecBlock id="{component-id}" />
๋ชจ๋ ์ด๋ฏธ์ง๋ ๋ค์ ๊ฒฝ๋ก ํจํด์ ๋ฐ๋ฆ ๋๋ค:
/docs/public/docs/components/{component-id}/{section-name}.webp
์ด๋ฏธ์ง ๋ช ๋ช ๊ท์น:
anatomy.webp: ์ปดํฌ๋ํธ ๊ตฌ์กฐ๋props-{property}.webp: Props ์ค๋ช
์ด๋ฏธ์ง
props-size.webp, props-variant.webp, props-layout.webp, props-state.webpguidelines-{topic}-{number}.webp: ๊ฐ์ด๋๋ผ์ธ ์ด๋ฏธ์ง
guidelines-hierarchy-1.webp, guidelines-variant-usage-1.webpguidelines-{topic}-{do|dont}-usage-{number}.webp: Do/Don't ์์
guidelines-with-icon-do-usage-1.webp, guidelines-with-icon-dont-usage-1.webpcomparison-{component1}-vs-{component2}-{number}.webp: ๋น๊ต ์ด๋ฏธ์ง
comparison-action-button-vs-chip-1.webpdifferences-with-v2-{number}.webp: V2 ์ฐจ์ด์ ์ด๋ฏธ์ง์ด๋ฏธ์ง ์ค๋น ๋ฐ ๋ณํ:
/docs/public/docs/components/{component-id}/ ํด๋์ ์ค๋นbun scripts/convert-images-to-webp.ts --path "docs/public/docs/components/{component-id}/**/*.png" --delete-original
Tone & Voice:
Description (Frontmatter):
Props ์ค๋ช :
Guidelines ์์ฑ:
ํ ์ด๋ธ ์์ฑ:
๋ฌธ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํน์ ์ปดํฌ๋ํธ๋ค:
<PlatformStatusTable componentId="{id}" />
<ComponentSpecBlock id="{id}" />
<DoImage src="..." alt="..." />
<DontImage src="..." alt="..." />
<Grid>
<Grid>
<DoImage src="/path/to/do.webp" alt="์ฌ๋ฐ๋ฅธ ์ฌ์ฉ๋ฒ" />
<DontImage src="/path/to/dont.webp" alt="์๋ชป๋ ์ฌ์ฉ๋ฒ" />
</Grid>
Action Button ๋ฌธ์ (/docs/content/docs/components/action-button.mdx):
๋ค๋ฅธ ์ปดํฌ๋ํธ ๋ฌธ์๋ค:
/docs/content/docs/components/checkbox.mdx, /docs/content/docs/components/badge.mdx/docs/content/docs/components/action-button.mdx๋ฌธ์ ์์ฑ ํ ๋ค์ ์ฌํญ์ ํ์ธํฉ๋๋ค:
<PlatformStatusTable>๊ณผ <ComponentSpecBlock>์ componentId/id๊ฐ ์ฌ๋ฐ๋ฅธ๊ฐ?<Grid> ์ปดํฌ๋ํธ๋ก ์ ์ ํ ๊ตฌ์ฑ๋์๋๊ฐ?์ฌ์ฉ์ ์ ๋ ฅ:
Component ID: checkbox
Documentation Type: simple
์์ฑ ๊ฒฐ๊ณผ:
---
title: Checkbox
description: ์ฌ์ฉ์๊ฐ ํ๋ ์ด์์ ์ต์
์ ์ ํํ ์ ์๋๋ก ํ๋ ์ปดํฌ๋ํธ์
๋๋ค.
---
<PlatformStatusTable componentId="checkbox" />
## ๊ฐ์
Checkbox๋ ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์ต์
์ค ํ๋ ์ด์์ ์ ํํ ์ ์๊ฒ ํฉ๋๋ค.
### ์ต์
ํ
์ด๋ธ
| ์์ฑ | ๊ฐ | ๊ธฐ๋ณธ๊ฐ |
| ----------- | ---------------------------- | --------- |
| size | small, medium, large | medium |
| disabled | true, false | false |
| checked | true, false | false |
## ์คํ
<ComponentSpecBlock id="checkbox" />
์ฌ์ฉ์ ์ ๋ ฅ:
Component ID: action-button
Documentation Type: comprehensive
Custom Sections:
- Anatomy: yes
- Guidelines Topics: ["Hierarchy", "Variant Usage", "Brand Color Usage", "Multiple Buttons", "Long Label", "With Icon"]
- Comparison: "Action Button vs Chip"
- V2 Differences: yes
์์ฑ ๊ฒฐ๊ณผ: /docs/content/docs/components/action-button.mdx ํ์ผ ์ฐธ์กฐ
์ด ์คํฌ์ ๋ค์ ๋๊ตฌ๋ค์ ์ฌ์ฉํฉ๋๋ค:
YAML ํ์ผ์ด ์๋ ๊ฒฝ์ฐ:
์ด๋ฏธ์ง ์ค๋น ์๋ด:
๊ธฐ์กด ๋ฌธ์ ์ ๋ฐ์ดํธ:
Guideline ์์ฑ ๋์: