timelabs 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +30 -20
- package/package.json +1 -1
- package/skills/web-design/claude-code/SKILL.md +270 -0
- package/skills/web-design/claude-code/analyze/analyze-benchmark-rules.md +229 -0
- package/skills/web-design/claude-code/analyze/analyze-benchmark.md +302 -0
- package/skills/web-design/claude-code/analyze/analyze-mockup.md +572 -0
- package/skills/web-design/claude-code/collect/collect-app.md +258 -0
- package/skills/web-design/claude-code/collect/collect-desktop.md +231 -0
- package/skills/web-design/claude-code/collect/collect-hybrid.md +222 -0
- package/skills/web-design/claude-code/collect/collect-style.md +155 -0
- package/skills/web-design/claude-code/collect/collect-type.md +42 -0
- package/skills/web-design/claude-code/collect/collect-video.md +239 -0
- package/skills/web-design/claude-code/collect/collect-web.md +279 -0
- package/skills/web-design/claude-code/defs/ai-recommend/01-style-design-recommend.md +64 -0
- package/skills/web-design/claude-code/defs/ai-recommend.md +58 -0
- package/skills/web-design/claude-code/defs/app-layouts/02-utility.md +54 -0
- package/skills/web-design/claude-code/defs/app-layouts/03-social.md +71 -0
- package/skills/web-design/claude-code/defs/app-layouts/04-game.md +54 -0
- package/skills/web-design/claude-code/defs/app-layouts/05-fintech.md +62 -0
- package/skills/web-design/claude-code/defs/app-layouts/06-healthcare.md +66 -0
- package/skills/web-design/claude-code/defs/app-layouts/07-ecommerce.md +63 -0
- package/skills/web-design/claude-code/defs/app-layouts/08-education.md +88 -0
- package/skills/web-design/claude-code/defs/app-layouts/09-creative.md +86 -0
- package/skills/web-design/claude-code/defs/app-layouts.md +59 -0
- package/skills/web-design/claude-code/defs/app-motions/01-utility.md +51 -0
- package/skills/web-design/claude-code/defs/app-motions/02-social.md +55 -0
- package/skills/web-design/claude-code/defs/app-motions/03-game.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/04-fintech.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/05-healthcare.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/06-ecommerce.md +55 -0
- package/skills/web-design/claude-code/defs/app-motions/07-education.md +54 -0
- package/skills/web-design/claude-code/defs/app-motions/08-creative.md +53 -0
- package/skills/web-design/claude-code/defs/app-motions/10-intensity-preset-motion.md +12 -0
- package/skills/web-design/claude-code/defs/app-motions.md +64 -0
- package/skills/web-design/claude-code/defs/component-specs/01-set-component.md +24 -0
- package/skills/web-design/claude-code/defs/component-specs/02-features-flow.md +51 -0
- package/skills/web-design/claude-code/defs/component-specs/03-system-visual.md +193 -0
- package/skills/web-design/claude-code/defs/component-specs/04-interaction-pattern-visual.md +61 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/admin.md +55 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/dashboard.md +60 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/erp.md +68 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/saas.md +65 -0
- package/skills/web-design/claude-code/defs/component-specs.md +24 -0
- package/skills/web-design/claude-code/defs/design-guide-sections.md +37 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/01-utility.md +69 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/02-data.md +71 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/03-creative.md +73 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/04-communication.md +71 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/05-game.md +73 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/06-business.md +74 -0
- package/skills/web-design/claude-code/defs/desktop-layouts.md +49 -0
- package/skills/web-design/claude-code/defs/desktop-motions/01-utility.md +56 -0
- package/skills/web-design/claude-code/defs/desktop-motions/02-data.md +60 -0
- package/skills/web-design/claude-code/defs/desktop-motions/03-creative.md +60 -0
- package/skills/web-design/claude-code/defs/desktop-motions/04-communication.md +57 -0
- package/skills/web-design/claude-code/defs/desktop-motions/05-game.md +55 -0
- package/skills/web-design/claude-code/defs/desktop-motions/06-business.md +52 -0
- package/skills/web-design/claude-code/defs/desktop-motions.md +75 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/01-web_mobile.md +81 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/02-web_desktop.md +78 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/03-mobile_desktop.md +79 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/04-all.md +81 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts.md +49 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/01-web_mobile.md +69 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/02-web_desktop.md +69 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/03-mobile_desktop.md +74 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/04-all.md +96 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/07-intensity-preset-motion.md +16 -0
- package/skills/web-design/claude-code/defs/hybrid-motions.md +65 -0
- package/skills/web-design/claude-code/defs/ia-patterns/01-management-dashboard.md +37 -0
- package/skills/web-design/claude-code/defs/ia-patterns/05-video.md +33 -0
- package/skills/web-design/claude-code/defs/ia-patterns/06-video_saas-saas.md +37 -0
- package/skills/web-design/claude-code/defs/ia-patterns.md +85 -0
- package/skills/web-design/claude-code/defs/icon-mappings/04-mapping-design-system.md +25 -0
- package/skills/web-design/claude-code/defs/icon-mappings.md +49 -0
- package/skills/web-design/claude-code/defs/icon-usage.md +56 -0
- package/skills/web-design/claude-code/defs/illustration-guide.md +44 -0
- package/skills/web-design/claude-code/defs/image-strategies/01-landing.md +76 -0
- package/skills/web-design/claude-code/defs/image-strategies/02-dashboard.md +51 -0
- package/skills/web-design/claude-code/defs/image-strategies/03-ecommerce.md +47 -0
- package/skills/web-design/claude-code/defs/image-strategies/04-blog.md +58 -0
- package/skills/web-design/claude-code/defs/image-strategies/05-saas.md +56 -0
- package/skills/web-design/claude-code/defs/image-strategies/06-portfolio.md +62 -0
- package/skills/web-design/claude-code/defs/image-strategies/08-strategy-common-image.md +57 -0
- package/skills/web-design/claude-code/defs/image-strategies.md +58 -0
- package/skills/web-design/claude-code/defs/seo-guide.md +79 -0
- package/skills/web-design/claude-code/defs/styles/02-style-list.md +421 -0
- package/skills/web-design/claude-code/defs/styles/03-custom-animation-keyframes.md +39 -0
- package/skills/web-design/claude-code/defs/styles.md +50 -0
- package/skills/web-design/claude-code/defs/tokens/01-token-format.md +75 -0
- package/skills/web-design/claude-code/defs/tokens/02-token-scope.md +251 -0
- package/skills/web-design/claude-code/defs/tokens.md +24 -0
- package/skills/web-design/claude-code/defs/video-compositions/01-composition-single.md +66 -0
- package/skills/web-design/claude-code/defs/video-compositions/02-composition-multi.md +66 -0
- package/skills/web-design/claude-code/defs/video-compositions/03-composition-parametric.md +81 -0
- package/skills/web-design/claude-code/defs/video-compositions.md +37 -0
- package/skills/web-design/claude-code/defs/video-motions/01-animation-basic.md +49 -0
- package/skills/web-design/claude-code/defs/video-motions/02-animation.md +52 -0
- package/skills/web-design/claude-code/defs/video-motions/03-reference.md +17 -0
- package/skills/web-design/claude-code/defs/video-motions/05-pattern-composition.md +61 -0
- package/skills/web-design/claude-code/defs/video-motions/06-transition-effects.md +49 -0
- package/skills/web-design/claude-code/defs/video-motions/07-audio-sync.md +29 -0
- package/skills/web-design/claude-code/defs/video-motions.md +55 -0
- package/skills/web-design/claude-code/defs/web-layouts/01-landing.md +101 -0
- package/skills/web-design/claude-code/defs/web-layouts/02-dashboard.md +85 -0
- package/skills/web-design/claude-code/defs/web-layouts/03-ecommerce.md +73 -0
- package/skills/web-design/claude-code/defs/web-layouts/04-blog.md +69 -0
- package/skills/web-design/claude-code/defs/web-layouts/05-saas.md +83 -0
- package/skills/web-design/claude-code/defs/web-layouts/06-portfolio.md +62 -0
- package/skills/web-design/claude-code/defs/web-layouts.md +38 -0
- package/skills/web-design/claude-code/defs/web-motions/01-landing.md +91 -0
- package/skills/web-design/claude-code/defs/web-motions/02-dashboard.md +55 -0
- package/skills/web-design/claude-code/defs/web-motions/03-ecommerce.md +52 -0
- package/skills/web-design/claude-code/defs/web-motions/04-blog.md +57 -0
- package/skills/web-design/claude-code/defs/web-motions/05-saas.md +49 -0
- package/skills/web-design/claude-code/defs/web-motions/06-portfolio.md +73 -0
- package/skills/web-design/claude-code/defs/web-motions/08-intensity-preset-motion.md +14 -0
- package/skills/web-design/claude-code/defs/web-motions.md +55 -0
- package/skills/web-design/claude-code/gen/gen-design-guide/01-project-overview.md +304 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction/01-interaction-motion.md +129 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction/04-project-video.md +69 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction.md +45 -0
- package/skills/web-design/claude-code/gen/gen-design-guide.md +43 -0
- package/skills/web-design/claude-code/gen/gen-tokens/01-generate-process.md +318 -0
- package/skills/web-design/claude-code/gen/gen-tokens/02-structure-output-file.md +31 -0
- package/skills/web-design/claude-code/gen/gen-tokens/03-connect-frontend.md +150 -0
- package/skills/web-design/claude-code/gen/gen-tokens.md +54 -0
- package/skills/web-design/claude-code/gen/gen-video.md +73 -0
- package/skills/web-design/claude-code/verify/verify-components.md +52 -0
- package/skills/web-design/claude-code/verify/verify-motions.md +74 -0
- package/skills/web-design/claude-code/verify/verify-pipeline.md +69 -0
- package/skills/web-design/claude-code/verify/verify-report.md +75 -0
- package/skills/web-design/claude-code/verify/verify-responsive.md +49 -0
- package/skills/web-design/claude-code/verify/verify-tokens.md +84 -0
- package/skills/test-skill/claude-code/SKILL.md +0 -7
- package/skills/test-skill/cursor/test-skill.md +0 -7
- package/skills/test-skill/openclaw/SKILL.md +0 -13
- package/skills/test-skill/skill.json +0 -6
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# 1. 프로젝트 개요 (Project Overview)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
| 항목 | 내용 |
|
|
5
|
+
|---|---|
|
|
6
|
+
| **서비스 명칭** | {config.project_name} |
|
|
7
|
+
| **서비스 유형** | {config.project_desc} |
|
|
8
|
+
| **핵심 타겟 사용자** | {project_type별 기본값 또는 사용자 입력} |
|
|
9
|
+
| **톤 앤 매너** | {config.style에서 추론} |
|
|
10
|
+
| **지원 브라우저** | Chrome 최신, Edge 최신, Safari 최신 |
|
|
11
|
+
| **접근성 목표** | WCAG 2.1 AA 기준 준수 |
|
|
12
|
+
|
|
13
|
+
### 디자인 원칙
|
|
14
|
+
1. **명확성** — 데이터와 상태를 한눈에 파악할 수 있어야 한다.
|
|
15
|
+
2. **일관성** — 동일한 기능은 동일한 패턴으로 표현한다.
|
|
16
|
+
3. **효율성** — 최소 클릭으로 핵심 작업을 완료할 수 있어야 한다.
|
|
17
|
+
4. **피드백** — 모든 사용자 행동에 즉각적인 시각적 응답을 제공한다.
|
|
18
|
+
5. **안전성** — 위험한 동작은 반드시 확인 절차를 거친다.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 2. 섹션 2 — 정보 구조 (IA)
|
|
22
|
+
|
|
23
|
+
`defs/design-guide-sections.md`의 **project_type별 IA 템플릿**을 적용합니다.
|
|
24
|
+
|
|
25
|
+
| project_type | IA 패턴 |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `web` (SaaS/대시보드) | 사이드바 + 대시보드 + CRUD 테이블 (8개 메뉴) |
|
|
28
|
+
| `web` (랜딩/마케팅) | GNB 상단바 + 섹션 스크롤 (5개 메뉴) |
|
|
29
|
+
| `app` | 탭바 (4~5개) + 스택 네비게이션 |
|
|
30
|
+
| `desktop` | 좌측 트리 네비게이션 + 우측 에디터 패널 |
|
|
31
|
+
| `hybrid` | 플랫폼별 분기 (web→사이드바, app→탭바) |
|
|
32
|
+
|
|
33
|
+
**반응형 네비게이션 규칙 (web 유형만):**
|
|
34
|
+
|
|
35
|
+
| Breakpoint | 네비게이션 형태 |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Desktop (>=1440px) | 좌측 사이드바 확장 (아이콘+텍스트, 240px) |
|
|
38
|
+
| Tablet (768px~1439px) | 좌측 사이드바 축소 (아이콘만, 64px) |
|
|
39
|
+
| Mobile (<=767px) | 하단 탭 바 (주요 4개) + 햄버거 메뉴 |
|
|
40
|
+
|
|
41
|
+
### 3. 섹션 3 — 스타일 가이드 (핵심)
|
|
42
|
+
|
|
43
|
+
config.style의 색상 정보를 **시맨틱 토큰**으로 변환합니다.
|
|
44
|
+
|
|
45
|
+
#### 3a. 시맨틱 컬러 토큰 생성
|
|
46
|
+
|
|
47
|
+
`defs/styles.md`에서 가져온 `primary`, `background`, `accent` 색상을 시맨틱 변수로 매핑합니다.
|
|
48
|
+
|
|
49
|
+
**다크 테마 기준 (config.theme == 'dark' 또는 'system'):**
|
|
50
|
+
|
|
51
|
+
| 토큰명 | 생성 규칙 | 용도 |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `--bg-primary` | `background` 색상 그대로 | 메인 배경 |
|
|
54
|
+
| `--bg-secondary` | `lighten(background, 8%)` | 카드, 패널 배경 |
|
|
55
|
+
| `--bg-tertiary` | `lighten(background, 15%)` | 입력 필드, 테이블 헤더 |
|
|
56
|
+
| `--text-primary` | `contrast(background)` | 본문 텍스트 |
|
|
57
|
+
| `--text-secondary` | `opacity(contrast(background), 0.65)` | 보조 텍스트 |
|
|
58
|
+
| `--text-disabled` | `opacity(contrast(background), 0.35)` | 비활성 텍스트 |
|
|
59
|
+
| `--border-default` | `opacity(contrast(background), 0.15)` | 기본 테두리 |
|
|
60
|
+
| `--border-focus` | `primary` 색상 | 포커스 테두리 |
|
|
61
|
+
|
|
62
|
+
**라이트 테마 기준 (config.theme == 'light' 또는 'system'):**
|
|
63
|
+
|
|
64
|
+
| 토큰명 | 생성 규칙 | 용도 |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| `--bg-primary` | `#FFFFFF` (고정) | 메인 배경 |
|
|
67
|
+
| `--bg-secondary` | `#F5F7FA` (고정) | 카드, 패널 배경 |
|
|
68
|
+
| `--bg-tertiary` | `#E8ECF1` (고정) | 입력 필드, 테이블 헤더 |
|
|
69
|
+
| `--text-primary` | `#111827` (고정) | 본문 텍스트 |
|
|
70
|
+
| `--text-secondary` | `#6B7280` (고정) | 보조 텍스트 |
|
|
71
|
+
| `--text-disabled` | `#D1D5DB` (고정) | 비활성 텍스트 |
|
|
72
|
+
| `--border-default` | `#E5E7EB` (고정) | 기본 테두리 |
|
|
73
|
+
| `--border-focus` | `primary` 색상 | 포커스 테두리 |
|
|
74
|
+
|
|
75
|
+
**브랜드 & 기능 색상 (테마 무관):**
|
|
76
|
+
|
|
77
|
+
| 색상 | 값 | 용도 |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `--color-primary` | `{style.primary}` | 브랜드 컬러, 주요 버튼 |
|
|
80
|
+
| `--color-primary-hover` | `darken(primary, 15%)` | Primary 호버 |
|
|
81
|
+
| `--color-secondary` | `{style.accent 또는 #6C757D}` | 보조 버튼 |
|
|
82
|
+
| `--color-success` | `#28A745` | 성공 상태 |
|
|
83
|
+
| `--color-warning` | `#FFC107` | 경고 상태 |
|
|
84
|
+
| `--color-error` | `#DC3545` | 에러 상태 |
|
|
85
|
+
| `--color-info` | `#17A2B8` | 정보 알림 |
|
|
86
|
+
|
|
87
|
+
**접근성 규칙**: 텍스트-배경 대비 최소 4.5:1 (WCAG AA)
|
|
88
|
+
|
|
89
|
+
#### 3b. 타이포그래피 스케일
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
| 토큰 | 크기 | 굵기 | 행간 | 용도 |
|
|
93
|
+
|---|---|---|---|---|
|
|
94
|
+
| --font-display | 32px | Bold (700) | 40px | 페이지 타이틀 |
|
|
95
|
+
| --font-h1 | 24px | SemiBold (600) | 32px | 섹션 제목 |
|
|
96
|
+
| --font-h2 | 20px | SemiBold (600) | 28px | 카드/모달 제목 |
|
|
97
|
+
| --font-h3 | 16px | Medium (500) | 24px | 소제목, 테이블 헤더 |
|
|
98
|
+
| --font-body | 14px | Regular (400) | 22px | 본문 텍스트 |
|
|
99
|
+
| --font-small | 13px | Regular (400) | 20px | 보조 텍스트 |
|
|
100
|
+
| --font-caption | 12px | Regular (400) | 16px | 캡션, 타임스탬프 |
|
|
101
|
+
| --font-label | 12px | Medium (500) | 16px | 폼 라벨 |
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Font Family**: `'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif`
|
|
105
|
+
**Monospace**: `'JetBrains Mono', 'Fira Code', monospace` — 14px
|
|
106
|
+
|
|
107
|
+
#### 3c. 스페이싱 스케일 (4px 기반)
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
| 토큰 | 값 | 용도 |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| --space-1 | 4px | 아이콘-텍스트 간격 |
|
|
113
|
+
| --space-2 | 8px | 인라인 요소 간격 |
|
|
114
|
+
| --space-3 | 12px | 리스트 아이템 간격 |
|
|
115
|
+
| --space-4 | 16px | 카드 내부 패딩 |
|
|
116
|
+
| --space-5 | 20px | 섹션 내 그룹 간격 |
|
|
117
|
+
| --space-6 | 24px | 카드 큰 패딩 |
|
|
118
|
+
| --space-8 | 32px | 섹션 간 간격 |
|
|
119
|
+
| --space-10 | 40px | 페이지 상단 여백 |
|
|
120
|
+
| --space-12 | 48px | 대형 섹션 구분 |
|
|
121
|
+
| --space-16 | 64px | 페이지 영역 구분 |
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### 3d. 그리드, 엘리베이션, Z-index, 보더 라디우스
|
|
125
|
+
|
|
126
|
+
고정값으로 항상 동일하게 생성합니다.
|
|
127
|
+
|
|
128
|
+
**그리드**: 12 columns, Gutter 24px, 최대 1280px
|
|
129
|
+
**엘리베이션**: Level 0~4 (none → 16px 48px shadow)
|
|
130
|
+
**Z-index**: Base(0), Sticky(100), Dropdown(200), Sidebar(300), Modal Backdrop(400), Modal(500), Toast(600), Tooltip(700)
|
|
131
|
+
**Border Radius**: sm(4px), md(8px), lg(12px), full(9999px)
|
|
132
|
+
|
|
133
|
+
#### 3e. 이미지 전략 (Image Strategy)
|
|
134
|
+
|
|
135
|
+
> 조건: `config.project_type == "web"` && `config.type_detail.image_strategy != "none"`
|
|
136
|
+
> 참조: `defs/image-strategies.md`
|
|
137
|
+
|
|
138
|
+
생성 항목:
|
|
139
|
+
- 전략명 + 포함 기법 목록
|
|
140
|
+
- 반응형 이미지 breakpoint 가이드 (Mobile/Tablet/Desktop srcset)
|
|
141
|
+
- 포맷 가이드 (WebP/AVIF + `<picture>` 폴백)
|
|
142
|
+
- Lazy Loading 정책 (above-fold: eager, below-fold: lazy)
|
|
143
|
+
- Placeholder 패턴 (blur-up/skeleton/dominant-color)
|
|
144
|
+
- 접근성 규칙 (alt 텍스트, 장식 이미지)
|
|
145
|
+
- Favicon & OG 이미지 스펙
|
|
146
|
+
|
|
147
|
+
### 4. 섹션 4 — 컴포넌트 스펙
|
|
148
|
+
|
|
149
|
+
#### 4a. 버튼
|
|
150
|
+
|
|
151
|
+
5종(Primary, Secondary, Danger, Ghost, Icon) x 6상태(Default, Hover, Active, Focus, Disabled, Loading) x 3사이즈(Small 32px, Medium 40px, Large 48px) 매트릭스를 생성합니다.
|
|
152
|
+
|
|
153
|
+
#### 4b. 입력 필드
|
|
154
|
+
|
|
155
|
+
6상태(Default, Hover, Focus, Error, Success, Disabled) 매트릭스. 높이 40px, 패딩 12px.
|
|
156
|
+
|
|
157
|
+
#### 4c. 카드
|
|
158
|
+
|
|
159
|
+
구조: Header(16px padding) + Body(16px~24px padding) + Footer(선택, 12px 16px padding). 배경 `--bg-secondary`, 테두리 `--border-default`, 그림자 Level 1.
|
|
160
|
+
|
|
161
|
+
#### 4d. 데이터 테이블
|
|
162
|
+
|
|
163
|
+
행 높이 48px, 호버 배경 `--bg-tertiary`, 선택 배경 `rgba(primary, 0.08)`. 페이지네이션, 정렬, 벌크 액션 규칙 포함.
|
|
164
|
+
|
|
165
|
+
#### 4e. 아이콘
|
|
166
|
+
|
|
167
|
+
**아이콘 라이브러리**: Lucide Icons (1순위), Stroke Width 2px. 기본 크기 20x20px(인라인), 24x24px(버튼/메뉴). 색상 `currentColor`.
|
|
168
|
+
|
|
169
|
+
config.project_type에 따라 **메뉴별 아이콘 매핑** 테이블을 동적 생성합니다 (`defs/design-guide-sections.md` 참조).
|
|
170
|
+
|
|
171
|
+
> 상세 규칙: `defs/icon-usage.md` 참조 — 컴포넌트별 크기/gap/정렬, 색상 규칙, 접근성, 호버 패턴
|
|
172
|
+
|
|
173
|
+
#### 4f. 아이콘 상세 사용 규칙
|
|
174
|
+
|
|
175
|
+
> 참조: `defs/icon-usage.md`
|
|
176
|
+
|
|
177
|
+
**생성 항목:**
|
|
178
|
+
|
|
179
|
+
1. **컴포넌트별 아이콘 크기 매트릭스**: 네비게이션(24px), 버튼(16~20px), 카드(32~48px), 인풋(20px), 리스트(20px), 뱃지(14px), 토스트(20~24px), Empty State(48~64px) 등 30+ 위치별 size/gap/정렬 규칙
|
|
180
|
+
2. **아이콘 색상 체계**: 기본(currentColor, --text-secondary), 시맨틱(success/warning/error/info), 호버 색상 전환
|
|
181
|
+
3. **프레임워크별 import 패턴**: config.frontend에 따라 React(lucide-react), Vue(lucide-vue-next), Svelte(lucide-svelte), Vanilla(CDN) 중 해당 패턴만 출력
|
|
182
|
+
4. **아이콘 접근성**: 단독 아이콘(aria-label), 텍스트 동반(aria-hidden), 상태 표시(role=img)
|
|
183
|
+
5. **호버/인터랙션 패턴**: morph, bounce, spin, pulse, color-shift, fill-stroke 토글 등
|
|
184
|
+
|
|
185
|
+
#### 4g. 일러스트 가이드
|
|
186
|
+
|
|
187
|
+
> 참조: `defs/illustration-guide.md`
|
|
188
|
+
|
|
189
|
+
**생성 항목:**
|
|
190
|
+
|
|
191
|
+
1. **스타일별 일러스트 톤**: `config.style`에 매칭되는 일러스트 톤, 추천 라이브러리, 키워드 출력
|
|
192
|
+
2. **사용 위치별 크기 규칙**: Empty State(200~300px), 온보딩(250~350px), 에러(300~400px), Hero(300~500px) 등 9개 위치 매핑
|
|
193
|
+
3. **색상 동기화**: SVG에 CSS 변수 바인딩 (`--illust-primary: var(--color-primary)`)
|
|
194
|
+
4. **반응형 크기**: Desktop(100%), Tablet(80%), Mobile(60%, 최소 80px)
|
|
195
|
+
5. **다크모드 대응**: `prefers-color-scheme: dark` 시 brightness/saturate 필터
|
|
196
|
+
6. **일러스트 vs 아이콘 판단 기준**: 상황별 선택 가이드
|
|
197
|
+
|
|
198
|
+
#### 4h. 배경 이미지 & 오버레이
|
|
199
|
+
|
|
200
|
+
> 참조: `defs/styles.md`의 **BG_Pattern** 필드, `defs/component-specs.md` 비주얼 variant, `defs/tokens.md` § 8
|
|
201
|
+
|
|
202
|
+
**생성 항목:**
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
style = defs/styles.md[config.style]
|
|
206
|
+
bg_pattern = style.BG_Pattern
|
|
207
|
+
image_interaction = style.Image_Interaction # v3.3 신규
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
1. **Hero 배경**: 그라데이션 오버레이 + 이미지 blend-mode, 반응형 srcset
|
|
211
|
+
2. **카드 배경 이미지**: object-fit, overlay opacity(기본 0.7 → 호버 0.5), 호버 zoom/reveal 패턴
|
|
212
|
+
3. **섹션 배경 패턴**: CSS/SVG 반복 패턴 (`style.BG_Pattern`), opacity 0.03~0.1
|
|
213
|
+
4. **CTA 배경**: 그라데이션(`style.Gradient`) + 장식 요소
|
|
214
|
+
5. **다크모드 오버레이**: 배경 이미지 위 다크 오버레이 자동 적용
|
|
215
|
+
|
|
216
|
+
#### 4i. 섹션 디바이더 & 장식 요소
|
|
217
|
+
|
|
218
|
+
> 참조: `defs/styles.md`의 **Section Divider / Decoration** 필드, `defs/tokens.md` § 11
|
|
219
|
+
|
|
220
|
+
**생성 항목:**
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
style = defs/styles.md[config.style]
|
|
224
|
+
divider = style.Section_Divider # v3.3 신규
|
|
225
|
+
decoration = style.Decoration
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
1. **섹션 구분선**: 스타일별 디바이더 유형 (line, gradient-line, wave-svg, angle, dots)
|
|
229
|
+
2. **장식 요소**: 코너 장식, 뱃지, 구분선 — `style.Decoration` 기반 HTML/CSS
|
|
230
|
+
3. **배경 전환**: 섹션 간 배경색 교대 패턴 (primary ↔ secondary)
|
|
231
|
+
|
|
232
|
+
#### 4j. SEO 메타 컴포넌트
|
|
233
|
+
|
|
234
|
+
> 조건: `config.project_type == "web"` && `config.type_detail.seo_level != "none"`
|
|
235
|
+
> 참조: `defs/seo-guide.md`
|
|
236
|
+
|
|
237
|
+
**생성 항목:**
|
|
238
|
+
|
|
239
|
+
1. **Head 컴포넌트 패턴**: `config.frontend`에 따라 해당 패턴만 출력
|
|
240
|
+
|
|
241
|
+
| config.frontend | 패턴 | API |
|
|
242
|
+
|-----------------|------|-----|
|
|
243
|
+
| `nextjs` | Next.js Metadata API | `export const metadata: Metadata` / `generateMetadata()` |
|
|
244
|
+
| `nuxt` | Nuxt `useHead` + `useSeoMeta` | `useHead()`, `useSeoMeta()` |
|
|
245
|
+
| `react_vite` | react-helmet-async | `<Helmet>` 컴포넌트 |
|
|
246
|
+
| `vue3_vite` | `@unhead/vue` | `useHead()` |
|
|
247
|
+
|
|
248
|
+
2. **OG 이미지 템플릿**: `config.style`의 `primary`, `background` 색상을 적용한 OG 이미지 디자인 가이드
|
|
249
|
+
- 크기: 1200x630px
|
|
250
|
+
- 배경: `style.background` 또는 `style.Gradient`
|
|
251
|
+
- 텍스트: 흰색 또는 `contrast(background)`
|
|
252
|
+
- 로고 위치: 좌하단
|
|
253
|
+
- 폰트: 본문과 동일 계열 (Pretendard 등)
|
|
254
|
+
|
|
255
|
+
3. **JSON-LD 스니펫** (seo_level: advanced): `config.type_detail.web_type`에 따른 Schema.org 타입별 기본 구조화 데이터 템플릿
|
|
256
|
+
|
|
257
|
+
4. **검색엔진별 meta 태그**:
|
|
258
|
+
- Google: `robots`, `canonical`, `description`
|
|
259
|
+
- Naver: `naver-site-verification`, `og:locale` ko_KR
|
|
260
|
+
- Daum/Kakao: `og:image` 비율 1.91:1 권장
|
|
261
|
+
|
|
262
|
+
### 5. 섹션 5 — 상태 & 피드백
|
|
263
|
+
|
|
264
|
+
**모든 데이터 화면 4가지 필수 상태:**
|
|
265
|
+
|
|
266
|
+
| 상태 | 구성 요소 |
|
|
267
|
+
|---|---|
|
|
268
|
+
| Loading | Skeleton UI + shimmer 애니메이션 (1.5초 주기) |
|
|
269
|
+
| Empty | 일러스트(스타일별 톤, `defs/illustration-guide.md`) + 설명 + CTA 버튼 |
|
|
270
|
+
| Error | 에러 일러스트 + 메시지 + [다시 시도] 버튼 |
|
|
271
|
+
| No Permission | 잠금 아이콘 + 안내 + [권한 요청] 버튼 |
|
|
272
|
+
|
|
273
|
+
**토스트 알림**: 우측 상단, 최대 3개 쌓임. Success/Info 4초 자동닫힘, Warning 6초, Error 수동닫기.
|
|
274
|
+
**모달**: Confirm(400px), Form(560px), Detail(720px), Full(960px). 위험 동작은 이름 재입력 필수.
|
|
275
|
+
**뱃지**: 높이 24px, 패딩 4px 8px, radius 4px. 상태별 배경/텍스트 색상.
|
|
276
|
+
**툴팁**: 최대 240px, 표시 딜레이 300ms, 화살표 포함.
|
|
277
|
+
|
|
278
|
+
### 6. 섹션 6 — 기능 흐름
|
|
279
|
+
|
|
280
|
+
`defs/design-guide-sections.md`의 **project_type별 기능 흐름 세트**를 적용합니다.
|
|
281
|
+
|
|
282
|
+
| 기능 흐름 | web (SaaS) | web (랜딩) | app | desktop |
|
|
283
|
+
|---|---|---|---|---|
|
|
284
|
+
| 로그인 | O | X | O | O |
|
|
285
|
+
| 데이터 테이블 | O | X | O (리스트) | O |
|
|
286
|
+
| 생성/수정 폼 | O | O (문의 폼) | O | O |
|
|
287
|
+
| 삭제 동작 | O | X | O | O |
|
|
288
|
+
| RBAC | O | X | O (간소화) | O |
|
|
289
|
+
|
|
290
|
+
각 기능 흐름은 **완전한 에러 케이스 + API 응답 분기**를 포함합니다.
|
|
291
|
+
|
|
292
|
+
### 7~8. 인터랙션 & 모션 + 비디오 전용
|
|
293
|
+
|
|
294
|
+
> **상세**: `gen/gen-design-guide-interaction.md` 참조
|
|
295
|
+
> 섹션 7 (전역 트랜지션, 스타일별 오버라이드, 이미지/비주얼, 마이크로 인터랙션)
|
|
296
|
+
> 섹션 8 (참조 & 벤치마킹), 비디오 프로젝트 전용 (V1~V6), 출력 구조
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
1. Read gen/gen-design-guide-interaction.md
|
|
300
|
+
2. 섹션 7: 모션 강도 적용, 전역 트랜지션, 스타일별 오버라이드, 이미지/비주얼, 마이크로 인터랙션
|
|
301
|
+
3. 섹션 8: 프레임워크별 참조 디자인 시스템
|
|
302
|
+
4. 비디오 전용: V1~V6 (project_type == "video")
|
|
303
|
+
→ docs/design/web-design-guide.md 또는 video-design-guide.md
|
|
304
|
+
```
|
package/skills/web-design/claude-code/gen/gen-design-guide-interaction/01-interaction-motion.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# 섹션 7 — 인터랙션 & 모션
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
> 참조: `defs/styles.md`의 **Hover / Shadow / Border / BG Pattern / Decoration / Animation / Gradient** 필드
|
|
5
|
+
|
|
6
|
+
**스타일별 인터랙션 패턴**을 `defs/styles.md`에서 가져와 적용합니다. 아래 전역 규칙 + 스타일별 오버라이드로 구성됩니다.
|
|
7
|
+
|
|
8
|
+
### 모션 강도 적용
|
|
9
|
+
|
|
10
|
+
> 참조: `defs/{project_type}-motions.md` § 모션 강도 프리셋
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
intensity = config.type_detail.motion_intensity # subtle | moderate | dramatic | none
|
|
14
|
+
|
|
15
|
+
if intensity == "none":
|
|
16
|
+
모든 duration → 0ms, transform → none
|
|
17
|
+
prefers-reduced-motion 강제 적용
|
|
18
|
+
섹션 7c, 7d의 인터랙션 생략
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**플랫폼별 강도 스케일:**
|
|
22
|
+
|
|
23
|
+
| 플랫폼 | subtle | moderate | dramatic |
|
|
24
|
+
|--------|--------|----------|----------|
|
|
25
|
+
| **Web** | 200-400ms · ease-out | 400-700ms · ease-in-out | 700-1200ms · cubic-bezier |
|
|
26
|
+
| **App** | 150-300ms · stiff spring | 300-500ms · default spring | 500-800ms · bouncy spring |
|
|
27
|
+
| **Desktop** | 100-250ms · ease-out | 250-500ms · ease-in-out | 500-1000ms · cubic-bezier |
|
|
28
|
+
| **Hybrid** | 플랫폼별 상이 (defs/hybrid-motions.md 참조) | | |
|
|
29
|
+
|
|
30
|
+
아래 7a~7d의 모든 duration/easing 값은 `intensity`에 따라 위 범위 내에서 스케일링합니다.
|
|
31
|
+
|
|
32
|
+
### 7a. 전역 트랜지션 (모든 스타일 공통)
|
|
33
|
+
|
|
34
|
+
> `config.type_detail.motion_intensity`에 따라 duration/easing 분기
|
|
35
|
+
|
|
36
|
+
| 카테고리 | 속성 | subtle | moderate | dramatic |
|
|
37
|
+
|---------|------|--------|----------|----------|
|
|
38
|
+
| 색상 변화 | `transition-colors` | `0.15s ease-out` | `0.3s ease-in-out` | `0.5s cubic-bezier` |
|
|
39
|
+
| 확장/축소 | `transition-all` | `0.2s ease-out` | `0.4s ease-in-out` | `0.8s cubic-bezier` |
|
|
40
|
+
| 등장 | `opacity + transform` | `0.15s ease-out` | `0.3s ease-in-out` | `0.6s cubic-bezier` |
|
|
41
|
+
| 포커스 링 | `ring-2 ring-offset-2` | 즉시 | 즉시 | 즉시 |
|
|
42
|
+
| 모달 | `scale(0.95→1) + opacity` | `0.15s ease-out` | `0.25s ease-out` | `0.5s cubic-bezier` |
|
|
43
|
+
| 토스트 | `translateX(100%→0)` | `0.2s ease-out` | `0.35s ease-out` | `0.7s cubic-bezier` |
|
|
44
|
+
| 드롭다운 | `scale(0.95→1) + opacity` | `0.1s ease-out` | `0.2s ease` | `0.4s cubic-bezier` |
|
|
45
|
+
|
|
46
|
+
> 위 값은 Web 기준. App/Desktop은 플랫폼별 강도 스케일 범위 내에서 비례 적용.
|
|
47
|
+
|
|
48
|
+
### 7b. 스타일별 인터랙션 오버라이드
|
|
49
|
+
|
|
50
|
+
`config.style`로 `defs/styles.md`에서 해당 스타일의 인터랙션 패턴을 가져옵니다:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
style = defs/styles.md[config.style]
|
|
54
|
+
hover_pattern = style.Hover # 카드·버튼·링크 호버 효과
|
|
55
|
+
shadow_system = style.Shadow # 엘리베이션 패턴
|
|
56
|
+
border_style = style.Border # 테두리 스타일
|
|
57
|
+
bg_pattern = style.BG_Pattern # 배경 장식 패턴
|
|
58
|
+
decoration = style.Decoration # 장식 요소
|
|
59
|
+
animation = style.Animation # 핵심 애니메이션 키프레임
|
|
60
|
+
gradient = style.Gradient # 그라데이션 활용 패턴
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**생성 항목:**
|
|
64
|
+
|
|
65
|
+
1. **Hover 매트릭스**: 카드 호버, 버튼 호버, 링크 호버, 행 호버 — 스타일별 Tailwind 클래스 포함
|
|
66
|
+
2. **Shadow 시스템**: Level 0~4 + 호버 확장 — 스타일별 `box-shadow` 값
|
|
67
|
+
3. **Border 규칙**: 기본 두께, 호버 변화, 액센트 위치 — 스타일별 `border-*` 클래스
|
|
68
|
+
4. **Background Pattern**: 섹션 배경, 히어로 배경, 카드 배경 — CSS/SVG 패턴 코드
|
|
69
|
+
5. **Decoration 요소**: 구분선, 뱃지, 코너 장식 — HTML/CSS 스니펫
|
|
70
|
+
6. **Animation 키프레임**: 등장/반복/상태 전환 — `@keyframes` 정의 (styles.md 하단 레퍼런스 참조)
|
|
71
|
+
7. **Gradient 패턴**: 히어로/CTA/텍스트/오버레이 — Tailwind gradient 클래스
|
|
72
|
+
|
|
73
|
+
### 7c. 이미지 & 비주얼 인터랙션
|
|
74
|
+
|
|
75
|
+
> 참조: `defs/styles.md`의 **Image Interaction** 필드, `defs/component-specs.md` 비주얼 variant, `defs/tokens.md` § 10
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
style = defs/styles.md[config.style]
|
|
79
|
+
image_interaction = style.Image_Interaction
|
|
80
|
+
intensity = config.type_detail.motion_intensity
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**생성 항목** (duration은 `intensity` 기준):
|
|
84
|
+
|
|
85
|
+
1. **이미지 인터랙션**: 카드/Hero/섹션 이미지에 적용되는 호버 효과
|
|
86
|
+
|
|
87
|
+
| 효과 | 동작 | subtle | moderate | dramatic |
|
|
88
|
+
|------|------|--------|----------|----------|
|
|
89
|
+
| image-zoom | `scale(1.05)` | 0.25s ease-out | 0.4s ease-out | 0.8s cubic-bezier |
|
|
90
|
+
| image-reveal | `opacity 0.3→1` | 0.3s | 0.5s | 1.0s |
|
|
91
|
+
| overlay-fade | 오버레이 `opacity 0.7→0.4` | 0.2s | 0.3s | 0.6s |
|
|
92
|
+
| parallax | 스크롤 연동 이미지 이동 | 미미한 오프셋 | 중간 오프셋 | 큰 오프셋 |
|
|
93
|
+
| ken-burns | 이미지 느린 확대 | 8s | 15s | 25s |
|
|
94
|
+
| blur-to-clear | `blur(8px)→clear` | 0.3s | 0.6s | 1.0s |
|
|
95
|
+
|
|
96
|
+
2. **요소 인터랙션**:
|
|
97
|
+
|
|
98
|
+
| 효과 | 동작 | subtle | moderate | dramatic |
|
|
99
|
+
|------|------|--------|----------|----------|
|
|
100
|
+
| tilt-3d | 마우스 기반 3D 기울기 | max 4deg | max 8deg | max 15deg |
|
|
101
|
+
| float | 부유 애니메이션 | 5px, 2s | 10px, 3s | 15px, 4s |
|
|
102
|
+
| morph | 호버 변형 (scale+rotate) | scale(1.02) | scale(1.05) rotate(2deg) | scale(1.1) rotate(5deg) |
|
|
103
|
+
|
|
104
|
+
3. **텍스트 인터랙션**:
|
|
105
|
+
- gradient-text: 그라데이션 텍스트 (`background-clip: text`)
|
|
106
|
+
- typewriter: 타자기 효과 (subtle: 빠른 타이핑, dramatic: 느린 타이핑)
|
|
107
|
+
- count-up: 숫자 카운트업 (subtle: 0.5s, moderate: 1s, dramatic: 2s)
|
|
108
|
+
|
|
109
|
+
4. **스크롤 인터랙션**:
|
|
110
|
+
|
|
111
|
+
| 효과 | 동작 | subtle | moderate | dramatic |
|
|
112
|
+
|------|------|--------|----------|----------|
|
|
113
|
+
| fade-up | IntersectionObserver 등장 | 0.2s | 0.4s | 0.8s |
|
|
114
|
+
| stagger | 순차 등장 딜레이 | 0.05s | 0.1s | 0.2s |
|
|
115
|
+
| reveal | 스크롤 위치 기반 노출 | 간결한 등장 | 중간 등장 | 풀 씬 전환 |
|
|
116
|
+
|
|
117
|
+
### 7d. 마이크로 인터랙션 (모든 스타일 공통)
|
|
118
|
+
|
|
119
|
+
> duration은 `config.type_detail.motion_intensity` 기준
|
|
120
|
+
|
|
121
|
+
| 인터랙션 | 동작 | subtle | moderate | dramatic |
|
|
122
|
+
|---------|------|--------|----------|----------|
|
|
123
|
+
| 복사 완료 | 아이콘 Check 전환 | 1.5초 후 복원 | 2초 후 복원 | 3초 후 복원 |
|
|
124
|
+
| 알림 | shake 애니메이션 | 0.2s | 0.3s | 0.5s |
|
|
125
|
+
| 업로드 | 프로그레스 바 + 퍼센트 | 실시간 | 실시간 | 실시간 |
|
|
126
|
+
| 토글 | 슬라이드 + 색상 전환 | 0.1s | 0.2s | 0.35s |
|
|
127
|
+
| 스켈레톤 | 시머 애니메이션 | 1s infinite | 1.5s infinite | 2.5s infinite |
|
|
128
|
+
| 스크롤 등장 | fade-up (IntersectionObserver) | 0.2s stagger | 0.4s stagger | 0.8s stagger |
|
|
129
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 비디오 프로젝트 전용 섹션
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
> 조건: `config.project_type == "video"`
|
|
5
|
+
|
|
6
|
+
비디오 프로젝트 시 웹 디자인 가이드 대신 **비디오 디자인 가이드**를 생성합니다.
|
|
7
|
+
|
|
8
|
+
### 출력 파일
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
docs/design/video-design-guide.md # 비디오 프로젝트 맞춤 디자인 가이드
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 비디오 전용 섹션
|
|
15
|
+
|
|
16
|
+
#### V1. 프로젝트 개요
|
|
17
|
+
|
|
18
|
+
| 항목 | 내용 |
|
|
19
|
+
|------|------|
|
|
20
|
+
| **서비스 명칭** | {config.project_name} |
|
|
21
|
+
| **비디오 유형** | {config.type_detail.video_type} |
|
|
22
|
+
| **해상도** | {width}×{height} @ {fps}fps |
|
|
23
|
+
| **렌더 타겟** | {config.type_detail.render_target} |
|
|
24
|
+
| **컴포지션 구조** | {config.type_detail.composition_structure} |
|
|
25
|
+
|
|
26
|
+
#### V2. 컬러 & 타이포그래피
|
|
27
|
+
|
|
28
|
+
- `src/lib/colors.ts` 기반 색상 팔레트
|
|
29
|
+
- 비디오용 타이포그래피 스케일 (px 단위, 고정 캔버스)
|
|
30
|
+
- 배경-텍스트 대비 확인 (4.5:1 이상)
|
|
31
|
+
|
|
32
|
+
#### V3. 모션 가이드
|
|
33
|
+
|
|
34
|
+
- `defs/video-motions.md` 기반 애니메이션 패턴
|
|
35
|
+
- 프레임 기반 타이밍 규칙 (fps별 프레임 수)
|
|
36
|
+
- Easing/Spring 프리셋 참조
|
|
37
|
+
- **금지 사항**: CSS transition/animation 사용 불가
|
|
38
|
+
|
|
39
|
+
#### V4. 컴포지션 구조 가이드
|
|
40
|
+
|
|
41
|
+
- `defs/video-compositions.md` 기반 구조 패턴
|
|
42
|
+
- Sequence 배치 및 타이밍 가이드
|
|
43
|
+
- 장면 전환 패턴 (config.type_detail.video_features에 `transitions` 포함 시)
|
|
44
|
+
|
|
45
|
+
#### V5. 미디어 처리 가이드
|
|
46
|
+
|
|
47
|
+
- `defs/conventions/remotion.md` §4 기반
|
|
48
|
+
- 이미지/비디오/오디오/폰트 사용 규칙
|
|
49
|
+
- 에셋 파일 구성 (`public/` 디렉토리)
|
|
50
|
+
|
|
51
|
+
#### V6. 렌더링 가이드
|
|
52
|
+
|
|
53
|
+
- 로컬 렌더링 명령어 및 옵션
|
|
54
|
+
- Lambda 설정 (render_target에 lambda 포함 시)
|
|
55
|
+
- 코덱/품질 설정 가이드
|
|
56
|
+
|
|
57
|
+
### video_saas 시
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
if video_type == "video_saas":
|
|
61
|
+
→ 비디오 디자인 가이드 (V1~V6) + 웹 디자인 가이드 (섹션 1~8)
|
|
62
|
+
→ 두 가이드 모두 생성
|
|
63
|
+
출력:
|
|
64
|
+
docs/design/video-design-guide.md # Remotion 엔진
|
|
65
|
+
docs/design/web-design-guide.md # 웹앱 (기존 로직)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 디자인 가이드 — 인터랙션 & 모션 + 비디오
|
|
2
|
+
|
|
3
|
+
> 입력: `config.style`, `config.theme`, `config.project_type`, `config.type_detail.motion_intensity`, `config.frontend`
|
|
4
|
+
> 참조: `gen/gen-design-guide.md` (메인 모듈)
|
|
5
|
+
> 출력: `docs/design/web-design-guide.md` (섹션 7~8), `docs/design/video-design-guide.md` (비디오 시)
|
|
6
|
+
> Dependencies: `gen/gen-design-guide.md`, `defs/styles.md`, `defs/web-motions.md`, `defs/app-motions.md`, `defs/desktop-motions.md`, `defs/hybrid-motions.md`, `defs/video-motions.md`, `defs/video-compositions.md`, `defs/conventions/remotion.md`
|
|
7
|
+
|
|
8
|
+
## 섹션 7 — 인터랙션 & 모션
|
|
9
|
+
|
|
10
|
+
> 상세: `gen/gen-design-guide-interaction/01-interaction-motion.md` 참조
|
|
11
|
+
|
|
12
|
+
**스타일별 인터랙션 패턴**을 `defs/styles.md`에서 가져와 적용합니다. 아래 전역 규칙 + 스타일별 오버라이드로 구성됩니다.
|
|
13
|
+
## 섹션 8 — 참조 & 벤치마킹
|
|
14
|
+
|
|
15
|
+
config.frontend에 따라 권장 디자인 시스템 참조를 매핑합니다.
|
|
16
|
+
|
|
17
|
+
| config.frontend | 1순위 참조 | 2순위 참조 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `nextjs`, `react_vite` | Shadcn/UI | Tailwind UI |
|
|
20
|
+
| `vue3_vite`, `nuxt` | PrimeVue | Ant Design Vue |
|
|
21
|
+
| `react_native` | React Native Paper | NativeBase |
|
|
22
|
+
| `flutter` | Material Design 3 | Cupertino (iOS) |
|
|
23
|
+
| `electron`, `tauri` | Shadcn/UI | Radix UI |
|
|
24
|
+
|
|
25
|
+
## 출력 파일 구조
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
docs/design/
|
|
29
|
+
└── web-design-guide.md # 프로젝트 맞춤 디자인 가이드 (전체 또는 부분)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 비디오 프로젝트 전용 섹션
|
|
33
|
+
|
|
34
|
+
> 상세: `gen/gen-design-guide-interaction/04-project-video.md` 참조
|
|
35
|
+
|
|
36
|
+
비디오 프로젝트 시 웹 디자인 가이드 대신 **비디오 디자인 가이드**를 생성합니다.
|
|
37
|
+
## 생성 완료 후 반환
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
생성된 파일:
|
|
41
|
+
- docs/design/web-design-guide.md ({config.design_guide_scope} 범위)
|
|
42
|
+
→ 섹션 수: {생성된 섹션 수}/8
|
|
43
|
+
→ 시맨틱 토큰: {theme}모드 기반 자동 생성
|
|
44
|
+
→ IA 패턴: {project_type}용 적용
|
|
45
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 디자인 가이드 생성
|
|
2
|
+
|
|
3
|
+
> 입력: `config.style`, `config.theme`, `config.project_type`, `config.design_guide_scope`, `config.frontend`
|
|
4
|
+
> 참조: `defs/design-guide-sections.md`, `defs/styles.md`, `defs/tokens.md`
|
|
5
|
+
> 출력: `docs/design/web-design-guide.md`
|
|
6
|
+
> Dependencies: `defs/design-guide-sections.md`, `defs/ia-patterns.md`, `defs/component-specs.md`, `defs/icon-mappings.md`, `defs/image-strategies.md`, `defs/icon-usage.md`, `defs/illustration-guide.md`, `defs/seo-guide.md`, `gen/gen-design-guide-interaction.md`
|
|
7
|
+
>
|
|
8
|
+
> **참고**: `defs/domain-features.md`는 web-design 스킬에 포함되지 않음 (3ds 전용).
|
|
9
|
+
> 도메인 전문 컴포넌트가 필요하면 `defs/component-specs/domains/` 하위 파일을 참조합니다.
|
|
10
|
+
|
|
11
|
+
## 실행 조건
|
|
12
|
+
|
|
13
|
+
collect/collect-style.md 완료 시 자동 실행
|
|
14
|
+
|
|
15
|
+
**추가 조건**: `config.design_guide_scope != 'none'`
|
|
16
|
+
|
|
17
|
+
| config.design_guide_scope | 생성 섹션 |
|
|
18
|
+
|---------------------------|----------|
|
|
19
|
+
| `full` | 섹션 1~8 전체 |
|
|
20
|
+
| `style_only` | 섹션 1, 3, 4만 |
|
|
21
|
+
| `none` | 생성하지 않음 |
|
|
22
|
+
|
|
23
|
+
## 생성 프로세스
|
|
24
|
+
|
|
25
|
+
### 0. 참조 데이터 준비
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
style = defs/styles.md[config.style] # 선택된 스타일의 색상 정보
|
|
29
|
+
sections = defs/design-guide-sections.md # 유형별 섹션 분기 규칙
|
|
30
|
+
theme = config.theme # dark | light | system
|
|
31
|
+
project_type = config.project_type # web | app | desktop | hybrid
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 1. 섹션 1 — 프로젝트 개요
|
|
35
|
+
|
|
36
|
+
config 값을 직접 치환합니다.
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
## 1. 프로젝트 개요 (Project Overview)
|
|
40
|
+
|
|
41
|
+
> 상세: `gen/gen-design-guide/01-project-overview.md` 참조
|
|
42
|
+
|
|
43
|
+
1. **명확성** — 데이터와 상태를 한눈에 파악할 수 있어야 한다.
|