02-reusable-design β λμμΈ μμ° λΌμ΄λΈλ¬λ¦¬
μΉμ¬μ΄νΈ/νλ‘μ νΈμμ μΆμΆν μ¬μ¬μ© κ°λ₯ν λμμΈ μμ°μ κ΄λ¦¬νλ€.
κ°μ
νλ‘μ νΈμ "ν
λ§"λ₯Ό ꡬμ±νλ μκ°μ μ¬λ£ β μμ, ν°νΈ, κ°κ²©, μ λλ©μ΄μ
μ μ, μμ΄μ½, Tailwind μ€μ λ±μ κ΄λ¦¬ν©λλ€. μ½λκ° μλ κ°κ³Ό μ€μ μ΄ ν΅μ¬μ΄λ©°, 02-reusable-code/μ 02-reusable-page/κ° μ΄ μ¬λ£λ₯Ό μλΉν©λλ€.
3κ³μΈ΅ λͺ¨λΈμμμ μμΉ
02-reusable-design β "μ¬λ£" β
(μμ, ν°νΈ, μ λλ©μ΄μ
μ μ)
β μ°Έμ‘°
02-reusable-code β "λΆν" (Button, hooks, utils)
β μ‘°ν©
02-reusable-page β "μμ±ν" (Footer, Header, Hero)
| κ³μΈ΅ | νλ¨ κΈ°μ€ | μμ |
|---|---|---|
| design | κ°/μ€μ μΈκ°? | --color-primary: #6366f1, @keyframes fadeIn |
| code | λμνλ μ½λμΈκ°? | useDebounce(), <Button>, formatDate() |
| page | νλ©΄μ ν μμμΈκ°? | <Footer>, <HeroSection>, <Sidebar> |
designμ λ£λ κ²
- CSS λ³μ μ μΈ (
:root { --color-... }) - ν€νλ μ μ μ (
@keyframes) - Tailwind theme νμ₯ (
extend: { colors, spacing }) - SVG μμ΄μ½ μλ³Έ νμΌ
- ν°νΈ μ€μ (
font-face)
designμ λ£μ§ μλ κ²
- React μ»΄ν¬λνΈ (TSX) β
02-reusable-codeλλ02-reusable-page - λμ λ‘μ§μ΄ μλ μ½λ (hooks, utils) β
02-reusable-code - νΉμ λ μ΄μμ ꡬ쑰λ₯Ό κ°μ§ μΉμ
β
02-reusable-page
ν΄λ ꡬ쑰
02-reusable-design/
βββ tokens/ β λμμΈ ν ν°
β βββ color-palettes/ β μμ νλ νΈ λͺ¨μ
β βββ typography/ β ν°νΈ μμ€ν
(font-family, scale, weight)
β βββ spacing-scale/ β κ°κ²©/μ¬μ΄μ§ 체κ³
βββ css-patterns/ β CSS ν¨ν΄
β βββ animations/ β ν€νλ μ, μ ν ν¨κ³Ό
β βββ layouts/ β 그리λ, νλ μ€ ν¨ν΄
β βββ utilities/ β μ νΈλ¦¬ν° CSS
βββ tailwind-configs/ β Tailwind μ€μ λͺ¨μ
β βββ themes/ β ν
λ§ ν리μ
β βββ plugins/ β 컀μ€ν
νλ¬κ·ΈμΈ
βββ assets/ β μμ
ν¨ν΄
βββ icon-sets/ β SVG μμ΄μ½ μΈνΈ
βββ patterns/ β λ°°κ²½ ν¨ν΄, μ₯μ μμ
νμΌ λ©νλ°μ΄ν°
λͺ¨λ νμΌμ μΆμ² μ 보λ₯Ό ν¬ν¨:
/**
* @source https://example.com λλ νλ‘μ νΈλͺ
* @extracted YYYY-MM-DD
* @category color-palette | typography | animation | layout | ...
* @description ν μ€ μ€λͺ
*/
μΆμΆ μ΄λ ₯
| λ μ§ | μΆμ² | μΆμΆ νλͺ© |
|---|---|---|
| - | - | (μμ§ μΆμΆ μ΄λ ₯ μμ) |
κ΄λ ¨ λ¬Έμ
- 02-reusable-code β μμμ UI μ»΄ν¬λνΈ λΌμ΄λΈλ¬λ¦¬ (λΆν κ³μΈ΅)
- 02-reusable-page β νμ΄μ§ μΉμ μ»΄ν¬λνΈ (μμ±ν κ³μΈ΅)
- μ½λ© 컨벀μ β μ¬μ¬μ© μ½λ ν΅μΌ κ·μΉ
/kdyextractMode B β μΉμ¬μ΄νΈμμ λμμΈ μμ° μΆμΆ/kdypickβ νλ‘μ νΈμ λμμΈ μμ° μ μ©