| name | create-component |
| description | End-to-end SEED component implementation guide for React Web, Lynx, and cross-platform component work. Starts by deciding the target platform, then clarifies requirements, makes architecture decisions, follows the platform/category-specific pattern, and runs verification. Use this whenever the user is adding a new component, changing behavior across component layers, extending a snippet, or touching component docs โ even if they don't explicitly say "create component". Always invoke before touching rootage YAML, qvism or lynx-qvism recipes, react/lynx-react/lynx-react-headless packages, docs registry snippets, or component docs. Covers all 5 component categories and refuses to skip platform gating or requirements brainstorming. |
Create Component
์ด ๋ฌธ์๋ ๋ผ์ฐํฐ๋ค. ์ปดํฌ๋ํธ ์์
์ ํ๋ฆ๊ณผ ๊ฒ์ดํธ๋ง ์ ์ํ๊ณ , ์ค์ ๋ด์ฉ์ ๊ฐ Phase์ reference ํ์ผ์ ์๋ค. ๊ฐ Phase์ ์ง์
ํ ๋ ํด๋น reference๋ฅผ ๊ทธ๋ ์ฝ๋๋ค. ๋ชจ๋ ๋ฏธ๋ฆฌ ์ฝ์ง ์๋๋ค.
ํต์ฌ ํ๋ฆ
Platform Gate โ Delivery Surface Gate โ Phase 0 Pre (Brainstorm) โ Phase 0 (Architecture) โ Phase 1 (Implementation) โ Phase 2 (Verification)
React/Lynx ๊ฒฐ์ package/snippet ํ๋จ ์ฌ์ฉ์ ํฉ์ ์ํคํ
์ฒ ๊ฒฐ์ ๋ ์ด์ด๋ณ ๊ตฌํ ์๋ยท์๋ ๊ฒ์ฆ
๊ฐ Phase ์ฌ์ด์ ๊ฒ์ดํธ๊ฐ ์๋ค. ๊ฒ์ดํธ ํต๊ณผ ์ ๊น์ง ๋ค์ Phase๋ก ๊ฐ์ง ์๋๋ค. ํ๋ฆ์ด ๊นจ์ง๋ฉด ๋น ์ง ์๊ตฌ์ฌํญยท์ด๊ธ๋ ์ํคํ
์ฒยท์ฐํ๋ ๊ฒ์ฆ์ด ๋์ ๋์ด ๋ค๋ฅธ ์ปดํฌ๋ํธ๊น์ง ํ๋ ๋ค.
๋งํ ์ฒ๋ฆฌ (๋ชจ๋ Phase ๊ณตํต)
์์
์ค ๋งํ๋ฉด ์์ ์ฐํยทmockยทas anyยทํ
์คํธ ์๋ตยท"๋์ค์ ๊ณ ์น์" ๊ธ์ง. ํต์ฆ ๋ฉ๋ชจ ์์ฑ โ ์ฌ์ฉ์ ๋ณด๊ณ โ ๊ฒฐ์ ํ ์ฌ์๋.
์์ธ ๋ฃฐ๊ณผ ์ฐจ๋จ์ ๋ถ๋ฅํ: references/sticking-policy.md
Platform Gate: ๋์ ํ๋ซํผ ๊ฒฐ์
์ง์
์ ์ฆ์ ์ฝ๊ธฐ โ references/platform-gate.md
Phase 0 Pre ์ ์ target platform์ react / lynx / cross-platform ์ค ํ๋๋ก ํ์ ํ๋ค. ํ๋ซํผ์ด ์ ํด์ ธ์ผ Headless, Recipe, Styled UI, Snippet, Docs, Example, Verification ๊ฒฝ๋ก๊ฐ ๊ฒฐ์ ๋๋ค.
๐ ๊ฒ์ดํธ Platform โ 0Pre
- target platform ํ์
cross-platform์ด๋ฉด shared Rootage/API์ ํ๋ซํผ๋ณ ๊ตฌํ ๋ถ๋ฆฌ ์์น ํ์ธ
- ์
packages/lynx-react-headless/<component> ํจํค์ง๊ฐ ํ์ํ๋ฉด ์ฌ์ฉ์ ํ์ธ ์ ๊ตฌํ ๊ธ์ง
Delivery Surface Gate: ๊ณต๊ฐ ํ๋ฉด ๊ฒฐ์
์ง์
์ ์ฆ์ ์ฝ๊ธฐ โ references/api-design.md์ "Delivery Surface Gate"์ "Analog Parity Check"
Platform Gate ์งํ, ๊ตฌํ ์ ์ ์ด ์ปดํฌ๋ํธ๋ฅผ package export, registry snippet, ๋ ๋ค, docs-only ์ค ์ด๋๋ก ์ ๊ณตํ ์ง ํ์ ํ๋ค. React ๋๋ฑ ์ปดํฌ๋ํธ๊ฐ ์๋ค๋ฉด variant/interface๋ฟ ์๋๋ผ docs Usage import, registry ์กด์ฌ ์ฌ๋ถ, package export, example surface๋ฅผ ํจ๊ป ๋น๊ตํ๋ค.
snippet์ wrapper๊ฐ ์ค์ง์ ์ธ ๊ฐ์น๋ฅผ ์ถ๊ฐํ ๋๋ง ๋ง๋ ๋ค. ๋จ์ผ package import๋ก ์ถฉ๋ถํ presentational primitive๋ฅผ "์ปดํฌ๋ํธ ์ ์ฒด ํ๋ก์ฐ"๋ผ๋ ์ด์ ๋ง์ผ๋ก registry snippet์ผ๋ก ๋ง๋ค์ง ์๋๋ค.
๐ ๊ฒ์ดํธ Delivery Surface โ 0Pre
- ๊ณต๊ฐ ํ๋ฉด ํ์ : package-only / snippet-only / package+snippet / docs-only
- ๋๋ฑ React/Lynx ์ปดํฌ๋ํธ์ docs Usage, registry, package export, example surface ํ์ธ
- snippet์ด ํ์ํ๋ฉด wrapper value๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช
- snippet์ด ํ์ ์์ผ๋ฉด registry/vendored example ์์
์ ๋ช
์์ ์ผ๋ก ์ ์ธ
Phase 0 Pre: ์๊ตฌ์ฌํญ Brainstorming
์ง์
์ ์ฆ์ ์ฝ๊ธฐ โ references/brainstorming.md
Platform Gate ๊ฒฐ๊ณผ๋ฅผ ์ ์ ๋ก ์ฌ์ฉ์์ 5๊ฐ ์์ญ(Purpose / ๊ธฐ์กด๊ณผ์ ๊ด๊ณ / ์ฃ์ง์ผ์ด์ค / ํ ํฐ ์์กด์ฑ / ์ธ๋ถ ๋ ํผ๋ฐ์ค ์ฐ์ ์์)์ 1:1 ๋ํ๋ก ํฉ์ํ๋ค. ์ง๋ฌธ์ ํ ๋ฒ์ ํ๋์ฉ, ๊ฐ๊ด์ ์ฐ์ . ์ถ์ธกํด์ ์ฑ์ฐ์ง ์๋๋ค.
์ฐ์ถ๋ฌผ: ํฉ์ ์์ฝ (๋ฉ๋ชจ ๋๋ PR description ์ด์).
๐ ๊ฒ์ดํธ 0Pre โ 0
์ฌ์ฉ์๊ฐ ํฉ์ ์์ฝ์ ๋ณด๊ณ **"์ด๋๋ก ์งํ"**์ด๋ผ๊ณ ๋ช
์์ ์ผ๋ก ์ปจํํด์ผ Phase 0 ์ง์
.
Phase 0: ์ํคํ
์ฒ ๋ถ์
์ง์
์ ์ฝ๊ธฐ โ references/architecture-decisions.md
Phase 0 Pre์ ํฉ์๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ ์ปดํฌ๋ํธ ์นดํ
๊ณ ๋ฆฌ(A~E), Headless ๋ ์ด์ด ์ฌ๋ถ, ์์กด์ฑ ์์ ์ฑ, ์ธ๋ถ ๋ ํผ๋ฐ์ค + ์ ๊ทผ์ฑ, ํจํด ์ฐธ์กฐ ์ปดํฌ๋ํธ๋ฅผ ๊ฒฐ์ ํ๋ค.
์กฐ๊ฑด๋ถ ์ถ๊ฐ reference:
- ์นดํ
๊ณ ๋ฆฌ ํ์ ํ โ
references/pattern-catalog.md (์นดํ
๊ณ ๋ฆฌ๋ณ ๋ ํผ๋ฐ์ค + ์ ํธ๋ฆฌํฐ ๋งต)
- ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์กฐ์ฌ / ์ฐจ์ฉ ๊ฒฐ์ ์ โ
references/external-references.md (๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ์ ์์ + ์ฐจ์ฉ ๊ฒฐ์ ํธ๋ฆฌ + ARIA/WCAG)
- target platform์ด
lynx ๋๋ cross-platform์ด๋ฉด โ references/lynx-patterns.md (Lynx runtime ์ ์ฝ + headless/styled ์ฑ
์ ๋ถ๋ฆฌ)
๐ ๊ฒ์ดํธ 0 โ 1
- architecture-decisions.md ์ฒดํฌ๋ฆฌ์คํธ ๋ชจ๋ ํญ๋ชฉ ์๋ฃ
- ์์กด์ฑ BLOCKING์ด๋ฉด ๊ตฌํ ์์ ๊ธ์ง (sticking-policy๋ก)
- ์ฌ์ฉ์์๊ฒ "Phase 0 ๊ฒฐ๊ณผ ์์ฝ" ๋ณด๊ณ ํ๊ณ ์ปจํ
Phase 1: ๊ตฌํ
์ง์
์ ์ฝ๊ธฐ โ references/implementation-steps.md (์ ์ฒด ๊ตฌํ ์ ์ฐจ)
๋ณด์กฐ โ references/guide.md (์ ์ฒด ํ๋ฆ ๊ฐ์, quick reference)
๊ฐ ๋จ๊ณ ์ง์
์ ์์ ๋์ ํด๋์ AGENTS.md๋ฅผ ๋จผ์ ์ฝ๊ณ , ํจํด ์ฐธ์กฐ ์ปดํฌ๋ํธ์ ํด๋น ํ์ผ์ ๋จผ์ ์ฝ์ ๋ค ๊ตฌํํ๋ค.
๋จ๊ณ๋ณ reference (ํด๋น ๋จ๊ณ ์ง์
์์๋ง ์ฝ๊ธฐ):
| ๋จ๊ณ | ์ฝ์ reference |
|---|
| Recipe ์์ฑ | React๋ references/recipe-patterns.md, Lynx๋ references/lynx-patterns.md + packages/lynx-qvism-preset/AGENTS.md |
| Styled UI ์์ฑ | React๋ references/react-patterns.md, Lynx๋ references/lynx-patterns.md |
| Snippet ๋ ์ด์ด ์ค๊ณ | references/api-design.md |
| Headless ํ
/primitive ์ค๊ณ (์นดํ
๊ณ ๋ฆฌ C/D) | React๋ references/external-references.md, Lynx๋ references/lynx-patterns.md |
๐ ๊ฒ์ดํธ 1 โ 2
์๋ ๊ฒ์ฆ 4๊ฐ ๋ช
๋ น์ด ๋ชจ๋ ํต๊ณผํด์ผ Phase 2 ์ง์
:
bun generate:all
bun test:all
bun packages:build
bun docs:test
์ด๋ ํ๋๋ผ๋ ์คํจํ๋ฉด sticking-policy๋ก.
Phase 2: ๊ฒ์ฆ
์ง์
์ ์ฝ๊ธฐ โ references/verification-checklist.md + references/visual-testing.md
React ์์
์์ ํ์:
- Storybook 4์ข
ํ
๋ง/์ค์ผ์ผ (Light / Dark / FontScaling ExtraSmall / ExtraExtraExtraLarge)
examples/stackflow-spa์ ์ ์ฌ Activity ํ์ธ (์์ผ๋ฉด ์ ์ค ๊ฒํ )
- docs ์ฌ์ดํธ์ ์ปดํฌ๋ํธ ํ์ด์ง ๋ ๋๋ง
Lynx ์์
์์ ํ์:
examples/lynx-spa์ ์ ์ฌ page ๋๋ vendored snippet ํ์ธ
docs/content/lynx์ ๊ณต๊ฐ ํ๋ฉด ๋๊ธฐํ. docs/registry/lynx/ui์ vendored snippet์ Delivery Surface Gate์์ snippet ํ์๋ก ๊ฒฐ์ ๋ ๊ฒฝ์ฐ๋ง ํ์ธ
- Lynx package build/test ๋๋ root Lynx ๊ฒ์ฆ script ํ์ธ
๋ง์ง๋ง์ /changeset ์คํฌ๋ก changeset ์์ฑ.
๐ ๊ฒ์ดํธ 2 โ ์๋ฃ
- verification-checklist ๋ชจ๋ ํญ๋ชฉ ํต๊ณผ
- ์ฌ์ฉ์์๊ฒ visual screenshot ๋ณด๊ณ + ์ต์ข
์ปจํ
์ฐธ์กฐ ํ์ผ ์ธ๋ฑ์ค
| Phase | ํ์ผ | ์ธ์ ์ฝ๋๊ฐ |
|---|
| ๊ณตํต | references/sticking-policy.md | ๋งํ์ ๋ |
| Platform | references/platform-gate.md | ์ปดํฌ๋ํธ ์์
์์ ์ฆ์ |
| Delivery Surface | references/api-design.md | Platform Gate ์งํ ๊ณต๊ฐ ํ๋ฉด ๊ฒฐ์ ์ |
| 0 Pre | references/brainstorming.md | Phase 0 Pre ์ง์
์ฆ์ |
| 0 | references/architecture-decisions.md | Phase 0 ์ง์
์ฆ์ |
| 0 | references/pattern-catalog.md | ์นดํ
๊ณ ๋ฆฌ ํ์ ํ |
| 0 | references/external-references.md | ์ธ๋ถ ์กฐ์ฌ / ์ฐจ์ฉ ๊ฒฐ์ ์ (Phase 1์ Headless ํ
์ค๊ณ ์์๋) |
| 0/1 | references/lynx-patterns.md | target platform์ด lynx ๋๋ cross-platform์ผ ๋ |
| 1 | references/guide.md | Phase 1 ์ง์
์ ๋ณด์กฐ |
| 1 | references/implementation-steps.md | Phase 1 ์ง์
์ |
| 1 | references/recipe-patterns.md | Recipe ์์ฑ ๋จ๊ณ |
| 1 | references/react-patterns.md | React Styled UI ๋จ๊ณ |
| 1 | references/api-design.md | Snippet ๋ ์ด์ด ๋จ๊ณ |
| 2 | references/verification-checklist.md | Phase 2 ์ง์
์ |
| 2 | references/visual-testing.md | Phase 2 ์ง์
์ |
| ์ ์ง๋ณด์ | references/review-prompts.md | ์ด ์คํฌ ์์ฒด๋ฅผ ์์ ํ ๋ค ๋ฌธ์ ๋ฆฌ๋ทฐํ ๋ |
Correction Retro: ์ฌ์ฉ์ ์กฐ์ ํ ์๊ฐ ๊ฐ์
์ฌ์ฉ์๊ฐ "์ด๊ฑด ํ์ํ๊ฐ?", "์ ์ด๋ ๊ฒ ํ๋จํ๋?", "์ด ํจํด์ ์๋ ๊ฒ ๊ฐ๋ค"์ฒ๋ผ ์กฐ์ ์ ๋ฃ์ผ๋ฉด ๊ตฌํ๋ง ๊ณ ์น์ง ๋ง๊ณ ์งง์ retro๋ฅผ ์ํํ๋ค.
- ๋น ์ง ๋งฅ๋ฝ: repo/docs/analog ์ค ๋ฌด์์ ํ์ธํ์ง ์์ ํ๋จ์ด ํ๋ค๋ ธ๋๊ฐ?
- ์๋ชป ์ ์ฉํ ํจํด: ๊ธฐ์กด ์ฑ๊ณต ์ฌ๋ก๋ ์คํฌ ๊ท์น์ ์ด๋์ ๊ณผ์ ์ผ๋ฐํํ๋๊ฐ?
- ๋ค์ ํ๋จ ๊ท์น: ๊ฐ์ ์ํฉ์์ ๋จผ์ ํ์ธํ ์ ํธ์ ์ ์ธํ ์์
์ ๋ฌด์์ธ๊ฐ?
- ์คํฌ ์
๋ฐ์ดํธ ํ๋ณด: ์ด๋ reference์ durable rule๋ก ๋ฃ์์ง ์ ์ํ๋ค.
์ฌ์ฉ์๊ฐ ์คํฌ ๋ณด๊ฐ์ ์ํ๊ฑฐ๋ ๋ช
์์ ์ผ๋ก ๊ธฐ์ตํ๋ผ๊ณ ์์ฒญํ๋ฉด, ์ retro๋ฅผ ๋ฐํ์ผ๋ก SKILL.md ๋๋ ํด๋น reference๋ฅผ ํจ๊ป ์
๋ฐ์ดํธํ๋ค.