@intentsolutionsio/fullstack-starter-pack 1.0.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.
@@ -0,0 +1,621 @@
1
+ ---
2
+ name: css-utility-generator
3
+ description: >
4
+ Generate utility CSS classes for spacing, colors, typography, and layout
5
+ shortcut: cug
6
+ category: frontend
7
+ difficulty: beginner
8
+ estimated_time: 2-5 minutes
9
+ ---
10
+ # CSS Utility Generator
11
+
12
+ Generates utility CSS classes similar to Tailwind CSS for common styling needs, creating a custom utility-first CSS framework.
13
+
14
+ ## What This Command Does
15
+
16
+ **Utility Class Generation:**
17
+ - Spacing utilities (margin, padding)
18
+ - Color utilities (background, text, border)
19
+ - Typography utilities (font size, weight, line height)
20
+ - Layout utilities (flexbox, grid, display)
21
+ - Responsive breakpoints
22
+ - Custom design tokens
23
+
24
+ **Output:** Complete utility CSS file with organized sections
25
+
26
+ **Time:** 2-5 minutes
27
+
28
+ ---
29
+
30
+ ## Usage
31
+
32
+ ```bash
33
+ # Generate full utility class system
34
+ /css-utility-generator
35
+
36
+ # Shortcut
37
+ /cug
38
+
39
+ # Generate specific categories
40
+ /cug --categories spacing,colors,typography
41
+
42
+ # Custom design tokens
43
+ /cug --config design-tokens.json
44
+
45
+ # With custom breakpoints
46
+ /cug --breakpoints mobile:640px,tablet:768px,desktop:1024px
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Example Output
52
+
53
+ **Input:**
54
+ ```
55
+ /cug --categories spacing,colors,flex
56
+ ```
57
+
58
+ **Generated utilities.css:**
59
+
60
+ ```css
61
+ /* ==========================================================================
62
+ Utility CSS Classes
63
+ Generated by CSS Utility Generator
64
+ ========================================================================== */
65
+
66
+ /* Spacing Utilities
67
+ ========================================================================== */
68
+
69
+ /* Margin */
70
+ .m-0 { margin: 0; }
71
+ .m-1 { margin: 0.25rem; } /* 4px */
72
+ .m-2 { margin: 0.5rem; } /* 8px */
73
+ .m-3 { margin: 0.75rem; } /* 12px */
74
+ .m-4 { margin: 1rem; } /* 16px */
75
+ .m-5 { margin: 1.25rem; } /* 20px */
76
+ .m-6 { margin: 1.5rem; } /* 24px */
77
+ .m-8 { margin: 2rem; } /* 32px */
78
+ .m-10 { margin: 2.5rem; } /* 40px */
79
+ .m-12 { margin: 3rem; } /* 48px */
80
+ .m-16 { margin: 4rem; } /* 64px */
81
+ .m-auto { margin: auto; }
82
+
83
+ /* Margin Top */
84
+ .mt-0 { margin-top: 0; }
85
+ .mt-1 { margin-top: 0.25rem; }
86
+ .mt-2 { margin-top: 0.5rem; }
87
+ .mt-3 { margin-top: 0.75rem; }
88
+ .mt-4 { margin-top: 1rem; }
89
+ .mt-6 { margin-top: 1.5rem; }
90
+ .mt-8 { margin-top: 2rem; }
91
+ .mt-12 { margin-top: 3rem; }
92
+
93
+ /* Margin Right */
94
+ .mr-0 { margin-right: 0; }
95
+ .mr-1 { margin-right: 0.25rem; }
96
+ .mr-2 { margin-right: 0.5rem; }
97
+ .mr-3 { margin-right: 0.75rem; }
98
+ .mr-4 { margin-right: 1rem; }
99
+ .mr-6 { margin-right: 1.5rem; }
100
+ .mr-8 { margin-right: 2rem; }
101
+ .mr-auto { margin-right: auto; }
102
+
103
+ /* Margin Bottom */
104
+ .mb-0 { margin-bottom: 0; }
105
+ .mb-1 { margin-bottom: 0.25rem; }
106
+ .mb-2 { margin-bottom: 0.5rem; }
107
+ .mb-3 { margin-bottom: 0.75rem; }
108
+ .mb-4 { margin-bottom: 1rem; }
109
+ .mb-6 { margin-bottom: 1.5rem; }
110
+ .mb-8 { margin-bottom: 2rem; }
111
+ .mb-12 { margin-bottom: 3rem; }
112
+
113
+ /* Margin Left */
114
+ .ml-0 { margin-left: 0; }
115
+ .ml-1 { margin-left: 0.25rem; }
116
+ .ml-2 { margin-left: 0.5rem; }
117
+ .ml-3 { margin-left: 0.75rem; }
118
+ .ml-4 { margin-left: 1rem; }
119
+ .ml-6 { margin-left: 1.5rem; }
120
+ .ml-8 { margin-left: 2rem; }
121
+ .ml-auto { margin-left: auto; }
122
+
123
+ /* Margin X-axis (horizontal) */
124
+ .mx-0 { margin-left: 0; margin-right: 0; }
125
+ .mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
126
+ .mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
127
+ .mx-4 { margin-left: 1rem; margin-right: 1rem; }
128
+ .mx-auto { margin-left: auto; margin-right: auto; }
129
+
130
+ /* Margin Y-axis (vertical) */
131
+ .my-0 { margin-top: 0; margin-bottom: 0; }
132
+ .my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
133
+ .my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
134
+ .my-4 { margin-top: 1rem; margin-bottom: 1rem; }
135
+ .my-8 { margin-top: 2rem; margin-bottom: 2rem; }
136
+
137
+ /* Padding */
138
+ .p-0 { padding: 0; }
139
+ .p-1 { padding: 0.25rem; }
140
+ .p-2 { padding: 0.5rem; }
141
+ .p-3 { padding: 0.75rem; }
142
+ .p-4 { padding: 1rem; }
143
+ .p-5 { padding: 1.25rem; }
144
+ .p-6 { padding: 1.5rem; }
145
+ .p-8 { padding: 2rem; }
146
+ .p-10 { padding: 2.5rem; }
147
+ .p-12 { padding: 3rem; }
148
+
149
+ /* Padding Top */
150
+ .pt-0 { padding-top: 0; }
151
+ .pt-1 { padding-top: 0.25rem; }
152
+ .pt-2 { padding-top: 0.5rem; }
153
+ .pt-4 { padding-top: 1rem; }
154
+ .pt-6 { padding-top: 1.5rem; }
155
+ .pt-8 { padding-top: 2rem; }
156
+
157
+ /* Padding Right */
158
+ .pr-0 { padding-right: 0; }
159
+ .pr-2 { padding-right: 0.5rem; }
160
+ .pr-4 { padding-right: 1rem; }
161
+ .pr-6 { padding-right: 1.5rem; }
162
+ .pr-8 { padding-right: 2rem; }
163
+
164
+ /* Padding Bottom */
165
+ .pb-0 { padding-bottom: 0; }
166
+ .pb-2 { padding-bottom: 0.5rem; }
167
+ .pb-4 { padding-bottom: 1rem; }
168
+ .pb-6 { padding-bottom: 1.5rem; }
169
+ .pb-8 { padding-bottom: 2rem; }
170
+
171
+ /* Padding Left */
172
+ .pl-0 { padding-left: 0; }
173
+ .pl-2 { padding-left: 0.5rem; }
174
+ .pl-4 { padding-left: 1rem; }
175
+ .pl-6 { padding-left: 1.5rem; }
176
+ .pl-8 { padding-left: 2rem; }
177
+
178
+ /* Padding X-axis */
179
+ .px-0 { padding-left: 0; padding-right: 0; }
180
+ .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
181
+ .px-4 { padding-left: 1rem; padding-right: 1rem; }
182
+ .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
183
+ .px-8 { padding-left: 2rem; padding-right: 2rem; }
184
+
185
+ /* Padding Y-axis */
186
+ .py-0 { padding-top: 0; padding-bottom: 0; }
187
+ .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
188
+ .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
189
+ .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
190
+ .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
191
+
192
+ /* Color Utilities
193
+ ========================================================================== */
194
+
195
+ /* Background Colors */
196
+ .bg-white { background-color: #ffffff; }
197
+ .bg-gray-50 { background-color: #f9fafb; }
198
+ .bg-gray-100 { background-color: #f3f4f6; }
199
+ .bg-gray-200 { background-color: #e5e7eb; }
200
+ .bg-gray-300 { background-color: #d1d5db; }
201
+ .bg-gray-400 { background-color: #9ca3af; }
202
+ .bg-gray-500 { background-color: #6b7280; }
203
+ .bg-gray-600 { background-color: #4b5563; }
204
+ .bg-gray-700 { background-color: #374151; }
205
+ .bg-gray-800 { background-color: #1f2937; }
206
+ .bg-gray-900 { background-color: #111827; }
207
+ .bg-black { background-color: #000000; }
208
+
209
+ .bg-primary { background-color: #3b82f6; }
210
+ .bg-secondary { background-color: #6b7280; }
211
+ .bg-success { background-color: #10b981; }
212
+ .bg-danger { background-color: #ef4444; }
213
+ .bg-warning { background-color: #f59e0b; }
214
+ .bg-info { background-color: #3b82f6; }
215
+
216
+ .bg-transparent { background-color: transparent; }
217
+
218
+ /* Text Colors */
219
+ .text-white { color: #ffffff; }
220
+ .text-gray-50 { color: #f9fafb; }
221
+ .text-gray-100 { color: #f3f4f6; }
222
+ .text-gray-200 { color: #e5e7eb; }
223
+ .text-gray-300 { color: #d1d5db; }
224
+ .text-gray-400 { color: #9ca3af; }
225
+ .text-gray-500 { color: #6b7280; }
226
+ .text-gray-600 { color: #4b5563; }
227
+ .text-gray-700 { color: #374151; }
228
+ .text-gray-800 { color: #1f2937; }
229
+ .text-gray-900 { color: #111827; }
230
+ .text-black { color: #000000; }
231
+
232
+ .text-primary { color: #3b82f6; }
233
+ .text-secondary { color: #6b7280; }
234
+ .text-success { color: #10b981; }
235
+ .text-danger { color: #ef4444; }
236
+ .text-warning { color: #f59e0b; }
237
+ .text-info { color: #3b82f6; }
238
+
239
+ /* Flexbox Utilities
240
+ ========================================================================== */
241
+
242
+ /* Display */
243
+ .flex { display: flex; }
244
+ .inline-flex { display: inline-flex; }
245
+
246
+ /* Flex Direction */
247
+ .flex-row { flex-direction: row; }
248
+ .flex-row-reverse { flex-direction: row-reverse; }
249
+ .flex-col { flex-direction: column; }
250
+ .flex-col-reverse { flex-direction: column-reverse; }
251
+
252
+ /* Flex Wrap */
253
+ .flex-wrap { flex-wrap: wrap; }
254
+ .flex-nowrap { flex-wrap: nowrap; }
255
+ .flex-wrap-reverse { flex-wrap: wrap-reverse; }
256
+
257
+ /* Justify Content */
258
+ .justify-start { justify-content: flex-start; }
259
+ .justify-end { justify-content: flex-end; }
260
+ .justify-center { justify-content: center; }
261
+ .justify-between { justify-content: space-between; }
262
+ .justify-around { justify-content: space-around; }
263
+ .justify-evenly { justify-content: space-evenly; }
264
+
265
+ /* Align Items */
266
+ .items-start { align-items: flex-start; }
267
+ .items-end { align-items: flex-end; }
268
+ .items-center { align-items: center; }
269
+ .items-baseline { align-items: baseline; }
270
+ .items-stretch { align-items: stretch; }
271
+
272
+ /* Align Self */
273
+ .self-auto { align-self: auto; }
274
+ .self-start { align-self: flex-start; }
275
+ .self-end { align-self: flex-end; }
276
+ .self-center { align-self: center; }
277
+ .self-stretch { align-self: stretch; }
278
+
279
+ /* Gap */
280
+ .gap-0 { gap: 0; }
281
+ .gap-1 { gap: 0.25rem; }
282
+ .gap-2 { gap: 0.5rem; }
283
+ .gap-3 { gap: 0.75rem; }
284
+ .gap-4 { gap: 1rem; }
285
+ .gap-6 { gap: 1.5rem; }
286
+ .gap-8 { gap: 2rem; }
287
+
288
+ /* Flex Grow/Shrink */
289
+ .flex-1 { flex: 1 1 0%; }
290
+ .flex-auto { flex: 1 1 auto; }
291
+ .flex-initial { flex: 0 1 auto; }
292
+ .flex-none { flex: none; }
293
+
294
+ .flex-grow { flex-grow: 1; }
295
+ .flex-grow-0 { flex-grow: 0; }
296
+
297
+ .flex-shrink { flex-shrink: 1; }
298
+ .flex-shrink-0 { flex-shrink: 0; }
299
+
300
+ /* Responsive Breakpoints
301
+ ========================================================================== */
302
+
303
+ @media (min-width: 640px) {
304
+ /* sm: spacing */
305
+ .sm\:m-0 { margin: 0; }
306
+ .sm\:m-4 { margin: 1rem; }
307
+ .sm\:p-4 { padding: 1rem; }
308
+
309
+ /* sm: flexbox */
310
+ .sm\:flex { display: flex; }
311
+ .sm\:flex-row { flex-direction: row; }
312
+ .sm\:justify-center { justify-content: center; }
313
+ }
314
+
315
+ @media (min-width: 768px) {
316
+ /* md: spacing */
317
+ .md\:m-0 { margin: 0; }
318
+ .md\:m-6 { margin: 1.5rem; }
319
+ .md\:p-6 { padding: 1.5rem; }
320
+
321
+ /* md: flexbox */
322
+ .md\:flex { display: flex; }
323
+ .md\:flex-row { flex-direction: row; }
324
+ .md\:justify-between { justify-content: space-between; }
325
+ }
326
+
327
+ @media (min-width: 1024px) {
328
+ /* lg: spacing */
329
+ .lg\:m-0 { margin: 0; }
330
+ .lg\:m-8 { margin: 2rem; }
331
+ .lg\:p-8 { padding: 2rem; }
332
+
333
+ /* lg: flexbox */
334
+ .lg\:flex { display: flex; }
335
+ .lg\:flex-row { flex-direction: row; }
336
+ .lg\:gap-8 { gap: 2rem; }
337
+ }
338
+ ```
339
+
340
+ ---
341
+
342
+ ## Complete Utility Categories
343
+
344
+ ### 1. Spacing (Margin & Padding)
345
+ ```css
346
+ /* Scale: 0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24 */
347
+ /* Directions: all, t, r, b, l, x, y */
348
+ .m-4 /* margin: 1rem */
349
+ .mt-2 /* margin-top: 0.5rem */
350
+ .px-4 /* padding-left/right: 1rem */
351
+ .my-8 /* margin-top/bottom: 2rem */
352
+ ```
353
+
354
+ ### 2. Typography
355
+ ```css
356
+ /* Font Size */
357
+ .text-xs { font-size: 0.75rem; }
358
+ .text-sm { font-size: 0.875rem; }
359
+ .text-base { font-size: 1rem; }
360
+ .text-lg { font-size: 1.125rem; }
361
+ .text-xl { font-size: 1.25rem; }
362
+ .text-2xl { font-size: 1.5rem; }
363
+ .text-3xl { font-size: 1.875rem; }
364
+ .text-4xl { font-size: 2.25rem; }
365
+
366
+ /* Font Weight */
367
+ .font-thin { font-weight: 100; }
368
+ .font-light { font-weight: 300; }
369
+ .font-normal { font-weight: 400; }
370
+ .font-medium { font-weight: 500; }
371
+ .font-semibold { font-weight: 600; }
372
+ .font-bold { font-weight: 700; }
373
+ .font-extrabold { font-weight: 800; }
374
+
375
+ /* Text Align */
376
+ .text-left { text-align: left; }
377
+ .text-center { text-align: center; }
378
+ .text-right { text-align: right; }
379
+ .text-justify { text-align: justify; }
380
+
381
+ /* Line Height */
382
+ .leading-none { line-height: 1; }
383
+ .leading-tight { line-height: 1.25; }
384
+ .leading-normal { line-height: 1.5; }
385
+ .leading-relaxed { line-height: 1.75; }
386
+ .leading-loose { line-height: 2; }
387
+ ```
388
+
389
+ ### 3. Layout
390
+ ```css
391
+ /* Display */
392
+ .block { display: block; }
393
+ .inline { display: inline; }
394
+ .inline-block { display: inline-block; }
395
+ .flex { display: flex; }
396
+ .inline-flex { display: inline-flex; }
397
+ .grid { display: grid; }
398
+ .hidden { display: none; }
399
+
400
+ /* Position */
401
+ .static { position: static; }
402
+ .relative { position: relative; }
403
+ .absolute { position: absolute; }
404
+ .fixed { position: fixed; }
405
+ .sticky { position: sticky; }
406
+
407
+ /* Width */
408
+ .w-auto { width: auto; }
409
+ .w-full { width: 100%; }
410
+ .w-screen { width: 100vw; }
411
+ .w-1\/2 { width: 50%; }
412
+ .w-1\/3 { width: 33.333333%; }
413
+ .w-1\/4 { width: 25%; }
414
+
415
+ /* Height */
416
+ .h-auto { height: auto; }
417
+ .h-full { height: 100%; }
418
+ .h-screen { height: 100vh; }
419
+ ```
420
+
421
+ ### 4. Grid System
422
+ ```css
423
+ /* Grid Template Columns */
424
+ .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
425
+ .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
426
+ .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
427
+ .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
428
+ .grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
429
+ .grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
430
+
431
+ /* Grid Gap */
432
+ .gap-0 { gap: 0; }
433
+ .gap-2 { gap: 0.5rem; }
434
+ .gap-4 { gap: 1rem; }
435
+ .gap-6 { gap: 1.5rem; }
436
+ .gap-8 { gap: 2rem; }
437
+ ```
438
+
439
+ ### 5. Borders & Radius
440
+ ```css
441
+ /* Border Width */
442
+ .border-0 { border-width: 0; }
443
+ .border { border-width: 1px; }
444
+ .border-2 { border-width: 2px; }
445
+ .border-4 { border-width: 4px; }
446
+
447
+ /* Border Radius */
448
+ .rounded-none { border-radius: 0; }
449
+ .rounded-sm { border-radius: 0.125rem; }
450
+ .rounded { border-radius: 0.25rem; }
451
+ .rounded-md { border-radius: 0.375rem; }
452
+ .rounded-lg { border-radius: 0.5rem; }
453
+ .rounded-xl { border-radius: 0.75rem; }
454
+ .rounded-full { border-radius: 9999px; }
455
+
456
+ /* Border Color */
457
+ .border-gray-200 { border-color: #e5e7eb; }
458
+ .border-gray-300 { border-color: #d1d5db; }
459
+ .border-primary { border-color: #3b82f6; }
460
+ ```
461
+
462
+ ### 6. Effects
463
+ ```css
464
+ /* Shadow */
465
+ .shadow-none { box-shadow: none; }
466
+ .shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }
467
+ .shadow { box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); }
468
+ .shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
469
+ .shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
470
+ .shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }
471
+
472
+ /* Opacity */
473
+ .opacity-0 { opacity: 0; }
474
+ .opacity-25 { opacity: 0.25; }
475
+ .opacity-50 { opacity: 0.5; }
476
+ .opacity-75 { opacity: 0.75; }
477
+ .opacity-100 { opacity: 1; }
478
+ ```
479
+
480
+ ---
481
+
482
+ ## Usage Examples
483
+
484
+ ### Example 1: Card Component
485
+ ```html
486
+ <div class="bg-white rounded-lg shadow-md p-6 mb-4">
487
+ <h2 class="text-2xl font-bold mb-2 text-gray-900">Card Title</h2>
488
+ <p class="text-gray-600 mb-4">Card description goes here.</p>
489
+ <button class="bg-primary text-white px-4 py-2 rounded">
490
+ Action
491
+ </button>
492
+ </div>
493
+ ```
494
+
495
+ ### Example 2: Flexbox Layout
496
+ ```html
497
+ <div class="flex justify-between items-center p-4 bg-gray-50">
498
+ <div class="flex items-center gap-2">
499
+ <img src="logo.png" class="w-8 h-8" />
500
+ <span class="font-semibold">Brand</span>
501
+ </div>
502
+ <nav class="flex gap-4">
503
+ <a href="#" class="text-gray-700">Home</a>
504
+ <a href="#" class="text-gray-700">About</a>
505
+ <a href="#" class="text-gray-700">Contact</a>
506
+ </nav>
507
+ </div>
508
+ ```
509
+
510
+ ### Example 3: Responsive Grid
511
+ ```html
512
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 p-8">
513
+ <div class="bg-white p-4 rounded shadow">Item 1</div>
514
+ <div class="bg-white p-4 rounded shadow">Item 2</div>
515
+ <div class="bg-white p-4 rounded shadow">Item 3</div>
516
+ </div>
517
+ ```
518
+
519
+ ---
520
+
521
+ ## Customization Options
522
+
523
+ ### Design Tokens Configuration
524
+
525
+ **design-tokens.json:**
526
+ ```json
527
+ {
528
+ "colors": {
529
+ "primary": "#3b82f6",
530
+ "secondary": "#6b7280",
531
+ "success": "#10b981",
532
+ "danger": "#ef4444",
533
+ "warning": "#f59e0b"
534
+ },
535
+ "spacing": {
536
+ "scale": [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64]
537
+ },
538
+ "typography": {
539
+ "fontSizes": {
540
+ "xs": "0.75rem",
541
+ "sm": "0.875rem",
542
+ "base": "1rem",
543
+ "lg": "1.125rem",
544
+ "xl": "1.25rem",
545
+ "2xl": "1.5rem"
546
+ },
547
+ "fontWeights": {
548
+ "normal": 400,
549
+ "medium": 500,
550
+ "semibold": 600,
551
+ "bold": 700
552
+ }
553
+ },
554
+ "breakpoints": {
555
+ "sm": "640px",
556
+ "md": "768px",
557
+ "lg": "1024px",
558
+ "xl": "1280px"
559
+ }
560
+ }
561
+ ```
562
+
563
+ ---
564
+
565
+ ## Benefits
566
+
567
+ **1. No Build Step Required**
568
+ - Pure CSS, works immediately
569
+ - No JavaScript runtime
570
+ - No npm dependencies
571
+
572
+ **2. Familiar Syntax**
573
+ - Tailwind-like class names
574
+ - Easy to learn for Tailwind users
575
+ - Predictable naming conventions
576
+
577
+ **3. Customizable**
578
+ - Define your own design tokens
579
+ - Choose which categories to include
580
+ - Adjust spacing scales and breakpoints
581
+
582
+ **4. Lightweight**
583
+ - Generate only what you need
584
+ - ~10-50KB depending on categories
585
+ - Much smaller than full Tailwind
586
+
587
+ **5. Framework Agnostic**
588
+ - Works with React, Vue, vanilla HTML
589
+ - No framework lock-in
590
+ - Pure CSS solution
591
+
592
+ ---
593
+
594
+ ## Integration
595
+
596
+ ### Add to HTML
597
+ ```html
598
+ <link rel="stylesheet" href="utilities.css">
599
+ ```
600
+
601
+ ### Import in CSS
602
+ ```css
603
+ @import url('utilities.css');
604
+ ```
605
+
606
+ ### Import in JavaScript
607
+ ```javascript
608
+ import './utilities.css'
609
+ ```
610
+
611
+ ---
612
+
613
+ ## Related Commands
614
+
615
+ - `/component-generator` - Generate React components using these utilities
616
+ - React Specialist (agent) - Component architecture guidance
617
+ - UI/UX Expert (agent) - Design system review
618
+
619
+ ---
620
+
621
+ **Build your design system. Style faster. Ship consistent UIs.**