@kood/claude-code 0.1.5 → 0.1.7

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.
Files changed (77) hide show
  1. package/dist/index.js +21 -243
  2. package/package.json +1 -1
  3. package/templates/hono/CLAUDE.md +10 -6
  4. package/templates/hono/docs/deployment/index.md +5 -0
  5. package/templates/hono/docs/library/hono/index.md +6 -0
  6. package/templates/hono/docs/library/prisma/index.md +3 -0
  7. package/templates/npx/CLAUDE.md +8 -2
  8. package/templates/tanstack-start/CLAUDE.md +105 -259
  9. package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
  10. package/templates/tanstack-start/docs/deployment/index.md +57 -286
  11. package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
  12. package/templates/tanstack-start/docs/deployment/railway.md +40 -409
  13. package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
  14. package/templates/tanstack-start/docs/design/accessibility.md +56 -326
  15. package/templates/tanstack-start/docs/design/color.md +37 -179
  16. package/templates/tanstack-start/docs/design/components.md +77 -311
  17. package/templates/tanstack-start/docs/design/index.md +24 -87
  18. package/templates/tanstack-start/docs/design/safe-area.md +51 -250
  19. package/templates/tanstack-start/docs/design/spacing.md +57 -276
  20. package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
  21. package/templates/tanstack-start/docs/design/typography.md +40 -284
  22. package/templates/tanstack-start/docs/guides/best-practices.md +3 -8
  23. package/templates/tanstack-start/docs/guides/env-setup.md +3 -3
  24. package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
  25. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  26. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  27. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  28. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  29. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  30. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  31. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  32. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  33. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  34. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  35. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  36. package/templates/tanstack-start/docs/library/prisma/setup.md +13 -113
  37. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  38. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
  39. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  40. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  41. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -73
  42. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  43. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  44. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  45. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  46. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  47. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  48. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +41 -172
  49. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  50. package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
  51. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  52. package/templates/tanstack-start/docs/library/zod/index.md +22 -150
  53. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  54. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  55. package/templates/hono/docs/commands/git.md +0 -145
  56. package/templates/hono/docs/mcp/context7.md +0 -106
  57. package/templates/hono/docs/mcp/index.md +0 -176
  58. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  59. package/templates/hono/docs/mcp/serena.md +0 -269
  60. package/templates/hono/docs/mcp/sgrep.md +0 -105
  61. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  62. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  63. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  64. package/templates/npx/docs/commands/git.md +0 -145
  65. package/templates/npx/docs/mcp/index.md +0 -60
  66. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  67. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  68. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  69. package/templates/tanstack-start/docs/commands/git.md +0 -145
  70. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  71. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  72. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  73. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  74. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  75. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  76. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  77. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
@@ -1,341 +1,122 @@
1
1
  # 간격과 레이아웃
2
2
 
3
- > **상위 문서**: [UI/UX 디자인 가이드](./index.md)
4
-
5
- 간격(Spacing)은 요소들 사이의 여백을 말합니다. 적절한 간격은 콘텐츠를 읽기 쉽게 만들고 시각적 계층을 형성합니다.
6
-
7
- ## 왜 간격이 중요한가?
8
-
9
- ### 간격 없는 디자인 vs 적절한 간격
10
-
11
- ```
12
- ❌ 간격 없음 ✅ 적절한 간격
13
- ┌──────────────────┐ ┌──────────────────┐
14
- │제목본문텍스트버튼│ │ │
15
- │모든것이붙어있음 │ │ 제목 │
16
- │읽기가어려움 │ │ │
17
- └──────────────────┘ │ 본문 텍스트 │
18
- │ │
19
- │ [ 버튼 ] │
20
- │ │
21
- └──────────────────┘
22
- ```
23
-
24
- ## 8px 그리드 시스템
25
-
26
- ### 왜 8px인가?
27
-
28
- - 대부분의 화면 해상도에서 깔끔하게 나눠짐
29
- - 계산이 쉬움 (8, 16, 24, 32...)
30
- - 반응형 디자인에 유리
31
-
32
- ### Tailwind 간격 스케일
3
+ ## 8px 그리드
33
4
 
34
5
  ```css
35
- /* 기본 단위: 1 = 0.25rem = 4px */
36
-
37
- /* 주로 사용하는 간격 */
38
- 14px (0.25rem) 아주 작은 간격
39
- 28px (0.5rem) 작은 간격
40
- 3 12px (0.75rem)
41
- 4 16px (1rem) 기본 간격
42
- 5 → 20px (1.25rem)
43
- 6 → 24px (1.5rem) 중간 간격
44
- 8 → 32px (2rem) 큰 간격
45
- 10 → 40px (2.5rem)
46
- 12 → 48px (3rem) 섹션 간격
47
- 16 → 64px (4rem) 페이지 섹션
48
- 20 → 80px (5rem)
49
- 24 → 96px (6rem) 대형 섹션
6
+ 1 4px 아주 작은 간격
7
+ 2 → 8px 작은 간격
8
+ 4 → 16px 기본 간격
9
+ 624px 중간 간격
10
+ 832px 간격
11
+ 12 48px 섹션 간격
12
+ 16 64px 페이지 섹션
50
13
  ```
