cursor-kit-cli 1.2.0-beta → 1.2.0-beta.2

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 (91) hide show
  1. package/dist/cli.cjs +333 -56
  2. package/dist/cli.cjs.map +1 -1
  3. package/dist/cli.js +334 -57
  4. package/dist/cli.js.map +1 -1
  5. package/dist/index.cjs +39 -1
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +9 -1
  8. package/dist/index.d.ts +9 -1
  9. package/dist/index.js +33 -2
  10. package/dist/index.js.map +1 -1
  11. package/package.json +1 -1
  12. package/templates/commands/docs.md +5 -3
  13. package/templates/commands/explain.md +5 -3
  14. package/templates/commands/fix.md +5 -3
  15. package/templates/commands/implement.md +5 -3
  16. package/templates/commands/refactor.md +5 -3
  17. package/templates/commands/review.md +5 -3
  18. package/templates/commands/test.md +5 -3
  19. package/templates/manifest.json +11 -8
  20. package/templates/rules/git.mdc +0 -2
  21. package/templates/rules/toc.mdc +17 -9
  22. package/templates/skills/aesthetic/SKILL.md +121 -0
  23. package/templates/skills/aesthetic/assets/design-guideline-template.md +163 -0
  24. package/templates/skills/aesthetic/assets/design-story-template.md +135 -0
  25. package/templates/skills/aesthetic/references/design-principles.md +62 -0
  26. package/templates/skills/aesthetic/references/design-resources.md +75 -0
  27. package/templates/skills/aesthetic/references/micro-interactions.md +53 -0
  28. package/templates/skills/aesthetic/references/storytelling-design.md +50 -0
  29. package/templates/skills/backend-development/SKILL.mdc +95 -0
  30. package/templates/skills/backend-development/references/backend-api-design.md +495 -0
  31. package/templates/skills/backend-development/references/backend-architecture.md +454 -0
  32. package/templates/skills/backend-development/references/backend-authentication.md +338 -0
  33. package/templates/skills/backend-development/references/backend-code-quality.md +659 -0
  34. package/templates/skills/backend-development/references/backend-debugging.md +904 -0
  35. package/templates/skills/backend-development/references/backend-devops.md +494 -0
  36. package/templates/skills/backend-development/references/backend-mindset.md +387 -0
  37. package/templates/skills/backend-development/references/backend-performance.md +397 -0
  38. package/templates/skills/backend-development/references/backend-security.md +290 -0
  39. package/templates/skills/backend-development/references/backend-technologies.md +256 -0
  40. package/templates/skills/backend-development/references/backend-testing.md +429 -0
  41. package/templates/skills/frontend-design/SKILL.mdc +41 -0
  42. package/templates/skills/frontend-design/references/animejs.md +396 -0
  43. package/templates/skills/frontend-development/SKILL.mdc +399 -0
  44. package/templates/skills/frontend-development/resources/common-patterns.md +331 -0
  45. package/templates/skills/frontend-development/resources/complete-examples.md +872 -0
  46. package/templates/skills/frontend-development/resources/component-patterns.md +502 -0
  47. package/templates/skills/frontend-development/resources/data-fetching.md +767 -0
  48. package/templates/skills/frontend-development/resources/file-organization.md +502 -0
  49. package/templates/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  50. package/templates/skills/frontend-development/resources/performance.md +406 -0
  51. package/templates/skills/frontend-development/resources/routing-guide.md +364 -0
  52. package/templates/skills/frontend-development/resources/styling-guide.md +428 -0
  53. package/templates/skills/frontend-development/resources/typescript-standards.md +418 -0
  54. package/templates/skills/problem-solving/SKILL.mdc +96 -0
  55. package/templates/skills/problem-solving/references/attribution.md +69 -0
  56. package/templates/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  57. package/templates/skills/problem-solving/references/inversion-exercise.md +91 -0
  58. package/templates/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  59. package/templates/skills/problem-solving/references/scale-game.md +95 -0
  60. package/templates/skills/problem-solving/references/simplification-cascades.md +80 -0
  61. package/templates/skills/problem-solving/references/when-stuck.md +72 -0
  62. package/templates/skills/research/SKILL.mdc +168 -0
  63. package/templates/skills/sequential-thinking/.env.example +8 -0
  64. package/templates/skills/sequential-thinking/README.md +183 -0
  65. package/templates/skills/sequential-thinking/SKILL.mdc +94 -0
  66. package/templates/skills/sequential-thinking/package.json +31 -0
  67. package/templates/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  68. package/templates/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  69. package/templates/skills/sequential-thinking/references/core-patterns.md +95 -0
  70. package/templates/skills/sequential-thinking/references/examples-api.md +88 -0
  71. package/templates/skills/sequential-thinking/references/examples-architecture.md +94 -0
  72. package/templates/skills/sequential-thinking/references/examples-debug.md +90 -0
  73. package/templates/skills/sequential-thinking/scripts/format-thought.js +159 -0
  74. package/templates/skills/sequential-thinking/scripts/process-thought.js +236 -0
  75. package/templates/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  76. package/templates/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  77. package/templates/skills/ui-styling/LICENSE.txt +202 -0
  78. package/templates/skills/ui-styling/SKILL.mdc +321 -0
  79. package/templates/skills/ui-styling/references/canvas-design-system.md +320 -0
  80. package/templates/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  81. package/templates/skills/ui-styling/references/shadcn-components.md +424 -0
  82. package/templates/skills/ui-styling/references/shadcn-theming.md +373 -0
  83. package/templates/skills/ui-styling/references/tailwind-customization.md +483 -0
  84. package/templates/skills/ui-styling/references/tailwind-responsive.md +382 -0
  85. package/templates/skills/ui-styling/references/tailwind-utilities.md +455 -0
  86. package/templates/rules/frontend-design.mdc +0 -48
  87. package/templates/rules/performance.mdc +0 -54
  88. package/templates/rules/react.mdc +0 -58
  89. package/templates/rules/security.mdc +0 -50
  90. package/templates/rules/testing.mdc +0 -54
  91. package/templates/rules/typescript.mdc +0 -36
