create-claudecraft 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.
Files changed (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +194 -0
  3. package/bin/cli.js +2 -0
  4. package/dist/constants.d.ts +71 -0
  5. package/dist/constants.js +128 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +229 -0
  8. package/dist/ink-prompts.d.ts +12 -0
  9. package/dist/ink-prompts.js +363 -0
  10. package/dist/prompts.d.ts +16 -0
  11. package/dist/prompts.js +434 -0
  12. package/dist/scaffold.d.ts +19 -0
  13. package/dist/scaffold.js +303 -0
  14. package/dist/ui.d.ts +27 -0
  15. package/dist/ui.js +254 -0
  16. package/package.json +74 -0
  17. package/templates/app/App.tsx +21 -0
  18. package/templates/base/CLAUDE.md +332 -0
  19. package/templates/base/eslint.config.js +28 -0
  20. package/templates/base/index.html +17 -0
  21. package/templates/base/package.json +43 -0
  22. package/templates/base/postcss.config.js +6 -0
  23. package/templates/base/tailwind.config.js +81 -0
  24. package/templates/base/tsconfig.json +25 -0
  25. package/templates/base/vite.config.ts +16 -0
  26. package/templates/commands/brainstorm.md +6 -0
  27. package/templates/commands/build.md +41 -0
  28. package/templates/commands/execute-plan.md +6 -0
  29. package/templates/commands/lint.md +41 -0
  30. package/templates/commands/ralph.md +113 -0
  31. package/templates/commands/typecheck.md +44 -0
  32. package/templates/commands/write-plan.md +6 -0
  33. package/templates/components/ErrorBoundary.tsx +49 -0
  34. package/templates/components/ui/Button.tsx +60 -0
  35. package/templates/components/ui/CodeBlock.tsx +46 -0
  36. package/templates/components/ui/CopyCommand.tsx +38 -0
  37. package/templates/components/ui/FilePreview.tsx +46 -0
  38. package/templates/components/ui/SkipLink.tsx +7 -0
  39. package/templates/components/ui/ThemeSelector.tsx +41 -0
  40. package/templates/components/ui/UICarousel.tsx +309 -0
  41. package/templates/context/ThemeContext.tsx +61 -0
  42. package/templates/homepage/HomePage.tsx +534 -0
  43. package/templates/homepage/NotFoundPage.tsx +17 -0
  44. package/templates/hooks/README.md +82 -0
  45. package/templates/hooks/check-branch.js +27 -0
  46. package/templates/hooks/typecheck-after-edit.js +51 -0
  47. package/templates/index.css +67 -0
  48. package/templates/lib/utils.ts +9 -0
  49. package/templates/main.tsx +16 -0
  50. package/templates/settings/MCP_SETUP.md +76 -0
  51. package/templates/settings/settings.json +16 -0
  52. package/templates/settings/settings.local.json +37 -0
  53. package/templates/skills/design/a11y-audit/SKILL.md +173 -0
  54. package/templates/skills/design/design-polish/SKILL.md +75 -0
  55. package/templates/skills/design/figma-to-code/SKILL.md +157 -0
  56. package/templates/skills/design/json-ld/SKILL.md +125 -0
  57. package/templates/skills/design/microcopy/SKILL.md +197 -0
  58. package/templates/skills/design/og-image/SKILL.md +157 -0
  59. package/templates/skills/design/ralph-wiggum-loops/SKILL.md +299 -0
  60. package/templates/skills/design/react-best-practices/SKILL.md +106 -0
  61. package/templates/skills/design/react-best-practices/references/react-performance-guidelines.md +143 -0
  62. package/templates/skills/design/seo-review/SKILL.md +96 -0
  63. package/templates/skills/design/sitemap-generator/SKILL.md +66 -0
  64. package/templates/skills/design/testing-patterns/SKILL.md +276 -0
  65. package/templates/skills/design/ui-skills/SKILL.md +85 -0
  66. package/templates/skills/design/visual-iteration/SKILL.md +88 -0
  67. package/templates/skills/workflow/brainstorming/SKILL.md +54 -0
  68. package/templates/skills/workflow/dispatching-parallel-agents/SKILL.md +180 -0
  69. package/templates/skills/workflow/executing-plans/SKILL.md +76 -0
  70. package/templates/skills/workflow/finishing-a-development-branch/SKILL.md +200 -0
  71. package/templates/skills/workflow/receiving-code-review/SKILL.md +213 -0
  72. package/templates/skills/workflow/requesting-code-review/SKILL.md +105 -0
  73. package/templates/skills/workflow/requesting-code-review/code-reviewer.md +146 -0
  74. package/templates/skills/workflow/subagent-driven-development/SKILL.md +240 -0
  75. package/templates/skills/workflow/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  76. package/templates/skills/workflow/subagent-driven-development/implementer-prompt.md +78 -0
  77. package/templates/skills/workflow/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  78. package/templates/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -0
  79. package/templates/skills/workflow/systematic-debugging/SKILL.md +296 -0
  80. package/templates/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -0
  81. package/templates/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -0
  82. package/templates/skills/workflow/systematic-debugging/defense-in-depth.md +122 -0
  83. package/templates/skills/workflow/systematic-debugging/find-polluter.sh +63 -0
  84. package/templates/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -0
  85. package/templates/skills/workflow/systematic-debugging/test-academic.md +14 -0
  86. package/templates/skills/workflow/systematic-debugging/test-pressure-1.md +58 -0
  87. package/templates/skills/workflow/systematic-debugging/test-pressure-2.md +68 -0
  88. package/templates/skills/workflow/systematic-debugging/test-pressure-3.md +69 -0
  89. package/templates/skills/workflow/test-driven-development/SKILL.md +371 -0
  90. package/templates/skills/workflow/test-driven-development/testing-anti-patterns.md +299 -0
  91. package/templates/skills/workflow/using-git-worktrees/SKILL.md +217 -0
  92. package/templates/skills/workflow/using-superpowers/SKILL.md +87 -0
  93. package/templates/skills/workflow/verification-before-completion/SKILL.md +139 -0
  94. package/templates/skills/workflow/writing-plans/SKILL.md +116 -0
  95. package/templates/skills/workflow/writing-skills/SKILL.md +655 -0
  96. package/templates/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -0
  97. package/templates/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  98. package/templates/skills/workflow/writing-skills/graphviz-conventions.dot +172 -0
  99. package/templates/skills/workflow/writing-skills/persuasion-principles.md +187 -0
  100. package/templates/skills/workflow/writing-skills/render-graphs.js +168 -0
  101. package/templates/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -0
  102. package/templates/types/index.ts +17 -0
  103. package/templates/vite-env.d.ts +1 -0
@@ -0,0 +1,21 @@
1
+ import { Routes, Route } from 'react-router-dom'
2
+ import { HomePage } from './pages/HomePage'
3
+ import { NotFoundPage } from './pages/NotFoundPage'
4
+ import { ErrorBoundary } from './components/ErrorBoundary'
5
+ import { SkipLink } from './components/ui/SkipLink'
6
+
7
+ function App() {
8
+ return (
9
+ <ErrorBoundary>
10
+ <SkipLink />
11
+ <main id="main-content">
12
+ <Routes>
13
+ <Route path="/" element={<HomePage />} />
14
+ <Route path="*" element={<NotFoundPage />} />
15
+ </Routes>
16
+ </main>
17
+ </ErrorBoundary>
18
+ )
19
+ }
20
+
21
+ export default App
@@ -0,0 +1,332 @@
1
+ # claudecraft
2
+
3
+ Shipshape from the start. This file provides guidance to Claude Code when working with this project.
4
+
5
+ ## Quick Reference
6
+
7
+ | Aspect | Value |
8
+ |--------|-------|
9
+ | **Framework** | React 18 + TypeScript |
10
+ | **Styling** | Tailwind CSS + DaisyUI |
11
+ | **Build Tool** | Vite |
12
+ | **Package Manager** | Bun |
13
+ | **Port** | 6969 |
14
+
15
+ ---
16
+
17
+ ## Development Commands
18
+
19
+ ```bash
20
+ bun install # Install dependencies
21
+ bun dev # Start dev server (port 6969)
22
+ bun run build # TypeScript check + Vite build
23
+ bun run lint # Run ESLint
24
+ bun test # Run tests
25
+ bun run preview # Preview production build
26
+
27
+ # Package management
28
+ bun add <package> # Add dependency
29
+ bun add -d <package> # Add dev dependency
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Project Architecture
35
+
36
+ <!-- Replace with your project description -->
37
+ Brief description of what this project does and its purpose.
38
+
39
+ ### Directory Structure
40
+
41
+ ```
42
+ src/
43
+ ├── components/ # Reusable UI components
44
+ │ └── ui/ # Base UI primitives
45
+ ├── context/ # React Context providers
46
+ ├── pages/ # Route-level components
47
+ ├── lib/ # Utilities and helpers
48
+ ├── types/ # TypeScript type definitions
49
+ ├── hooks/ # Custom React hooks
50
+ └── data/ # Constants and mock data
51
+ ```
52
+
53
+ ### Key Files
54
+
55
+ - `src/App.tsx` - Main application component with routing
56
+ - `src/main.tsx` - Application entry point with providers
57
+ - `src/context/ThemeContext.tsx` - Theme switching logic
58
+ - `vite.config.ts` - Vite configuration with path aliases
59
+ - `tailwind.config.js` - Tailwind + DaisyUI configuration
60
+
61
+ ---
62
+
63
+ ## Design System
64
+
65
+ ### UI Framework: DaisyUI
66
+
67
+ This project uses [DaisyUI](https://daisyui.com/) for UI components with 32 pre-installed themes.
68
+
69
+ ### Theme Management
70
+
71
+ ```tsx
72
+ import { useTheme } from '@/context/ThemeContext'
73
+
74
+ function MyComponent() {
75
+ const { theme, setTheme, themes } = useTheme()
76
+ // theme: current theme name
77
+ // setTheme: function to change theme
78
+ // themes: array of all available themes
79
+ }
80
+ ```
81
+
82
+ ### DaisyUI Component Classes
83
+
84
+ ```tsx
85
+ // Buttons
86
+ <button className="btn btn-primary">Primary</button>
87
+ <button className="btn btn-secondary btn-outline">Outline</button>
88
+ <button className="btn btn-lg">Large</button>
89
+
90
+ // Cards
91
+ <div className="card bg-base-100 shadow-xl">
92
+ <div className="card-body">
93
+ <h2 className="card-title">Title</h2>
94
+ <p>Content</p>
95
+ </div>
96
+ </div>
97
+
98
+ // Form inputs
99
+ <input className="input input-bordered" />
100
+ <select className="select select-bordered" />
101
+ <input type="checkbox" className="checkbox checkbox-primary" />
102
+ <input type="checkbox" className="toggle toggle-primary" />
103
+
104
+ // Alerts
105
+ <div className="alert alert-info">Info message</div>
106
+ <div className="alert alert-success">Success message</div>
107
+
108
+ // Badges
109
+ <span className="badge badge-primary">Badge</span>
110
+
111
+ // Loading
112
+ <span className="loading loading-spinner" />
113
+ ```
114
+
115
+ See [DaisyUI docs](https://daisyui.com/components/) for full component list.
116
+
117
+ ---
118
+
119
+ ## Styling Guidelines - IMPORTANT
120
+
121
+ ### DO ✅
122
+
123
+ - Use **DaisyUI component classes** first (`btn`, `card`, `input`)
124
+ - Use **DaisyUI semantic colors** (`bg-base-100`, `text-primary`, `bg-neutral`)
125
+ - Use **solid colors with opacity** when needed (`bg-black/50`, `border-primary/30`)
126
+ - Use **clean borders** for separation and visual hierarchy
127
+ - Apply **hover states** with `transition-all`
128
+ - Include **dark mode variants** using DaisyUI themes
129
+ - Keep it **minimal**: lots of whitespace, subtle shadows
130
+
131
+ ### DON'T ❌
132
+
133
+ - **NO excessive gradients** - Don't overuse `bg-gradient-to-*` for decorative effects
134
+ - **NO fake glows** - Avoid `blur-*`, `shadow-*-glow` for artificial light emission
135
+ - **NO heavy shadows** - Prefer `shadow-sm` or `shadow-md` over `shadow-2xl`
136
+ - **DON'T mix design systems** - Stay consistent with DaisyUI patterns
137
+ - **DON'T forget accessibility** - Always include focus states and ARIA attributes
138
+
139
+ ---
140
+
141
+ ## Component Patterns
142
+
143
+ ### Standard Component Structure
144
+
145
+ ```tsx
146
+ interface Props {
147
+ title: string
148
+ variant?: 'primary' | 'secondary'
149
+ onAction?: () => void
150
+ }
151
+
152
+ export function ComponentName({ title, variant = 'primary', onAction }: Props) {
153
+ return (
154
+ <div className="card bg-base-100 shadow-xl">
155
+ <div className="card-body">
156
+ <h2 className="card-title">{title}</h2>
157
+ <button className={`btn btn-${variant}`} onClick={onAction}>
158
+ Action
159
+ </button>
160
+ </div>
161
+ </div>
162
+ )
163
+ }
164
+ ```
165
+
166
+ ### Icon Pattern
167
+
168
+ ```tsx
169
+ import { IconName } from 'lucide-react'
170
+
171
+ // Icons inherit text color
172
+ <IconName className="w-5 h-5 text-base-content" />
173
+ <IconName className="w-6 h-6 text-primary" />
174
+ ```
175
+
176
+ ### Form Pattern
177
+
178
+ ```tsx
179
+ <div className="form-control w-full">
180
+ <label className="label">
181
+ <span className="label-text">Label</span>
182
+ </label>
183
+ <input
184
+ type="text"
185
+ placeholder="Placeholder"
186
+ className="input input-bordered w-full"
187
+ />
188
+ <label className="label">
189
+ <span className="label-text-alt">Helper text</span>
190
+ </label>
191
+ </div>
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Coding Guidelines
197
+
198
+ ### Naming Conventions
199
+
200
+ | Type | Convention | Example |
201
+ |------|------------|---------|
202
+ | Components | PascalCase | `UserProfile.tsx` |
203
+ | Functions/hooks | camelCase | `useAuth.ts`, `formatDate.ts` |
204
+ | Types/interfaces | PascalCase | `UserData`, `ApiResponse` |
205
+ | Constants | SCREAMING_SNAKE_CASE | `MAX_RETRIES` |
206
+ | Files | Match export name | `UserProfile.tsx` exports `UserProfile` |
207
+
208
+ ### TypeScript Guidelines
209
+
210
+ - Use TypeScript interfaces in separate `types.ts` files for shared types
211
+ - Prefer `interface` over `type` for object shapes
212
+ - Always type component props
213
+ - Use strict mode (enabled in tsconfig)
214
+
215
+ ### State Management
216
+
217
+ - Theme state via `ThemeContext`
218
+ - Local state with `useState` for component-specific data
219
+ - Consider Zustand for complex global state
220
+
221
+ ---
222
+
223
+ ## File Organization
224
+
225
+ ### Component Files
226
+
227
+ ```
228
+ src/components/
229
+ ├── ui/ # Base primitives (Button, Input, Modal)
230
+ ├── layout/ # Layout components (Header, Sidebar, Footer)
231
+ ├── features/ # Feature-specific components
232
+ └── shared/ # Shared across features
233
+ ```
234
+
235
+ ### Types Files
236
+
237
+ ```
238
+ src/types/
239
+ ├── index.ts # Common types, re-exports
240
+ ├── api.ts # API response types
241
+ └── [feature].ts # Feature-specific types
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Testing
247
+
248
+ ```bash
249
+ bun test # Run all tests
250
+ bun test --watch # Watch mode
251
+ bun run test:coverage # With coverage report
252
+ ```
253
+
254
+ - Tests live next to source files: `Component.tsx` → `Component.test.tsx`
255
+ - Use React Testing Library for component tests
256
+ - Test behavior, not implementation
257
+
258
+ ---
259
+
260
+ ## Environment Variables
261
+
262
+ Create `.env.local` for local development (never commit):
263
+
264
+ ```env
265
+ VITE_API_URL=http://localhost:3001
266
+ VITE_DEBUG=true
267
+ ```
268
+
269
+ Access in code: `import.meta.env.VITE_API_URL`
270
+
271
+ ---
272
+
273
+ ## Common Tasks
274
+
275
+ ### Adding a New Theme
276
+
277
+ Edit `tailwind.config.js` and add to the `daisyui.themes` array:
278
+
279
+ ```js
280
+ {
281
+ mytheme: {
282
+ "primary": "#6366f1",
283
+ "secondary": "#f472b6",
284
+ // ... other colors
285
+ },
286
+ }
287
+ ```
288
+
289
+ ### Adding a New Component
290
+
291
+ 1. Create file in `src/components/ui/`
292
+ 2. Use DaisyUI classes for styling
293
+ 3. Export from component file
294
+ 4. Add types if needed
295
+
296
+ ### Adding a New Page
297
+
298
+ 1. Create component in `src/pages/`
299
+ 2. Add route in `src/App.tsx`
300
+ 3. Update navigation if needed
301
+
302
+ ---
303
+
304
+ ## Common Mistakes to Avoid
305
+
306
+ ❌ **Don't** use inline styles when Tailwind/DaisyUI classes exist
307
+ ✅ **Do** use utility classes: `className="p-4 rounded-lg"`
308
+
309
+ ❌ **Don't** create custom CSS for standard components
310
+ ✅ **Do** use DaisyUI: `className="btn btn-primary"`
311
+
312
+ ❌ **Don't** hardcode colors like `text-[#333]`
313
+ ✅ **Do** use semantic colors: `text-base-content`
314
+
315
+ ❌ **Don't** forget loading and error states
316
+ ✅ **Do** handle all UI states: loading, error, empty, success
317
+
318
+ ❌ **Don't** mix different icon libraries
319
+ ✅ **Do** stick to Lucide React for consistency
320
+
321
+ ❌ **Don't** skip TypeScript types
322
+ ✅ **Do** type all props and return values
323
+
324
+ ---
325
+
326
+ ## Notes
327
+
328
+ <!-- Add project-specific notes, gotchas, or important context -->
329
+ - Uses **bun** as package manager (faster than npm/yarn)
330
+ - Theme persists in localStorage
331
+ - Path alias `@/` maps to `src/`
332
+ - All DaisyUI themes are pre-installed
@@ -0,0 +1,28 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import tseslint from 'typescript-eslint'
6
+
7
+ export default tseslint.config(
8
+ { ignores: ['dist'] },
9
+ {
10
+ extends: [js.configs.recommended, ...tseslint.configs.recommended],
11
+ files: ['**/*.{ts,tsx}'],
12
+ languageOptions: {
13
+ ecmaVersion: 2020,
14
+ globals: globals.browser,
15
+ },
16
+ plugins: {
17
+ 'react-hooks': reactHooks,
18
+ 'react-refresh': reactRefresh,
19
+ },
20
+ rules: {
21
+ ...reactHooks.configs.recommended.rules,
22
+ 'react-refresh/only-export-components': [
23
+ 'warn',
24
+ { allowConstantExport: true },
25
+ ],
26
+ },
27
+ },
28
+ )
@@ -0,0 +1,17 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-theme="halloween">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
+ <link href="https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap" rel="stylesheet" />
10
+ <meta name="description" content="Shipshape from the start. A designer-first boilerplate for building non-slop with Claude Code." />
11
+ <title>claudecraft — Shipshape from the start</title>
12
+ </head>
13
+ <body>
14
+ <div id="root"></div>
15
+ <script type="module" src="/src/main.tsx"></script>
16
+ </body>
17
+ </html>
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "claudecraft",
3
+ "private": true,
4
+ "version": "0.0.1",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc -b && vite build",
9
+ "lint": "eslint .",
10
+ "preview": "vite preview",
11
+ "test": "vitest",
12
+ "test:coverage": "vitest run --coverage"
13
+ },
14
+ "dependencies": {
15
+ "react": "^18.3.1",
16
+ "react-dom": "^18.3.1",
17
+ "react-router-dom": "^7.12.0",
18
+ "lucide-react": "^0.460.0",
19
+ "clsx": "^2.1.1",
20
+ "tailwind-merge": "^2.5.4"
21
+ },
22
+ "devDependencies": {
23
+ "@eslint/js": "^9.13.0",
24
+ "@tailwindcss/typography": "^0.5.19",
25
+ "@testing-library/jest-dom": "^6.6.2",
26
+ "@testing-library/react": "^16.0.1",
27
+ "@types/react": "^18.3.12",
28
+ "@types/react-dom": "^18.3.1",
29
+ "@vitejs/plugin-react": "^4.3.3",
30
+ "autoprefixer": "^10.4.20",
31
+ "daisyui": "^4.12.14",
32
+ "eslint": "^9.13.0",
33
+ "eslint-plugin-react-hooks": "^5.0.0",
34
+ "eslint-plugin-react-refresh": "^0.4.13",
35
+ "globals": "^15.11.0",
36
+ "postcss": "^8.4.47",
37
+ "tailwindcss": "^3.4.14",
38
+ "typescript": "~5.6.2",
39
+ "typescript-eslint": "^8.10.0",
40
+ "vite": "^5.4.10",
41
+ "vitest": "^2.1.4"
42
+ }
43
+ }
@@ -0,0 +1,6 @@
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
@@ -0,0 +1,81 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default {
3
+ content: [
4
+ "./index.html",
5
+ "./src/**/*.{js,ts,jsx,tsx}",
6
+ ],
7
+ theme: {
8
+ extend: {},
9
+ },
10
+ plugins: [require("@tailwindcss/typography"), require("daisyui")],
11
+ daisyui: {
12
+ themes: [
13
+ // Light themes
14
+ "light",
15
+ "cupcake",
16
+ "bumblebee",
17
+ "emerald",
18
+ "corporate",
19
+ "garden",
20
+ "lofi",
21
+ "pastel",
22
+ "fantasy",
23
+ "wireframe",
24
+ "cmyk",
25
+ "autumn",
26
+ "acid",
27
+ "lemonade",
28
+ "winter",
29
+ "nord",
30
+
31
+ // Dark themes
32
+ "dark",
33
+ "synthwave",
34
+ "retro",
35
+ "cyberpunk",
36
+ "valentine",
37
+ "halloween",
38
+ "aqua",
39
+ "forest",
40
+ "black",
41
+ "luxury",
42
+ "dracula",
43
+ "business",
44
+ "night",
45
+ "coffee",
46
+ "dim",
47
+ "sunset",
48
+
49
+ // Custom theme from theme generator
50
+ {
51
+ custom: {
52
+ "primary": "#6366f1",
53
+ "primary-content": "#ffffff",
54
+ "secondary": "#f472b6",
55
+ "secondary-content": "#ffffff",
56
+ "accent": "#22d3ee",
57
+ "accent-content": "#000000",
58
+ "neutral": "#1f2937",
59
+ "neutral-content": "#d1d5db",
60
+ "base-100": "#ffffff",
61
+ "base-200": "#f3f4f6",
62
+ "base-300": "#e5e7eb",
63
+ "base-content": "#1f2937",
64
+ "info": "#3b82f6",
65
+ "info-content": "#ffffff",
66
+ "success": "#22c55e",
67
+ "success-content": "#ffffff",
68
+ "warning": "#f59e0b",
69
+ "warning-content": "#000000",
70
+ "error": "#ef4444",
71
+ "error-content": "#ffffff",
72
+ },
73
+ },
74
+ ],
75
+ darkTheme: "dark",
76
+ base: true,
77
+ styled: true,
78
+ utils: true,
79
+ logs: false,
80
+ },
81
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+ "moduleResolution": "bundler",
9
+ "allowImportingTsExtensions": true,
10
+ "isolatedModules": true,
11
+ "moduleDetection": "force",
12
+ "noEmit": true,
13
+ "jsx": "react-jsx",
14
+ "strict": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noUncheckedSideEffectImports": true,
19
+ "baseUrl": ".",
20
+ "paths": {
21
+ "@/*": ["./src/*"]
22
+ }
23
+ },
24
+ "include": ["src"]
25
+ }
@@ -0,0 +1,16 @@
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+ import path from 'path'
4
+
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ resolve: {
8
+ alias: {
9
+ '@': path.resolve(__dirname, './src'),
10
+ },
11
+ },
12
+ server: {
13
+ port: 6969,
14
+ host: true,
15
+ },
16
+ })
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores requirements and design before implementation."
3
+ disable-model-invocation: true
4
+ ---
5
+
6
+ Invoke the superpowers:brainstorming skill and follow it exactly as presented to you
@@ -0,0 +1,41 @@
1
+ # /build Command
2
+
3
+ Run the project build and provide a structured summary of results.
4
+
5
+ ## Steps
6
+
7
+ 1. Run `bun run build` to execute TypeScript compilation and Vite build
8
+
9
+ 2. Parse the output for:
10
+ - TypeScript errors (with file locations)
11
+ - Build warnings
12
+ - Bundle size information
13
+ - Build success/failure status
14
+
15
+ 3. Format results as:
16
+
17
+ ```markdown
18
+ ## Build Results
19
+
20
+ **Status:** ✅ Success | ❌ Failed
21
+
22
+ ### TypeScript Errors (if any)
23
+ | File | Line | Error |
24
+ |------|------|-------|
25
+ | ... | ... | ... |
26
+
27
+ ### Warnings (if any)
28
+ - ...
29
+
30
+ ### Bundle Info
31
+ - Output directory: dist/
32
+ - Total size: X KB
33
+ ```
34
+
35
+ 4. If errors found:
36
+ - Suggest fixes for common issues
37
+ - Offer to fix automatically if straightforward
38
+
39
+ 5. If successful:
40
+ - Report build time
41
+ - Note any optimization opportunities
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: Execute plan in batches with review checkpoints
3
+ disable-model-invocation: true
4
+ ---
5
+
6
+ Invoke the superpowers:executing-plans skill and follow it exactly as presented to you
@@ -0,0 +1,41 @@
1
+ # /lint Command
2
+
3
+ Run ESLint and provide a structured summary of linting issues.
4
+
5
+ ## Steps
6
+
7
+ 1. Run `bun run lint` to execute ESLint
8
+
9
+ 2. Parse the output for:
10
+ - Errors (blocking issues)
11
+ - Warnings (suggestions)
12
+ - File locations and line numbers
13
+
14
+ 3. Format results as:
15
+
16
+ ```markdown
17
+ ## Lint Results
18
+
19
+ **Status:** ✅ No issues | ⚠️ X warnings | ❌ Y errors
20
+
21
+ ### Errors
22
+ | File | Line | Rule | Message |
23
+ |------|------|------|---------|
24
+ | ... | ... | ... | ... |
25
+
26
+ ### Warnings
27
+ | File | Line | Rule | Message |
28
+ |------|------|------|---------|
29
+ | ... | ... | ... | ... |
30
+
31
+ ### Summary
32
+ - Files checked: X
33
+ - Errors: Y
34
+ - Warnings: Z
35
+ ```
36
+
37
+ 4. For fixable issues:
38
+ - Offer to run `bun run lint --fix`
39
+
40
+ 5. For manual fixes:
41
+ - Suggest specific code changes