51
14
 
52
- ### 간격 사용 가이드
53
-
54
- | 용도 | 간격 | Tailwind | 실제 크기 |
55
- |------|------|----------|----------|
56
- | 아이콘-텍스트 | xs | `gap-1` | 4px |
57
- | 인라인 요소 | sm | `gap-2` | 8px |
58
- | 필드 내부 | md | `p-3` | 12px |
59
- | 카드 내부 | lg | `p-4` | 16px |
60
- | 카드 간격 | xl | `gap-6` | 24px |
61
- | 섹션 내부 | 2xl | `py-8` | 32px |
62
- | 섹션 간격 | 3xl | `py-12` | 48px |
63
- | 페이지 섹션 | 4xl | `py-16` | 64px |
64
-
65
- ## 간격 유형
15
+ | 용도 | Tailwind | 크기 |
16
+ |------|----------|------|
17
+ | 아이콘-텍스트 | gap-1 | 4px |
18
+ | 인라인 요소 | gap-2 | 8px |
19
+ | 카드 내부 | p-4 | 16px |
20
+ | 카드 간격 | gap-6 | 24px |
21
+ | 섹션 간격 | py-12 | 48px |
66
22
 
67
- ### 1. Padding (내부 여백)
68
-
69
- 요소 안쪽의 여백입니다.
23
+ ## Padding vs Margin vs Gap
70
24
 
71
25
  ```tsx
72
- // 전체 방향
73
- <div className="p-4">16px 전체</div>
74
-
75
- // 개별 방향
76
- <div className="pt-4">위 16px</div>
77
- <div className="pr-4">오른쪽 16px</div>
78
- <div className="pb-4">아래 16px</div>
79
- <div className="pl-4">왼쪽 16px</div>
26
+ // Padding (내부 여백)
27
+ <div className="p-4"> {/* 전체 16px */}
28
+ <div className="px-4 py-2"> {/* 좌우 16px, 상하 8px */}
80
29
 
81
- // 방향
82
- <div className="px-4">좌우 16px</div>
83
- <div className="py-4">상하 16px</div>
84
- ```
85
-
86
- ### 2. Margin (외부 여백)
87
-
88
- 요소 바깥쪽의 여백입니다.
89
-
90
- ```tsx
91
- // 전체 방향
92
- <div className="m-4">16px 전체</div>
30
+ // Margin (외부 여백)
31
+ <div className="mb-4"> {/* 아래 16px */}
32
+ <div className="mx-auto"> {/* 좌우 중앙 */}
93
33
 
94
- // 개별 방향
95
- <div className="mt-4">위 16px</div>
96
- <div className="mr-4">오른쪽 16px</div>
97
- <div className="mb-4">아래 16px</div>
98
- <div className="ml-4">왼쪽 16px</div>
99
-
100
- // 자동 마진 (중앙 정렬)
101
- <div className="mx-auto">좌우 중앙</div>
102
- ```
103
-
104
- ### 3. Gap (그리드/플렉스 간격)
105
-
106
- Flexbox나 Grid 아이템 간의 간격입니다.
107
-
108
- ```tsx
109
- // Flexbox에서
34
+ // Gap (Flex/Grid 간격)
110
35
  <div className="flex gap-4">
111
- <div>아이템 1</div>
112
- <div>아이템 2</div> {/* 16px 간격 */}
113
- <div>아이템 3</div>
114
- </div>
115
-
116
- // Grid에서
117
- <div className="grid grid-cols-3 gap-6">
118
- <div>카드 1</div>
119
- <div>카드 2</div> {/* 24px 간격 */}
120
- <div>카드 3</div>
121
- </div>
122
-
123
- // 축별 gap
124
- <div className="flex gap-x-4 gap-y-2">
125
- {/* 가로 16px, 세로 8px */}
126
- </div>
36
+ <div className="grid gap-6">
127
37
  ```
128
38
 
129
- ## 실전 레이아웃 패턴
130
-
131
- ### 1. 카드 컴포넌트
39
+ ## 레이아웃 패턴
132
40
 