@@ -0,0 +1,483 @@
1
+ # Tailwind CSS Customization
2
+
3
+ Config file structure, custom utilities, plugins, and theme extensions.
4
+
5
+ ## @theme Directive
6
+
7
+ Modern approach to customize Tailwind using CSS:
8
+
9
+ ```css
10
+ @import "tailwindcss";
11
+
12
+ @theme {
13
+ /* Custom colors */
14
+ --color-brand-50: oklch(0.97 0.02 264);
15
+ --color-brand-500: oklch(0.55 0.22 264);
16
+ --color-brand-900: oklch(0.25 0.15 264);
17
+
18
+ /* Custom fonts */
19
+ --font-display: "Satoshi", "Inter", sans-serif;
20
+ --font-body: "Inter", system-ui, sans-serif;
21
+
22
+ /* Custom spacing */
23
+ --spacing-18: calc(var(--spacing) * 18);
24
+ --spacing-navbar: 4.5rem;
25
+
26
+ /* Custom breakpoints */
27
+ --breakpoint-3xl: 120rem;
28
+ --breakpoint-tablet: 48rem;
29
+
30
+ /* Custom shadows */
31
+ --shadow-glow: 0 0 20px rgba(139, 92, 246, 0.3);
32
+
33
+ /* Custom radius */
34
+ --radius-large: 1.5rem;
35
+ }
36
+ ```
37
+
38
+ **Usage:**
39
+ ```html
40
+ <div class="bg-brand-500 font-display shadow-glow rounded-large">
41
+ Custom themed element
42
+ </div>
43
+
44
+ <div class="tablet:grid-cols-2 3xl:grid-cols-6">
45
+ Custom breakpoints
46
+ </div>
47
+ ```
48
+
49
+ ## Color Customization
50
+
51
+ ### Custom Color Palette
52
+
53
+ ```css
54
+ @theme {
55
+ /* Full color scale */
56
+ --color-primary-50: oklch(0.98 0.02 250);
57
+ --color-primary-100: oklch(0.95 0.05 250);
58
+ --color-primary-200: oklch(0.90 0.10 250);
59
+ --color-primary-300: oklch(0.85 0.15 250);
60
+ --color-primary-400: oklch(0.75 0.18 250);
61
+ --color-primary-500: oklch(0.65 0.22 250);
62
+ --color-primary-600: oklch(0.55 0.22 250);
63
+ --color-primary-700: oklch(0.45 0.20 250);
64
+ --color-primary-800: oklch(0.35 0.18 250);
65
+ --color-primary-900: oklch(0.25 0.15 250);
66
+ --color-primary-950: oklch(0.15 0.10 250);
67
+ }
68
+ ```
69
+
70
+ ### Semantic Colors
71
+
72
+ ```css
73
+ @theme {
74
+ --color-success: oklch(0.65 0.18 145);
75
+ --color-warning: oklch(0.75 0.15 85);
76
+ --color-error: oklch(0.60 0.22 25);
77
+ --color-info: oklch(0.65 0.18 240);
78
+ }
79
+ ```
80
+
81
+ ```html
82
+ <div class="bg-success text-white">Success message</div>
83
+ <div class="border-error">Error state</div>
84
+ ```
85
+
86
+ ## Typography Customization
87
+
88
+ ### Custom Fonts
89
+
90
+ ```css
91
+ @theme {
92
+ --font-sans: "Inter", system-ui, sans-serif;
93
+ --font-serif: "Merriweather", Georgia, serif;
94
+ --font-mono: "JetBrains Mono", Consolas, monospace;
95
+ --font-display: "Playfair Display", serif;
96
+ }
97
+ ```
98
+
99
+ ```html
100
+ <h1 class="font-display">Display heading</h1>
101
+ <p class="font-sans">Body text</p>
102
+ <code class="font-mono">Code block</code>
103
+ ```
104
+
105
+ ### Custom Font Sizes
106
+
107
+ ```css
108
+ @theme {
109
+ --font-size-xs: 0.75rem;
110
+ --font-size-sm: 0.875rem;
111
+ --font-size-base: 1rem;
112
+ --font-size-lg: 1.125rem;
113
+ --font-size-xl: 1.25rem;
114
+ --font-size-2xl: 1.5rem;
115
+ --font-size-3xl: 1.875rem;
116
+ --font-size-4xl: 2.25rem;
117
+ --font-size-5xl: 3rem;
118
+ --font-size-jumbo: 4rem;
119
+ }
120
+ ```
121
+
122
+ ## Spacing Customization
123
+
124
+ ```css
125
+ @theme {
126
+ /* Add custom spacing values */
127
+ --spacing-13: calc(var(--spacing) * 13);
128
+ --spacing-15: calc(var(--spacing) * 15);
129
+ --spacing-18: calc(var(--spacing) * 18);
130
+
131
+ /* Named spacing */
132
+ --spacing-header: 4rem;
133
+ --spacing-footer: 3rem;
134
+ --spacing-section: 6rem;
135
+ }
136
+ ```
137
+
138
+ ```html
139
+ <div class="p-18">Custom padding</div>
140
+ <section class="py-section">Section spacing</section>
141
+ ```
142
+
143
+ ## Custom Utilities
144
+
145
+ Create reusable utility classes:
146
+
147
+ ```css
148
+ @utility content-auto {
149
+ content-visibility: auto;
150
+ }
151
+
152
+ @utility tab-* {
153
+ tab-size: var(--tab-size-*);
154
+ }
155
+
156
+ @utility glass {
157
+ background: rgba(255, 255, 255, 0.1);
158
+ backdrop-filter: blur(10px);
159
+ border: 1px solid rgba(255, 255, 255, 0.2);
160
+ }
161
+ ```
162
+
163
+ **Usage:**
164
+ ```html
165
+ <div class="content-auto">Optimized rendering</div>
166
+ <pre class="tab-4">Code with 4-space tabs</pre>
167
+ <div class="glass">Glassmorphism effect</div>
168
+ ```
169
+
170
+ ## Custom Variants
171
+
172
+ Create custom state variants:
173
+
174
+ ```css
175
+ @custom-variant theme-midnight (&:where([data-theme="midnight"] *));
176
+ @custom-variant aria-checked (&[aria-checked="true"]);
177
+ @custom-variant required (&:required);
178
+ ```
179
+
180
+ **Usage:**
181
+ ```html
182
+ <div data-theme="midnight">
183
+ <div class="theme-midnight:bg-navy-900">
184
+ Applies in midnight theme
185
+ </div>
186
+ </div>
187
+
188
+ <input class="required:border-red-500" required />
189
+ ```
190
+
191
+ ## Layer Organization
192
+
193
+ Organize CSS into layers:
194
+
195
+ ```css
196
+ @layer base {
197
+ h1 {
198
+ @apply text-4xl font-bold tracking-tight;
199
+ }
200
+
201
+ h2 {
202
+ @apply text-3xl font-semibold;
203
+ }
204
+
205
+ a {
206
+ @apply text-blue-600 hover:text-blue-700 underline-offset-4 hover:underline;
207
+ }
208
+
209
+ body {
210
+ @apply bg-background text-foreground antialiased;
211
+ }
212
+ }
213
+
214
+ @layer components {
215
+ .btn {
216
+ @apply px-4 py-2 rounded-lg font-medium transition-colors;
217
+ }
218
+
219
+ .btn-primary {
220
+ @apply bg-blue-600 text-white hover:bg-blue-700;
221
+ }
222
+
223
+ .btn-secondary {
224
+ @apply bg-gray-200 text-gray-900 hover:bg-gray-300;
225
+ }
226
+
227
+ .card {
228
+ @apply bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow;
229
+ }
230
+
231
+ .input {
232
+ @apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent;
233
+ }
234
+ }
235
+
236
+ @layer utilities {
237
+ .text-balance {
238
+ text-wrap: balance;
239
+ }
240
+
241
+ .scrollbar-hide {
242
+ -ms-overflow-style: none;
243
+ scrollbar-width: none;
244
+ }
245
+ .scrollbar-hide::-webkit-scrollbar {
246
+ display: none;
247
+ }
248
+ }
249
+ ```
250
+
251
+ ## @apply Directive
252
+
253
+ Extract repeated utility patterns:
254
+
255
+ ```css
256
+ .btn-primary {
257
+ @apply bg-blue-600 hover:bg-blue-700 active:bg-blue-800 text-white font-semibold px-6 py-3 rounded-lg shadow-md hover:shadow-lg transition-all duration-200 focus:outline-none focus:ring-4 focus:ring-blue-300;
258
+ }
259
+
260
+ .input-field {
261
+ @apply w-full px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:bg-gray-100 disabled:cursor-not-allowed;
262
+ }
263
+
264
+ .section-container {
265
+ @apply container mx-auto px-4 sm:px-6 lg:px-8 max-w-7xl;
266
+ }
267
+ ```
268
+
269
+ **Usage:**
270
+ ```html
271
+ <button class="btn-primary">Click me</button>
272
+ <input class="input-field" />
273
+ <div class="section-container">Content</div>
274
+ ```
275
+
276
+ ## Plugins
277
+
278
+ ### Official Plugins
279
+
280
+ ```bash
281
+ npm install -D @tailwindcss/typography @tailwindcss/forms @tailwindcss/container-queries
282
+ ```
283
+
284
+ ```javascript
285
+ // tailwind.config.js
286
+ export default {
287
+ plugins: [
288
+ require('@tailwindcss/typography'),
289
+ require('@tailwindcss/forms'),
290
+ require('@tailwindcss/container-queries'),
291
+ ],
292
+ }
293
+ ```
294
+
295
+ **Typography plugin:**
296
+ ```html
297
+ <article class="prose lg:prose-xl">
298
+ <h1>Styled article</h1>
299
+ <p>Automatically styled prose content</p>
300
+ </article>
301
+ ```
302
+
303
+ **Forms plugin:**
304
+ ```html
305
+ <!-- Automatically styled form elements -->
306
+ <input type="text" />
307
+ <select></select>
308
+ <textarea></textarea>
309
+ ```
310
+
311
+ ### Custom Plugin
312
+
313
+ ```javascript
314
+ // tailwind.config.js
315
+ const plugin = require('tailwindcss/plugin')
316
+
317
+ export default {
318
+ plugins: [
319
+ plugin(function({ addUtilities, addComponents, theme }) {
320
+ // Add utilities
321
+ addUtilities({
322
+ '.text-shadow': {
323
+ textShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',
324
+ },
325
+ '.text-shadow-lg': {
326
+ textShadow: '4px 4px 8px rgba(0, 0, 0, 0.2)',
327
+ },
328
+ })
329
+
330
+ // Add components
331
+ addComponents({
332
+ '.card-custom': {
333
+ backgroundColor: theme('colors.white'),
334
+ borderRadius: theme('borderRadius.lg'),
335
+ padding: theme('spacing.6'),
336
+ boxShadow: theme('boxShadow.md'),
337
+ },
338
+ })
339
+ }),
340
+ ],
341
+ }
342
+ ```
343
+
344
+ ## Configuration Examples
345
+
346
+ ### Complete Tailwind Config
347
+
348
+ ```javascript
349
+ // tailwind.config.ts
350
+ import type { Config } from 'tailwindcss'
351
+
352
+ const config: Config = {
353
+ darkMode: ["class"],
354
+ content: [
355
+ './pages/**/*.{ts,tsx}',
356
+ './components/**/*.{ts,tsx}',
357
+ './app/**/*.{ts,tsx}',
358
+ ],
359
+ theme: {
360
+ container: {
361
+ center: true,
362
+ padding: "2rem",
363
+ screens: {
364
+ "2xl": "1400px",
365
+ },
366
+ },
367
+ extend: {
368
+ colors: {
369
+ border: "hsl(var(--border))",
370
+ input: "hsl(var(--input))",
371
+ ring: "hsl(var(--ring))",
372
+ background: "hsl(var(--background))",
373
+ foreground: "hsl(var(--foreground))",
374
+ primary: {
375
+ DEFAULT: "hsl(var(--primary))",
376
+ foreground: "hsl(var(--primary-foreground))",
377
+ },
378
+ brand: {
379
+ 50: '#f0f9ff',
380
+ 500: '#3b82f6',
381
+ 900: '#1e3a8a',
382
+ },
383
+ },
384
+ fontFamily: {
385
+ sans: ['Inter', 'system-ui', 'sans-serif'],
386
+ display: ['Playfair Display', 'serif'],
387
+ },
388
+ spacing: {
389
+ '18': '4.5rem',
390
+ '88': '22rem',
391
+ '128': '32rem',
392
+ },
393
+ borderRadius: {
394
+ lg: "var(--radius)",
395
+ md: "calc(var(--radius) - 2px)",
396
+ sm: "calc(var(--radius) - 4px)",
397
+ },
398
+ keyframes: {
399
+ "slide-in": {
400
+ "0%": { transform: "translateX(-100%)" },
401
+ "100%": { transform: "translateX(0)" },
402
+ },
403
+ },
404
+ animation: {
405
+ "slide-in": "slide-in 0.5s ease-out",
406
+ },
407
+ },
408
+ },
409
+ plugins: [require("tailwindcss-animate")],
410
+ }
411
+
412
+ export default config
413
+ ```
414
+
415
+ ## Dark Mode Configuration
416
+
417
+ ```javascript
418
+ // tailwind.config.js
419
+ export default {
420
+ darkMode: ["class"], // or "media" for automatic
421
+ // ...
422
+ }
423
+ ```
424
+
425
+ **Usage:**
426
+ ```html
427
+ <!-- Class-based -->
428
+ <html class="dark">
429
+ <div class="bg-white dark:bg-gray-900">
430
+ Responds to .dark class
431
+ </div>
432
+ </html>
433
+
434
+ <!-- Media query-based -->
435
+ <div class="bg-white dark:bg-gray-900">
436
+ Responds to system preference automatically
437
+ </div>
438
+ ```
439
+
440
+ ## Content Configuration
441
+
442
+ Specify files to scan for classes:
443
+
444
+ ```javascript
445
+ // tailwind.config.js
446
+ export default {
447
+ content: [
448
+ "./src/**/*.{js,jsx,ts,tsx}",
449
+ "./app/**/*.{js,jsx,ts,tsx}",
450
+ "./components/**/*.{js,jsx,ts,tsx}",
451
+ "./pages/**/*.{js,jsx,ts,tsx}",
452
+ ],
453
+ // ...
454
+ }
455
+ ```
456
+
457
+ ### Safelist
458
+
459
+ Preserve dynamic classes:
460
+
461
+ ```javascript
462
+ export default {
463
+ safelist: [
464
+ 'bg-red-500',
465
+ 'bg-green-500',
466
+ 'bg-blue-500',
467
+ {
468
+ pattern: /bg-(red|green|blue)-(100|500|900)/,
469
+ },
470
+ ],
471
+ }
472
+ ```
473
+
474
+ ## Best Practices
475
+
476
+ 1. **Use @theme for simple customizations**: Prefer CSS-based customization
477
+ 2. **Extract components sparingly**: Use @apply only for truly repeated patterns
478
+ 3. **Leverage design tokens**: Define custom tokens in @theme
479
+ 4. **Layer organization**: Keep base, components, and utilities separate
480
+ 5. **Plugin for complex logic**: Use plugins for advanced customizations
481
+ 6. **Test dark mode**: Ensure custom colors work in both themes
482
+ 7. **Document custom utilities**: Add comments explaining custom classes
483
+ 8. **Semantic naming**: Use descriptive names (primary not blue)