@kood/claude-code 0.1.6 → 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 (75) 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 +103 -255
  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/library/better-auth/2fa.md +27 -115
  23. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  24. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  25. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  26. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  27. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  28. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  29. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  30. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  31. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  32. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  33. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  34. package/templates/tanstack-start/docs/library/prisma/setup.md +12 -112
  35. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  36. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
  37. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  38. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  39. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -70
  40. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  41. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  42. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  43. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  44. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  45. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  46. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +34 -246
  47. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  48. package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
  49. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  50. package/templates/tanstack-start/docs/library/zod/index.md +22 -150
  51. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  52. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  53. package/templates/hono/docs/commands/git.md +0 -145
  54. package/templates/hono/docs/mcp/context7.md +0 -106
  55. package/templates/hono/docs/mcp/index.md +0 -176
  56. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  57. package/templates/hono/docs/mcp/serena.md +0 -269
  58. package/templates/hono/docs/mcp/sgrep.md +0 -105
  59. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  60. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  61. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  62. package/templates/npx/docs/commands/git.md +0 -145
  63. package/templates/npx/docs/mcp/index.md +0 -60
  64. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  65. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  66. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  67. package/templates/tanstack-start/docs/commands/git.md +0 -145
  68. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  69. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  70. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  71. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  72. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  73. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  74. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  75. 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