41
+ ### 카드
133
42
  ```tsx
134
- <div className="p-6 rounded-lg border border-gray-200">
135
- {/* 제목 - 아래 간격 */}
136
- <h3 className="text-lg font-semibold mb-2">카드 제목</h3>
137
-
138
- {/* 본문 - 아래 간격 */}
139
- <p className="text-gray-600 mb-4">
140
- 카드 설명 텍스트입니다.
141
- </p>
142
-
143
- {/* 버튼 그룹 */}
43
+ <div className="p-6 rounded-lg border">
44
+ <h3 className="text-lg font-semibold mb-2">제목</h3>
45
+ <p className="text-gray-600 mb-4">본문</p>
144
46
  <div className="flex gap-2">
145
- <button className="px-4 py-2">취소</button>
146
- <button className="px-4 py-2">확인</button>
47
+ <button>취소</button>
48
+ <button>확인</button>
147
49
  </div>
148
50
  </div>
149
51
  ```
150
52
 
151
- ### 2. 레이아웃
152
-
53
+ ### 폼
153
54
  ```tsx
154
55
  <form className="space-y-6">
155
- {/* 필드 그룹 */}
156
56
  <div className="space-y-4">
157
57
  <div>
158
58
  <label className="block text-sm font-medium mb-1">이름</label>
159
59
  <input className="w-full px-3 py-2 border rounded" />
160
60
  </div>
161
-
162
- <div>
163
- <label className="block text-sm font-medium mb-1">이메일</label>
164
- <input className="w-full px-3 py-2 border rounded" />
165
- </div>
166
61
  </div>
167
-
168
- {/* 버튼 영역 */}
169
62
  <div className="flex justify-end gap-3">
170
- <button className="px-4 py-2">취소</button>
171
- <button className="px-4 py-2 bg-blue-600 text-white">저장</button>
63
+ <button>취소</button>
64
+ <button className="bg-blue-600 text-white">저장</button>
172
65
  </div>
173
66
  </form>
174
67
  ```
175
68
 
176
- ### 3. 페이지 섹션
177
-
178
- ```tsx
179
- <main className="py-12">
180
- {/* 히어로 섹션 */}
181
- <section className="py-16 px-4">
182
- <div className="max-w-4xl mx-auto text-center">
183
- <h1 className="text-4xl font-bold mb-4">히어로 제목</h1>
184
- <p className="text-xl text-gray-600 mb-8">서브 타이틀</p>
185
- <button>시작하기</button>
186
- </div>
187
- </section>
188
-
189
- {/* 기능 섹션 */}
190
- <section className="py-16 px-4 bg-gray-50">
191
- <div className="max-w-6xl mx-auto">
192
- <h2 className="text-3xl font-bold text-center mb-12">주요 기능</h2>
193
- <div className="grid grid-cols-3 gap-8">
194
- {/* 카드들 */}
195
- </div>
196
- </div>
197
- </section>
198
- </main>
199
- ```
200
-
201
- ### 4. 네비게이션 바
202
-
69
+ ### 네비게이션
203
70
  ```tsx
204
71
  <nav className="px-4 py-3 border-b">
205
72
  <div className="max-w-6xl mx-auto flex items-center justify-between">
206
- {/* 로고 */}
207
- <div className="font-bold text-xl">Logo</div>
208
-
209
- {/* 메뉴 */}
210
- <div className="flex items-center gap-6">
211
- <a href="#">메뉴 1</a>
212
- <a href="#">메뉴 2</a>
213
- <a href="#">메뉴 3</a>
214
- </div>
215
-
216
- {/* 액션 */}
217
- <div className="flex items-center gap-3">
218
- <button className="px-3 py-1.5">로그인</button>
219
- <button className="px-3 py-1.5 bg-blue-600 text-white rounded">
220
- 시작하기
221
- </button>
222
- </div>
73
+ <div>Logo</div>
74
+ <div className="flex items-center gap-6">{/* 메뉴 */}</div>
75
+ <div className="flex items-center gap-3">{/* 액션 */}</div>
223
76
  </div>
224
77
  </nav>
225
78
  ```
226
79
 
227
80
  ## 반응형 간격
228
81
 
229
- ### 화면 크기별 간격 조정
230
-
231
82
  ```tsx
232
- // 모바일에서 작게, 데스크탑에서 크게
233
83
  <section className="py-8 md:py-12 lg:py-16">
234
84
  <div className="px-4 md:px-6 lg:px-8">
235
- {/* 콘텐츠 */}
236
- </div>
237
- </section>
238
-
239
- // 그리드 간격 조정
240
85
  <div className="grid gap-4 md:gap-6 lg:gap-8">
241
- {/* 아이템들 */}
242
- </div>
243
86
  ```
244
87
 
245
- ### 브레이크포인트별 권장 간격
246
-
247
- | 요소 | Mobile | Tablet (md) | Desktop (lg) |
248
- |------|--------|-------------|--------------|
249
- | 컨테이너 패딩 | 16px | 24px | 32px |
250
- | 섹션 간격 | 32px | 48px | 64px |
251
- | 카드 간격 | 16px | 24px | 32px |
252
- | 그리드 gap | 16px | 24px | 32px |
253
-
254
88
  ## 시각적 그룹핑
