yodogawa 2.1.3 → 2.2.0
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/CHANGELOG.md +134 -94
- package/LICENSE +1 -1
- package/README.md +351 -263
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -67
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -55
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
- package/skills/a-002-initialize-project/SKILL.md +145 -118
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +97 -96
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +107 -98
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +59 -22
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +27 -7
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +53 -18
- package/skills/a-007-define-tech-stack/SKILL.md +99 -99
- package/skills/a-008-define-repository-structure/SKILL.md +96 -96
- package/skills/a-009-define-screen-design/SKILL.md +103 -103
- package/skills/a-010-define-design-system/SKILL.md +130 -130
- package/skills/a-011-define-data-model/SKILL.md +118 -118
- package/skills/a-012-define-api-spec/SKILL.md +105 -105
- package/skills/a-013-define-architecture/SKILL.md +98 -98
- package/skills/a-014-define-infrastructure/SKILL.md +118 -110
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/reference/consistency-checks.md +1 -1
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -114
- package/skills/b-003-create-task-research/SKILL.md +128 -128
- package/skills/b-004-create-task-implementation/SKILL.md +98 -98
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
- package/skills/c-001-implement-task/SKILL.md +186 -186
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
- package/skills/c-002-update-documentation/SKILL.md +159 -159
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
|
@@ -1,261 +1,261 @@
|
|
|
1
|
-
# デザインシステム
|
|
2
|
-
|
|
3
|
-
> 最終更新: YYYY-MM-DD
|
|
4
|
-
|
|
5
|
-
## 概要
|
|
6
|
-
|
|
7
|
-
このドキュメントでは、プロジェクト全体で使用するデザインシステムを定義します。
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## カラーパレット
|
|
12
|
-
|
|
13
|
-
### Primary Colors
|
|
14
|
-
|
|
15
|
-
| 名前 | HEX | 用途 |
|
|
16
|
-
| ----------- | --------- | -------------- |
|
|
17
|
-
| primary-50 | `#eff6ff` | 背景(薄) |
|
|
18
|
-
| primary-100 | `#dbeafe` | ホバー状態 |
|
|
19
|
-
| primary-500 | `#3b82f6` | メインカラー |
|
|
20
|
-
| primary-600 | `#2563eb` | ホバー(濃) |
|
|
21
|
-
| primary-900 | `#1e3a8a` | テキスト(濃) |
|
|
22
|
-
|
|
23
|
-
### Secondary Colors
|
|
24
|
-
|
|
25
|
-
| 名前 | HEX | 用途 |
|
|
26
|
-
| ------------- | --------- | ---------- |
|
|
27
|
-
| secondary-500 | `#8b5cf6` | アクセント |
|
|
28
|
-
|
|
29
|
-
### Semantic Colors
|
|
30
|
-
|
|
31
|
-
| 名前 | HEX | 用途 |
|
|
32
|
-
| ------- | --------- | ------------ |
|
|
33
|
-
| success | `#22c55e` | 成功、完了 |
|
|
34
|
-
| warning | `#f59e0b` | 警告、注意 |
|
|
35
|
-
| error | `#ef4444` | エラー、削除 |
|
|
36
|
-
| info | `#0ea5e9` | 情報、ヘルプ |
|
|
37
|
-
|
|
38
|
-
### Neutral Colors
|
|
39
|
-
|
|
40
|
-
| 名前 | HEX | 用途 |
|
|
41
|
-
| -------- | --------- | ---------------- |
|
|
42
|
-
| gray-50 | `#f9fafb` | 背景(明) |
|
|
43
|
-
| gray-100 | `#f3f4f6` | カード背景 |
|
|
44
|
-
| gray-200 | `#e5e7eb` | ボーダー |
|
|
45
|
-
| gray-400 | `#9ca3af` | プレースホルダー |
|
|
46
|
-
| gray-500 | `#6b7280` | サブテキスト |
|
|
47
|
-
| gray-700 | `#374151` | 本文テキスト |
|
|
48
|
-
| gray-900 | `#111827` | 見出しテキスト |
|
|
49
|
-
|
|
50
|
-
### Dark Mode(必要な場合)
|
|
51
|
-
|
|
52
|
-
<!-- Dark Mode用のカラー定義 -->
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## タイポグラフィ
|
|
57
|
-
|
|
58
|
-
### フォントファミリー
|
|
59
|
-
|
|
60
|
-
| 用途 | フォント |
|
|
61
|
-
| ------ | ----------------------------- |
|
|
62
|
-
| 見出し | `Inter`, `Noto Sans JP` |
|
|
63
|
-
| 本文 | `Inter`, `Noto Sans JP` |
|
|
64
|
-
| コード | `JetBrains Mono`, `monospace` |
|
|
65
|
-
|
|
66
|
-
### フォントサイズ
|
|
67
|
-
|
|
68
|
-
| 名前 | サイズ | 行間 | 用途 |
|
|
69
|
-
| ---- | ------ | ---- | ---------------- |
|
|
70
|
-
| xs | 12px | 1.5 | キャプション |
|
|
71
|
-
| sm | 14px | 1.5 | 補足テキスト |
|
|
72
|
-
| base | 16px | 1.5 | 本文 |
|
|
73
|
-
| lg | 18px | 1.5 | リード文 |
|
|
74
|
-
| xl | 20px | 1.4 | 小見出し |
|
|
75
|
-
| 2xl | 24px | 1.3 | セクション見出し |
|
|
76
|
-
| 3xl | 30px | 1.2 | ページタイトル |
|
|
77
|
-
| 4xl | 36px | 1.1 | ヒーロー見出し |
|
|
78
|
-
|
|
79
|
-
### フォントウェイト
|
|
80
|
-
|
|
81
|
-
| 名前 | 値 | 用途 |
|
|
82
|
-
| -------- | --- | ------------ |
|
|
83
|
-
| normal | 400 | 本文 |
|
|
84
|
-
| medium | 500 | 強調 |
|
|
85
|
-
| semibold | 600 | 見出し |
|
|
86
|
-
| bold | 700 | 重要な見出し |
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## スペーシング
|
|
91
|
-
|
|
92
|
-
### スケール(4px ベース)
|
|
93
|
-
|
|
94
|
-
| 名前 | 値 | ピクセル |
|
|
95
|
-
| ---- | ------- | -------- |
|
|
96
|
-
| 0 | 0 | 0px |
|
|
97
|
-
| 1 | 0.25rem | 4px |
|
|
98
|
-
| 2 | 0.5rem | 8px |
|
|
99
|
-
| 3 | 0.75rem | 12px |
|
|
100
|
-
| 4 | 1rem | 16px |
|
|
101
|
-
| 5 | 1.25rem | 20px |
|
|
102
|
-
| 6 | 1.5rem | 24px |
|
|
103
|
-
| 8 | 2rem | 32px |
|
|
104
|
-
| 10 | 2.5rem | 40px |
|
|
105
|
-
| 12 | 3rem | 48px |
|
|
106
|
-
| 16 | 4rem | 64px |
|
|
107
|
-
|
|
108
|
-
### 使用ガイドライン
|
|
109
|
-
|
|
110
|
-
- **コンポーネント内部**: 2〜4 (8〜16px)
|
|
111
|
-
- **セクション間**: 8〜12 (32〜48px)
|
|
112
|
-
- **ページ余白**: 4〜6 (16〜24px)
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## コンポーネントスタイル
|
|
117
|
-
|
|
118
|
-
### ボタン
|
|
119
|
-
|
|
120
|
-
#### バリアント
|
|
121
|
-
|
|
122
|
-
| バリアント | 背景 | テキスト | 用途 |
|
|
123
|
-
| ---------- | ----------- | ----------- | ------------------ |
|
|
124
|
-
| Primary | primary-500 | white | 主要アクション |
|
|
125
|
-
| Secondary | gray-100 | gray-700 | 副次アクション |
|
|
126
|
-
| Outline | transparent | primary-500 | 代替アクション |
|
|
127
|
-
| Ghost | transparent | gray-700 | 控えめなアクション |
|
|
128
|
-
| Danger | error | white | 削除、危険操作 |
|
|
129
|
-
|
|
130
|
-
#### サイズ
|
|
131
|
-
|
|
132
|
-
| サイズ | パディング | フォント |
|
|
133
|
-
| ------ | ---------- | -------- |
|
|
134
|
-
| sm | 8px 12px | 14px |
|
|
135
|
-
| md | 10px 16px | 16px |
|
|
136
|
-
| lg | 12px 20px | 18px |
|
|
137
|
-
|
|
138
|
-
#### ステート
|
|
139
|
-
|
|
140
|
-
- **Default**: 通常状態
|
|
141
|
-
- **Hover**: 明度を10%変更
|
|
142
|
-
- **Active**: 明度を20%変更
|
|
143
|
-
- **Disabled**: opacity: 0.5, cursor: not-allowed
|
|
144
|
-
- **Loading**: スピナー表示
|
|
145
|
-
|
|
146
|
-
### フォーム要素
|
|
147
|
-
|
|
148
|
-
#### Input
|
|
149
|
-
|
|
150
|
-
| プロパティ | 値 |
|
|
151
|
-
| ---------- | ------------------ |
|
|
152
|
-
| 高さ | 40px (md) |
|
|
153
|
-
| ボーダー | 1px solid gray-200 |
|
|
154
|
-
| 角丸 | 6px |
|
|
155
|
-
| Focus | ring-2 primary-500 |
|
|
156
|
-
| Error | border-error |
|
|
157
|
-
|
|
158
|
-
#### その他
|
|
159
|
-
|
|
160
|
-
- **Textarea**: Inputと同様、min-height: 100px
|
|
161
|
-
- **Select**: Inputと同様 + ドロップダウンアイコン
|
|
162
|
-
- **Checkbox/Radio**: 20px × 20px
|
|
163
|
-
|
|
164
|
-
### カード
|
|
165
|
-
|
|
166
|
-
| プロパティ | 値 |
|
|
167
|
-
| ---------- | ------------------------- |
|
|
168
|
-
| 背景 | white |
|
|
169
|
-
| ボーダー | 1px solid gray-200 |
|
|
170
|
-
| 角丸 | 8px |
|
|
171
|
-
| シャドウ | 0 1px 3px rgba(0,0,0,0.1) |
|
|
172
|
-
| パディング | 16px〜24px |
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## アイコン
|
|
177
|
-
|
|
178
|
-
### ライブラリ
|
|
179
|
-
|
|
180
|
-
- **推奨**: Lucide Icons / Heroicons
|
|
181
|
-
|
|
182
|
-
### サイズ
|
|
183
|
-
|
|
184
|
-
| 名前 | サイズ | 用途 |
|
|
185
|
-
| ---- | ------ | -------------- |
|
|
186
|
-
| sm | 16px | インライン |
|
|
187
|
-
| md | 20px | ボタン内 |
|
|
188
|
-
| lg | 24px | 単独表示 |
|
|
189
|
-
| xl | 32px | 特徴セクション |
|
|
190
|
-
|
|
191
|
-
### スタイル
|
|
192
|
-
|
|
193
|
-
- **統一**: Outline または Solid(混在させない)
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## アニメーション
|
|
198
|
-
|
|
199
|
-
### Duration
|
|
200
|
-
|
|
201
|
-
| 名前 | 値 | 用途 |
|
|
202
|
-
| ------ | ----- | ------------------ |
|
|
203
|
-
| fast | 150ms | ホバー、フォーカス |
|
|
204
|
-
| normal | 300ms | パネル開閉 |
|
|
205
|
-
| slow | 500ms | ページ遷移 |
|
|
206
|
-
|
|
207
|
-
### Easing
|
|
208
|
-
|
|
209
|
-
- **デフォルト**: `ease-in-out`
|
|
210
|
-
- **入場**: `ease-out`
|
|
211
|
-
- **退場**: `ease-in`
|
|
212
|
-
|
|
213
|
-
### 使用例
|
|
214
|
-
|
|
215
|
-
```css
|
|
216
|
-
.button {
|
|
217
|
-
transition: background-color 150ms ease-in-out;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
.modal {
|
|
221
|
-
transition:
|
|
222
|
-
opacity 300ms ease-out,
|
|
223
|
-
transform 300ms ease-out;
|
|
224
|
-
}
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
---
|
|
228
|
-
|
|
229
|
-
## CSS変数(参考実装)
|
|
230
|
-
|
|
231
|
-
```css
|
|
232
|
-
:root {
|
|
233
|
-
/* Colors */
|
|
234
|
-
--color-primary-500: #3b82f6;
|
|
235
|
-
--color-success: #22c55e;
|
|
236
|
-
--color-warning: #f59e0b;
|
|
237
|
-
--color-error: #ef4444;
|
|
238
|
-
|
|
239
|
-
/* Typography */
|
|
240
|
-
--font-sans: "Inter", "Noto Sans JP", sans-serif;
|
|
241
|
-
--font-mono: "JetBrains Mono", monospace;
|
|
242
|
-
|
|
243
|
-
/* Spacing */
|
|
244
|
-
--space-1: 0.25rem;
|
|
245
|
-
--space-2: 0.5rem;
|
|
246
|
-
--space-4: 1rem;
|
|
247
|
-
--space-8: 2rem;
|
|
248
|
-
|
|
249
|
-
/* Transitions */
|
|
250
|
-
--transition-fast: 150ms ease-in-out;
|
|
251
|
-
--transition-normal: 300ms ease-in-out;
|
|
252
|
-
}
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## 変更履歴
|
|
258
|
-
|
|
259
|
-
| バージョン | 日付 | 変更内容 |
|
|
260
|
-
| ---------- | ---------- | -------- |
|
|
261
|
-
| 1.0 | YYYY-MM-DD | 初版作成 |
|
|
1
|
+
# デザインシステム
|
|
2
|
+
|
|
3
|
+
> 最終更新: YYYY-MM-DD
|
|
4
|
+
|
|
5
|
+
## 概要
|
|
6
|
+
|
|
7
|
+
このドキュメントでは、プロジェクト全体で使用するデザインシステムを定義します。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## カラーパレット
|
|
12
|
+
|
|
13
|
+
### Primary Colors
|
|
14
|
+
|
|
15
|
+
| 名前 | HEX | 用途 |
|
|
16
|
+
| ----------- | --------- | -------------- |
|
|
17
|
+
| primary-50 | `#eff6ff` | 背景(薄) |
|
|
18
|
+
| primary-100 | `#dbeafe` | ホバー状態 |
|
|
19
|
+
| primary-500 | `#3b82f6` | メインカラー |
|
|
20
|
+
| primary-600 | `#2563eb` | ホバー(濃) |
|
|
21
|
+
| primary-900 | `#1e3a8a` | テキスト(濃) |
|
|
22
|
+
|
|
23
|
+
### Secondary Colors
|
|
24
|
+
|
|
25
|
+
| 名前 | HEX | 用途 |
|
|
26
|
+
| ------------- | --------- | ---------- |
|
|
27
|
+
| secondary-500 | `#8b5cf6` | アクセント |
|
|
28
|
+
|
|
29
|
+
### Semantic Colors
|
|
30
|
+
|
|
31
|
+
| 名前 | HEX | 用途 |
|
|
32
|
+
| ------- | --------- | ------------ |
|
|
33
|
+
| success | `#22c55e` | 成功、完了 |
|
|
34
|
+
| warning | `#f59e0b` | 警告、注意 |
|
|
35
|
+
| error | `#ef4444` | エラー、削除 |
|
|
36
|
+
| info | `#0ea5e9` | 情報、ヘルプ |
|
|
37
|
+
|
|
38
|
+
### Neutral Colors
|
|
39
|
+
|
|
40
|
+
| 名前 | HEX | 用途 |
|
|
41
|
+
| -------- | --------- | ---------------- |
|
|
42
|
+
| gray-50 | `#f9fafb` | 背景(明) |
|
|
43
|
+
| gray-100 | `#f3f4f6` | カード背景 |
|
|
44
|
+
| gray-200 | `#e5e7eb` | ボーダー |
|
|
45
|
+
| gray-400 | `#9ca3af` | プレースホルダー |
|
|
46
|
+
| gray-500 | `#6b7280` | サブテキスト |
|
|
47
|
+
| gray-700 | `#374151` | 本文テキスト |
|
|
48
|
+
| gray-900 | `#111827` | 見出しテキスト |
|
|
49
|
+
|
|
50
|
+
### Dark Mode(必要な場合)
|
|
51
|
+
|
|
52
|
+
<!-- Dark Mode用のカラー定義 -->
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## タイポグラフィ
|
|
57
|
+
|
|
58
|
+
### フォントファミリー
|
|
59
|
+
|
|
60
|
+
| 用途 | フォント |
|
|
61
|
+
| ------ | ----------------------------- |
|
|
62
|
+
| 見出し | `Inter`, `Noto Sans JP` |
|
|
63
|
+
| 本文 | `Inter`, `Noto Sans JP` |
|
|
64
|
+
| コード | `JetBrains Mono`, `monospace` |
|
|
65
|
+
|
|
66
|
+
### フォントサイズ
|
|
67
|
+
|
|
68
|
+
| 名前 | サイズ | 行間 | 用途 |
|
|
69
|
+
| ---- | ------ | ---- | ---------------- |
|
|
70
|
+
| xs | 12px | 1.5 | キャプション |
|
|
71
|
+
| sm | 14px | 1.5 | 補足テキスト |
|
|
72
|
+
| base | 16px | 1.5 | 本文 |
|
|
73
|
+
| lg | 18px | 1.5 | リード文 |
|
|
74
|
+
| xl | 20px | 1.4 | 小見出し |
|
|
75
|
+
| 2xl | 24px | 1.3 | セクション見出し |
|
|
76
|
+
| 3xl | 30px | 1.2 | ページタイトル |
|
|
77
|
+
| 4xl | 36px | 1.1 | ヒーロー見出し |
|
|
78
|
+
|
|
79
|
+
### フォントウェイト
|
|
80
|
+
|
|
81
|
+
| 名前 | 値 | 用途 |
|
|
82
|
+
| -------- | --- | ------------ |
|
|
83
|
+
| normal | 400 | 本文 |
|
|
84
|
+
| medium | 500 | 強調 |
|
|
85
|
+
| semibold | 600 | 見出し |
|
|
86
|
+
| bold | 700 | 重要な見出し |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## スペーシング
|
|
91
|
+
|
|
92
|
+
### スケール(4px ベース)
|
|
93
|
+
|
|
94
|
+
| 名前 | 値 | ピクセル |
|
|
95
|
+
| ---- | ------- | -------- |
|
|
96
|
+
| 0 | 0 | 0px |
|
|
97
|
+
| 1 | 0.25rem | 4px |
|
|
98
|
+
| 2 | 0.5rem | 8px |
|
|
99
|
+
| 3 | 0.75rem | 12px |
|
|
100
|
+
| 4 | 1rem | 16px |
|
|
101
|
+
| 5 | 1.25rem | 20px |
|
|
102
|
+
| 6 | 1.5rem | 24px |
|
|
103
|
+
| 8 | 2rem | 32px |
|
|
104
|
+
| 10 | 2.5rem | 40px |
|
|
105
|
+
| 12 | 3rem | 48px |
|
|
106
|
+
| 16 | 4rem | 64px |
|
|
107
|
+
|
|
108
|
+
### 使用ガイドライン
|
|
109
|
+
|
|
110
|
+
- **コンポーネント内部**: 2〜4 (8〜16px)
|
|
111
|
+
- **セクション間**: 8〜12 (32〜48px)
|
|
112
|
+
- **ページ余白**: 4〜6 (16〜24px)
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## コンポーネントスタイル
|
|
117
|
+
|
|
118
|
+
### ボタン
|
|
119
|
+
|
|
120
|
+
#### バリアント
|
|
121
|
+
|
|
122
|
+
| バリアント | 背景 | テキスト | 用途 |
|
|
123
|
+
| ---------- | ----------- | ----------- | ------------------ |
|
|
124
|
+
| Primary | primary-500 | white | 主要アクション |
|
|
125
|
+
| Secondary | gray-100 | gray-700 | 副次アクション |
|
|
126
|
+
| Outline | transparent | primary-500 | 代替アクション |
|
|
127
|
+
| Ghost | transparent | gray-700 | 控えめなアクション |
|
|
128
|
+
| Danger | error | white | 削除、危険操作 |
|
|
129
|
+
|
|
130
|
+
#### サイズ
|
|
131
|
+
|
|
132
|
+
| サイズ | パディング | フォント |
|
|
133
|
+
| ------ | ---------- | -------- |
|
|
134
|
+
| sm | 8px 12px | 14px |
|
|
135
|
+
| md | 10px 16px | 16px |
|
|
136
|
+
| lg | 12px 20px | 18px |
|
|
137
|
+
|
|
138
|
+
#### ステート
|
|
139
|
+
|
|
140
|
+
- **Default**: 通常状態
|
|
141
|
+
- **Hover**: 明度を10%変更
|
|
142
|
+
- **Active**: 明度を20%変更
|
|
143
|
+
- **Disabled**: opacity: 0.5, cursor: not-allowed
|
|
144
|
+
- **Loading**: スピナー表示
|
|
145
|
+
|
|
146
|
+
### フォーム要素
|
|
147
|
+
|
|
148
|
+
#### Input
|
|
149
|
+
|
|
150
|
+
| プロパティ | 値 |
|
|
151
|
+
| ---------- | ------------------ |
|
|
152
|
+
| 高さ | 40px (md) |
|
|
153
|
+
| ボーダー | 1px solid gray-200 |
|
|
154
|
+
| 角丸 | 6px |
|
|
155
|
+
| Focus | ring-2 primary-500 |
|
|
156
|
+
| Error | border-error |
|
|
157
|
+
|
|
158
|
+
#### その他
|
|
159
|
+
|
|
160
|
+
- **Textarea**: Inputと同様、min-height: 100px
|
|
161
|
+
- **Select**: Inputと同様 + ドロップダウンアイコン
|
|
162
|
+
- **Checkbox/Radio**: 20px × 20px
|
|
163
|
+
|
|
164
|
+
### カード
|
|
165
|
+
|
|
166
|
+
| プロパティ | 値 |
|
|
167
|
+
| ---------- | ------------------------- |
|
|
168
|
+
| 背景 | white |
|
|
169
|
+
| ボーダー | 1px solid gray-200 |
|
|
170
|
+
| 角丸 | 8px |
|
|
171
|
+
| シャドウ | 0 1px 3px rgba(0,0,0,0.1) |
|
|
172
|
+
| パディング | 16px〜24px |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## アイコン
|
|
177
|
+
|
|
178
|
+
### ライブラリ
|
|
179
|
+
|
|
180
|
+
- **推奨**: Lucide Icons / Heroicons
|
|
181
|
+
|
|
182
|
+
### サイズ
|
|
183
|
+
|
|
184
|
+
| 名前 | サイズ | 用途 |
|
|
185
|
+
| ---- | ------ | -------------- |
|
|
186
|
+
| sm | 16px | インライン |
|
|
187
|
+
| md | 20px | ボタン内 |
|
|
188
|
+
| lg | 24px | 単独表示 |
|
|
189
|
+
| xl | 32px | 特徴セクション |
|
|
190
|
+
|
|
191
|
+
### スタイル
|
|
192
|
+
|
|
193
|
+
- **統一**: Outline または Solid(混在させない)
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## アニメーション
|
|
198
|
+
|
|
199
|
+
### Duration
|
|
200
|
+
|
|
201
|
+
| 名前 | 値 | 用途 |
|
|
202
|
+
| ------ | ----- | ------------------ |
|
|
203
|
+
| fast | 150ms | ホバー、フォーカス |
|
|
204
|
+
| normal | 300ms | パネル開閉 |
|
|
205
|
+
| slow | 500ms | ページ遷移 |
|
|
206
|
+
|
|
207
|
+
### Easing
|
|
208
|
+
|
|
209
|
+
- **デフォルト**: `ease-in-out`
|
|
210
|
+
- **入場**: `ease-out`
|
|
211
|
+
- **退場**: `ease-in`
|
|
212
|
+
|
|
213
|
+
### 使用例
|
|
214
|
+
|
|
215
|
+
```css
|
|
216
|
+
.button {
|
|
217
|
+
transition: background-color 150ms ease-in-out;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.modal {
|
|
221
|
+
transition:
|
|
222
|
+
opacity 300ms ease-out,
|
|
223
|
+
transform 300ms ease-out;
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## CSS変数(参考実装)
|
|
230
|
+
|
|
231
|
+
```css
|
|
232
|
+
:root {
|
|
233
|
+
/* Colors */
|
|
234
|
+
--color-primary-500: #3b82f6;
|
|
235
|
+
--color-success: #22c55e;
|
|
236
|
+
--color-warning: #f59e0b;
|
|
237
|
+
--color-error: #ef4444;
|
|
238
|
+
|
|
239
|
+
/* Typography */
|
|
240
|
+
--font-sans: "Inter", "Noto Sans JP", sans-serif;
|
|
241
|
+
--font-mono: "JetBrains Mono", monospace;
|
|
242
|
+
|
|
243
|
+
/* Spacing */
|
|
244
|
+
--space-1: 0.25rem;
|
|
245
|
+
--space-2: 0.5rem;
|
|
246
|
+
--space-4: 1rem;
|
|
247
|
+
--space-8: 2rem;
|
|
248
|
+
|
|
249
|
+
/* Transitions */
|
|
250
|
+
--transition-fast: 150ms ease-in-out;
|
|
251
|
+
--transition-normal: 300ms ease-in-out;
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## 変更履歴
|
|
258
|
+
|
|
259
|
+
| バージョン | 日付 | 変更内容 |
|
|
260
|
+
| ---------- | ---------- | -------- |
|
|
261
|
+
| 1.0 | YYYY-MM-DD | 初版作成 |
|