255
89
 
256
- ### 근접성의 법칙
257
-
258
- > 가까이 있는 요소는 관련있어 보입니다.
259
-
260
90
  ```tsx
261
- // ✅ 좋은 - 관련 요소 그룹핑
262
- <div>
263
- <div className="mb-6">
264
- <h3 className="mb-2">제목</h3> {/* 밀접: 8px */}
265
- <p>설명 텍스트</p> {/* 같은 그룹 */}
266
- </div>
267
- {/* 분리: 24px */}
268
- <div className="mb-6">
269
- <h3 className="mb-2">다른 제목</h3> {/* 새 그룹 */}
270
- <p>다른 설명</p>
271
- </div>
272
- </div>
273
-
274
- // ❌ 나쁜 예 - 같은 간격으로 그룹 불명확
275
- <div>
276
- <h3 className="mb-4">제목</h3> {/* 16px */}
277
- <p className="mb-4">설명 텍스트</p> {/* 16px - 구분 안됨 */}
278
- <h3 className="mb-4">다른 제목</h3> {/* 16px - 구분 안됨 */}
279
- <p className="mb-4">다른 설명</p>
91
+ // ✅ 관련 요소 가깝게, 다른 그룹 멀리
92
+ <div className="mb-6">
93
+ <h3 className="mb-2">제목</h3> {/* 밀접: 8px */}
94
+ <p>설명</p>
95
+ </div> {/* 분리: 24px */}
96
+ <div className="mb-6">
97
+ <h3 className="mb-2">다른 제목</h3>
98
+ <p>다른 설명</p>
280
99
  </div>
281
100
  ```
282
101
 
283
- ### 간격 비율 권장
284
-
285
- ```
286
- 같은 그룹 내 요소: 8-12px (gap-2, gap-3)
287
- 그룹과 그룹 사이: 24-32px (gap-6, gap-8)
288
- 섹션과 섹션 사이: 48-64px (py-12, py-16)
289
- ```
290
-
291
- ## 컨테이너와 최대 너비
292
-
293
- ### 표준 컨테이너
102
+ ## 컨테이너
294
103
 
295
104
  ```tsx
296
- // 기본 컨테이너
297
- <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
298
- {/* 콘텐츠 */}
299
- </div>
300
-
301
- // 좁은 콘텐츠 (블로그, 문서)
302
- <div className="max-w-3xl mx-auto px-4">
303
- {/* 텍스트 콘텐츠 */}
304
- </div>
305
-
306
- // 넓은 콘텐츠 (대시보드)
307
- <div className="max-w-full px-4 lg:px-8">
308
- {/* 전체 너비 콘텐츠 */}
309
- </div>
105
+ <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> {/* 기본 */}
106
+ <div className="max-w-3xl mx-auto px-4"> {/* 좁은 (블로그) */}
310
107
  ```
311
108
 
312
- ### 최대 너비 옵션
313
-
314
109
  ```css
315
- max-w-sm 384px 좁은 카드
316
- max-w-md 448px 폼
317
- max-w-lg 512px 모달
318
- max-w-xl 576px 넓은 모달
319
- max-w-2xl 672px 중간 콘텐츠
320
- max-w-3xl 768px 블로그 글
321
- max-w-4xl 896px 문서
322
- max-w-5xl 1024px 표준 콘텐츠
323
- max-w-6xl 1152px 넓은 콘텐츠
324
- max-w-7xl 1280px 대시보드
110
+ max-w-md 448px 폼
111
+ max-w-lg 512px 모달
112
+ max-w-3xl 768px 블로그
113
+ max-w-5xl 1024px 표준
114
+ max-w-7xl 1280px 대시보드
325
115
  ```
326
116
 
327
117
  ## 체크리스트
328
118
 
329
- ### 반드시 지켜야
330
-
331
- - [ ] 일관된 간격 단위 사용 (8px 배수)
332
- - [ ] 관련 요소는 가깝게, 다른 그룹은 멀리
119
+ - [ ] 8px 배수 사용
120
+ - [ ] 관련 요소 가깝게, 다른 그룹 멀리
333
121
  - [ ] 반응형 간격 적용
334
- - [ ] 충분한 터치 영역 (최소 44px)
335
-
336
- ### 권장 사항
337
-
338
- - [ ] `space-y-*`, `gap-*` 유틸리티 활용
339
- - [ ] 섹션마다 일관된 패딩 적용
340
- - [ ] 최대 너비로 가독성 확보
341
- - [ ] 여백으로 시각적 계층 표현
122
+ - [ ] 터치 영역 최소 44px