flyee 0.1.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 (302) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/bin/install.js +357 -0
  4. package/bridge/bridge.py +1780 -0
  5. package/bridge/local_tracker.py +722 -0
  6. package/core/agents/backend-specialist.md +266 -0
  7. package/core/agents/code-archaeologist.md +106 -0
  8. package/core/agents/database-architect.md +226 -0
  9. package/core/agents/debugger.md +225 -0
  10. package/core/agents/devops-engineer.md +323 -0
  11. package/core/agents/documentation-writer.md +104 -0
  12. package/core/agents/explorer-agent.md +73 -0
  13. package/core/agents/frontend-specialist.md +743 -0
  14. package/core/agents/game-developer.md +162 -0
  15. package/core/agents/mobile-developer.md +377 -0
  16. package/core/agents/orchestrator.md +416 -0
  17. package/core/agents/penetration-tester.md +188 -0
  18. package/core/agents/performance-optimizer.md +187 -0
  19. package/core/agents/product-manager.md +112 -0
  20. package/core/agents/product-owner.md +95 -0
  21. package/core/agents/project-planner.md +470 -0
  22. package/core/agents/qa-automation-engineer.md +103 -0
  23. package/core/agents/security-auditor.md +170 -0
  24. package/core/agents/seo-specialist.md +111 -0
  25. package/core/agents/stitch-designer.md +190 -0
  26. package/core/agents/tdd-reviewer.md +282 -0
  27. package/core/agents/test-engineer.md +158 -0
  28. package/core/scripts/auto_preview.py +148 -0
  29. package/core/scripts/checklist.py +243 -0
  30. package/core/scripts/cost_report.py +149 -0
  31. package/core/scripts/doc-sync-check.py +461 -0
  32. package/core/scripts/parse_user_stories.py +79 -0
  33. package/core/scripts/prepare_notion_updates.py +172 -0
  34. package/core/scripts/print_create_payload.py +18 -0
  35. package/core/scripts/session_manager.py +120 -0
  36. package/core/scripts/task_complete.py +127 -0
  37. package/core/scripts/verify_all.py +327 -0
  38. package/core/skills/analytics-strategy/SKILL.md +128 -0
  39. package/core/skills/api-patterns/SKILL.md +81 -0
  40. package/core/skills/api-patterns/api-style.md +42 -0
  41. package/core/skills/api-patterns/auth.md +24 -0
  42. package/core/skills/api-patterns/documentation.md +26 -0
  43. package/core/skills/api-patterns/graphql.md +41 -0
  44. package/core/skills/api-patterns/rate-limiting.md +31 -0
  45. package/core/skills/api-patterns/response.md +37 -0
  46. package/core/skills/api-patterns/rest.md +40 -0
  47. package/core/skills/api-patterns/scripts/api_validator.py +211 -0
  48. package/core/skills/api-patterns/security-testing.md +122 -0
  49. package/core/skills/api-patterns/trpc.md +41 -0
  50. package/core/skills/api-patterns/versioning.md +22 -0
  51. package/core/skills/app-builder/SKILL.md +75 -0
  52. package/core/skills/app-builder/agent-coordination.md +71 -0
  53. package/core/skills/app-builder/feature-building.md +53 -0
  54. package/core/skills/app-builder/project-detection.md +34 -0
  55. package/core/skills/app-builder/scaffolding.md +118 -0
  56. package/core/skills/app-builder/tech-stack.md +40 -0
  57. package/core/skills/app-builder/templates/SKILL.md +39 -0
  58. package/core/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  59. package/core/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  60. package/core/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  61. package/core/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  62. package/core/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  63. package/core/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  64. package/core/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  65. package/core/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  66. package/core/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  67. package/core/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  68. package/core/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  69. package/core/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  70. package/core/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  71. package/core/skills/architecture/SKILL.md +55 -0
  72. package/core/skills/architecture/context-discovery.md +43 -0
  73. package/core/skills/architecture/examples.md +94 -0
  74. package/core/skills/architecture/pattern-selection.md +68 -0
  75. package/core/skills/architecture/patterns-reference.md +50 -0
  76. package/core/skills/architecture/trade-off-analysis.md +77 -0
  77. package/core/skills/atomic-design/SKILL.md +282 -0
  78. package/core/skills/atomic-design/references/classification-guide.md +132 -0
  79. package/core/skills/atomic-design/references/quality-checklist.md +60 -0
  80. package/core/skills/atomic-design/references/stacks/stack-blade.md +254 -0
  81. package/core/skills/atomic-design/references/stacks/stack-nextjs.md +272 -0
  82. package/core/skills/atomic-design/references/stacks/stack-react.md +239 -0
  83. package/core/skills/atomic-design/references/stacks/stack-vue.md +224 -0
  84. package/core/skills/bash-linux/SKILL.md +199 -0
  85. package/core/skills/behavioral-modes/SKILL.md +242 -0
  86. package/core/skills/brainstorming/SKILL.md +163 -0
  87. package/core/skills/brainstorming/dynamic-questioning.md +373 -0
  88. package/core/skills/checkpointing-patterns/SKILL.md +163 -0
  89. package/core/skills/clean-code/SKILL.md +201 -0
  90. package/core/skills/code-review-checklist/SKILL.md +109 -0
  91. package/core/skills/code-truth-validation/SKILL.md +149 -0
  92. package/core/skills/component-library-discovery/SKILL.md +154 -0
  93. package/core/skills/content-strategy/SKILL.md +222 -0
  94. package/core/skills/context-budget/SKILL.md +155 -0
  95. package/core/skills/context-gathering-patterns/SKILL.md +278 -0
  96. package/core/skills/cost-tracking/SKILL.md +206 -0
  97. package/core/skills/database-design/SKILL.md +52 -0
  98. package/core/skills/database-design/database-selection.md +43 -0
  99. package/core/skills/database-design/indexing.md +39 -0
  100. package/core/skills/database-design/migrations.md +48 -0
  101. package/core/skills/database-design/optimization.md +36 -0
  102. package/core/skills/database-design/orm-selection.md +30 -0
  103. package/core/skills/database-design/schema-design.md +56 -0
  104. package/core/skills/database-design/scripts/schema_validator.py +172 -0
  105. package/core/skills/deployment-procedures/SKILL.md +295 -0
  106. package/core/skills/design-md/README.md +34 -0
  107. package/core/skills/design-md/SKILL.md +172 -0
  108. package/core/skills/design-md/examples/DESIGN.md +154 -0
  109. package/core/skills/design-system-enforcement/SKILL.md +339 -0
  110. package/core/skills/doc.md +177 -0
  111. package/core/skills/document-registry/SKILL.md +130 -0
  112. package/core/skills/documentation-publishing/SKILL.md +174 -0
  113. package/core/skills/documentation-templates/SKILL.md +194 -0
  114. package/core/skills/enhance-prompt/README.md +34 -0
  115. package/core/skills/enhance-prompt/SKILL.md +204 -0
  116. package/core/skills/enhance-prompt/references/KEYWORDS.md +114 -0
  117. package/core/skills/frontend-design/SKILL.md +430 -0
  118. package/core/skills/frontend-design/animation-guide.md +331 -0
  119. package/core/skills/frontend-design/color-system.md +311 -0
  120. package/core/skills/frontend-design/decision-trees.md +418 -0
  121. package/core/skills/frontend-design/motion-graphics.md +306 -0
  122. package/core/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  123. package/core/skills/frontend-design/scripts/ux_audit.py +722 -0
  124. package/core/skills/frontend-design/typography-system.md +345 -0
  125. package/core/skills/frontend-design/ux-psychology.md +541 -0
  126. package/core/skills/frontend-design/visual-effects.md +383 -0
  127. package/core/skills/game-development/2d-games/SKILL.md +119 -0
  128. package/core/skills/game-development/3d-games/SKILL.md +135 -0
  129. package/core/skills/game-development/SKILL.md +167 -0
  130. package/core/skills/game-development/game-art/SKILL.md +185 -0
  131. package/core/skills/game-development/game-audio/SKILL.md +190 -0
  132. package/core/skills/game-development/game-design/SKILL.md +129 -0
  133. package/core/skills/game-development/mobile-games/SKILL.md +108 -0
  134. package/core/skills/game-development/multiplayer/SKILL.md +132 -0
  135. package/core/skills/game-development/pc-games/SKILL.md +144 -0
  136. package/core/skills/game-development/vr-ar/SKILL.md +123 -0
  137. package/core/skills/game-development/web-games/SKILL.md +150 -0
  138. package/core/skills/geo-fundamentals/SKILL.md +156 -0
  139. package/core/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  140. package/core/skills/git-workflow/SKILL.md +263 -0
  141. package/core/skills/history-check-patterns/SKILL.md +125 -0
  142. package/core/skills/i18n-localization/SKILL.md +154 -0
  143. package/core/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  144. package/core/skills/integration-completeness/SKILL.md +219 -0
  145. package/core/skills/intelligent-routing/SKILL.md +370 -0
  146. package/core/skills/lint-and-validate/SKILL.md +45 -0
  147. package/core/skills/lint-and-validate/scripts/lint_runner.py +173 -0
  148. package/core/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  149. package/core/skills/local-verification/SKILL.md +195 -0
  150. package/core/skills/mcp-builder/SKILL.md +176 -0
  151. package/core/skills/mobile-design/SKILL.md +394 -0
  152. package/core/skills/mobile-design/decision-trees.md +516 -0
  153. package/core/skills/mobile-design/mobile-backend.md +491 -0
  154. package/core/skills/mobile-design/mobile-color-system.md +420 -0
  155. package/core/skills/mobile-design/mobile-debugging.md +122 -0
  156. package/core/skills/mobile-design/mobile-design-thinking.md +357 -0
  157. package/core/skills/mobile-design/mobile-navigation.md +458 -0
  158. package/core/skills/mobile-design/mobile-performance.md +767 -0
  159. package/core/skills/mobile-design/mobile-testing.md +356 -0
  160. package/core/skills/mobile-design/mobile-typography.md +433 -0
  161. package/core/skills/mobile-design/platform-android.md +666 -0
  162. package/core/skills/mobile-design/platform-ios.md +561 -0
  163. package/core/skills/mobile-design/scripts/mobile_audit.py +670 -0
  164. package/core/skills/mobile-design/touch-psychology.md +537 -0
  165. package/core/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  166. package/core/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  167. package/core/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  168. package/core/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  169. package/core/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  170. package/core/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  171. package/core/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  172. package/core/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  173. package/core/skills/nextjs-react-expert/SKILL.md +267 -0
  174. package/core/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  175. package/core/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  176. package/core/skills/nodejs-best-practices/SKILL.md +333 -0
  177. package/core/skills/notion-task-patterns/SKILL.md +2529 -0
  178. package/core/skills/page-specifications/SKILL.md +367 -0
  179. package/core/skills/parallel-agents/SKILL.md +175 -0
  180. package/core/skills/performance-profiling/SKILL.md +143 -0
  181. package/core/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  182. package/core/skills/plan-writing/SKILL.md +190 -0
  183. package/core/skills/powershell-windows/SKILL.md +167 -0
  184. package/core/skills/project-foundation/SKILL.md +117 -0
  185. package/core/skills/project-setup/SKILL.md +141 -0
  186. package/core/skills/project-tracking-patterns/SKILL.md +357 -0
  187. package/core/skills/project-type-discovery/SKILL.md +239 -0
  188. package/core/skills/python-patterns/SKILL.md +441 -0
  189. package/core/skills/qa-test-generation/SKILL.md +156 -0
  190. package/core/skills/react-components/README.md +36 -0
  191. package/core/skills/react-components/SKILL.md +47 -0
  192. package/core/skills/react-components/examples/gold-standard-card.tsx +80 -0
  193. package/core/skills/react-components/package-lock.json +231 -0
  194. package/core/skills/react-components/package.json +16 -0
  195. package/core/skills/react-components/resources/architecture-checklist.md +15 -0
  196. package/core/skills/react-components/resources/component-template.tsx +37 -0
  197. package/core/skills/react-components/resources/stitch-api-reference.md +14 -0
  198. package/core/skills/react-components/resources/style-guide.json +27 -0
  199. package/core/skills/react-components/scripts/fetch-stitch.sh +30 -0
  200. package/core/skills/react-components/scripts/validate.js +68 -0
  201. package/core/skills/red-team-tactics/SKILL.md +199 -0
  202. package/core/skills/remotion/README.md +105 -0
  203. package/core/skills/remotion/SKILL.md +393 -0
  204. package/core/skills/remotion/examples/WalkthroughComposition.tsx +78 -0
  205. package/core/skills/remotion/examples/screens.json +56 -0
  206. package/core/skills/remotion/resources/composition-checklist.md +124 -0
  207. package/core/skills/remotion/resources/screen-slide-template.tsx +123 -0
  208. package/core/skills/remotion/scripts/download-stitch-asset.sh +38 -0
  209. package/core/skills/seo-fundamentals/SKILL.md +129 -0
  210. package/core/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  211. package/core/skills/server-management/SKILL.md +161 -0
  212. package/core/skills/session-resilience/SKILL.md +199 -0
  213. package/core/skills/shadcn-ui/README.md +248 -0
  214. package/core/skills/shadcn-ui/SKILL.md +326 -0
  215. package/core/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  216. package/core/skills/shadcn-ui/examples/data-table.tsx +313 -0
  217. package/core/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  218. package/core/skills/shadcn-ui/resources/component-catalog.md +481 -0
  219. package/core/skills/shadcn-ui/resources/customization-guide.md +516 -0
  220. package/core/skills/shadcn-ui/resources/migration-guide.md +463 -0
  221. package/core/skills/shadcn-ui/resources/setup-guide.md +412 -0
  222. package/core/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  223. package/core/skills/state-machine/SKILL.md +264 -0
  224. package/core/skills/stitch-loop/README.md +54 -0
  225. package/core/skills/stitch-loop/SKILL.md +203 -0
  226. package/core/skills/stitch-loop/examples/SITE.md +73 -0
  227. package/core/skills/stitch-loop/examples/next-prompt.md +25 -0
  228. package/core/skills/stitch-loop/resources/baton-schema.md +61 -0
  229. package/core/skills/stitch-loop/resources/site-template.md +104 -0
  230. package/core/skills/systematic-debugging/SKILL.md +109 -0
  231. package/core/skills/tailwind-patterns/SKILL.md +284 -0
  232. package/core/skills/tdd-validation/SKILL.md +243 -0
  233. package/core/skills/tdd-workflow/SKILL.md +284 -0
  234. package/core/skills/testing-patterns/SKILL.md +196 -0
  235. package/core/skills/testing-patterns/scripts/test_runner.py +219 -0
  236. package/core/skills/ui-ux-discovery/SKILL.md +329 -0
  237. package/core/skills/ui-validation/SKILL.md +190 -0
  238. package/core/skills/ui-validation/scripts/ui_antipattern_check.py +317 -0
  239. package/core/skills/verification-gate/SKILL.md +205 -0
  240. package/core/skills/vulnerability-scanner/SKILL.md +276 -0
  241. package/core/skills/vulnerability-scanner/checklists.md +121 -0
  242. package/core/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  243. package/core/skills/web-design-guidelines/SKILL.md +57 -0
  244. package/core/skills/webapp-testing/SKILL.md +187 -0
  245. package/core/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  246. package/core/templates/ARCHITECTURE.template.md +407 -0
  247. package/core/templates/project-resources.example.json +71 -0
  248. package/core/workflows/atomic.md +182 -0
  249. package/core/workflows/brainstorm.md +134 -0
  250. package/core/workflows/check-task.md +242 -0
  251. package/core/workflows/copy-collect.md +306 -0
  252. package/core/workflows/create-agent.md +33 -0
  253. package/core/workflows/create-skill.md +39 -0
  254. package/core/workflows/create-workflow.md +33 -0
  255. package/core/workflows/create.md +92 -0
  256. package/core/workflows/debug.md +186 -0
  257. package/core/workflows/demand.md +443 -0
  258. package/core/workflows/deploy.md +260 -0
  259. package/core/workflows/discovery.md +267 -0
  260. package/core/workflows/document.md +272 -0
  261. package/core/workflows/ds-components.md +296 -0
  262. package/core/workflows/ds-init.md +58 -0
  263. package/core/workflows/ds-refactor.md +245 -0
  264. package/core/workflows/ds-references.md +197 -0
  265. package/core/workflows/ds-styleguide.md +237 -0
  266. package/core/workflows/ds-token-diff.md +103 -0
  267. package/core/workflows/ds-tokens.md +317 -0
  268. package/core/workflows/ds-validate.md +309 -0
  269. package/core/workflows/execute.md +483 -0
  270. package/core/workflows/extract-template.md +278 -0
  271. package/core/workflows/fix-failed-tests.md +160 -0
  272. package/core/workflows/init-project.md +386 -0
  273. package/core/workflows/legacy-project.md +849 -0
  274. package/core/workflows/log.md +97 -0
  275. package/core/workflows/new-project.md +610 -0
  276. package/core/workflows/new-project.md.bak +3292 -0
  277. package/core/workflows/new-task.md +404 -0
  278. package/core/workflows/orchestrate.md +237 -0
  279. package/core/workflows/page-build.md +296 -0
  280. package/core/workflows/plan.md +89 -0
  281. package/core/workflows/prd.md +255 -0
  282. package/core/workflows/preview.md +81 -0
  283. package/core/workflows/review-page.md +304 -0
  284. package/core/workflows/status.md +86 -0
  285. package/core/workflows/stitch.md +226 -0
  286. package/core/workflows/task-complete.md +473 -0
  287. package/core/workflows/task-update.md +163 -0
  288. package/core/workflows/tdd.md +344 -0
  289. package/core/workflows/test.md +251 -0
  290. package/core/workflows/ui-ux-pro-max.md +437 -0
  291. package/core/workflows/ux-mobile-optimize.md +262 -0
  292. package/core/workflows/ux-mobile-validate.md +297 -0
  293. package/engine-files/GEMINI.md +69 -0
  294. package/package.json +47 -0
  295. package/runtime-adapters/antigravity.js +26 -0
  296. package/runtime-adapters/claude.js +57 -0
  297. package/runtime-adapters/codex.js +51 -0
  298. package/runtime-adapters/copilot.js +51 -0
  299. package/runtime-adapters/cursor.js +51 -0
  300. package/runtime-adapters/gemini-cli.js +30 -0
  301. package/runtime-adapters/opencode.js +51 -0
  302. package/runtime-adapters/windsurf.js +51 -0
@@ -0,0 +1,248 @@
1
+ # shadcn/ui Integration Skill
2
+
3
+ ## Install
4
+
5
+ ```bash
6
+ npx skills add google-labs-code/stitch-skills --skill shadcn-ui --global
7
+ ```
8
+
9
+ ## What It Does
10
+
11
+ This skill provides expert guidance for integrating shadcn/ui components into your React applications. It helps you discover, install, customize, and optimize shadcn/ui components while following best practices.
12
+
13
+ ## Example Prompts
14
+
15
+ ```text
16
+ Help me set up shadcn/ui in my Next.js project
17
+
18
+ Add a data table component with sorting and filtering to my app
19
+
20
+ Show me how to customize the button component with a new variant
21
+
22
+ Create a login form using shadcn/ui components with validation
23
+
24
+ Build a dashboard layout with sidebar navigation using shadcn/ui blocks
25
+ ```
26
+
27
+ ## What is shadcn/ui?
28
+
29
+ shadcn/ui is a collection of beautifully designed, accessible, and customizable components built with:
30
+ - **Radix UI or Base UI**: Unstyled, accessible component primitives
31
+ - **Tailwind CSS**: Utility-first styling framework
32
+ - **TypeScript**: Full type safety
33
+
34
+ **Key Difference**: Unlike traditional component libraries, shadcn/ui copies components directly into your project. This gives you:
35
+ - Full control over the code
36
+ - No version lock-in
37
+ - Complete customization freedom
38
+ - Zero runtime overhead
39
+
40
+ ## Skill Structure
41
+
42
+ ```text
43
+ skills/shadcn-ui/
44
+ ├── SKILL.md — Core instructions & workflow
45
+ ├── README.md — This file
46
+ ├── examples/ — Example implementations
47
+ │ ├── form-pattern.tsx — Form with validation
48
+ │ ├── data-table.tsx — Advanced table with sorting
49
+ │ └── auth-layout.tsx — Authentication flow
50
+ ├── resources/ — Reference documentation
51
+ │ ├── setup-guide.md — Project initialization
52
+ │ ├── component-catalog.md — Component reference
53
+ │ ├── customization-guide.md — Theming patterns
54
+ │ └── migration-guide.md — Migration from other libraries
55
+ └── scripts/ — Utility scripts
56
+ └── verify-setup.sh — Validate project configuration
57
+ ```
58
+
59
+ ## How It Works
60
+
61
+ When activated, the agent follows this workflow:
62
+
63
+ ### 1. **Discovery & Planning**
64
+ - Lists available components using shadcn MCP tools
65
+ - Identifies required dependencies
66
+ - Plans component composition strategy
67
+
68
+ ### 2. **Setup & Configuration**
69
+ - Verifies or initializes `components.json`
70
+ - Checks Tailwind CSS configuration
71
+ - Validates import aliases and paths
72
+
73
+ ### 3. **Component Integration**
74
+ - Retrieves component source code
75
+ - Installs via CLI or manual integration
76
+ - Handles dependency installation
77
+
78
+ ### 4. **Customization**
79
+ - Applies theme customization
80
+ - Creates component variants
81
+ - Extends components with custom logic
82
+
83
+ ### 5. **Quality Assurance**
84
+ - Validates TypeScript types
85
+ - Checks accessibility compliance
86
+ - Verifies responsive behavior
87
+
88
+ ## Prerequisites
89
+
90
+ Your project should have:
91
+ - **React 18+**
92
+ - **Tailwind CSS 3.0+**
93
+ - **TypeScript** (recommended)
94
+ - **Node.js 18+**
95
+
96
+ ## Quick Start
97
+
98
+ ### For New Projects
99
+
100
+ ```bash
101
+ # Create Next.js project with shadcn/ui
102
+ npx create-next-app@latest my-app
103
+ cd my-app
104
+ npx shadcn@latest init
105
+
106
+ # Add components
107
+ npx shadcn@latest add button
108
+ npx shadcn@latest add card
109
+ ```
110
+
111
+ ### For Existing Projects
112
+
113
+ ```bash
114
+ # Initialize shadcn/ui
115
+ npx shadcn@latest init
116
+
117
+ # Configure when prompted:
118
+ # - Choose style (default/new-york)
119
+ # - Select base color
120
+ # - Configure CSS variables
121
+ # - Set import aliases
122
+
123
+ # Add your first component
124
+ npx shadcn@latest add button
125
+ ```
126
+
127
+ ## Available Components
128
+
129
+ shadcn/ui provides 50+ components including:
130
+
131
+ **Layout**: Accordion, Card, Separator, Tabs, Collapsible
132
+ **Forms**: Button, Input, Label, Checkbox, Radio Group, Select, Textarea
133
+ **Data Display**: Table, Badge, Avatar, Progress, Skeleton
134
+ **Overlays**: Dialog, Sheet, Popover, Tooltip, Dropdown Menu
135
+ **Navigation**: Navigation Menu, Tabs, Breadcrumb, Pagination
136
+ **Feedback**: Alert, Alert Dialog, Toast, Command
137
+
138
+ Plus complete **Blocks** like:
139
+ - Authentication forms
140
+ - Dashboard layouts
141
+ - Calendar interfaces
142
+ - Sidebar navigation
143
+ - E-commerce components
144
+
145
+ ## Customization Approach
146
+
147
+ ### Theme-Level Customization
148
+ Modify CSS variables in `globals.css`:
149
+ ```css
150
+ :root {
151
+ --primary: 221.2 83.2% 53.3%;
152
+ --secondary: 210 40% 96.1%;
153
+ /* ... */
154
+ }
155
+ ```
156
+
157
+ ### Component-Level Customization
158
+ Components use `class-variance-authority` for variants:
159
+ ```typescript
160
+ const buttonVariants = cva(
161
+ "base-classes",
162
+ {
163
+ variants: {
164
+ variant: { default: "...", destructive: "..." },
165
+ size: { default: "...", sm: "..." },
166
+ }
167
+ }
168
+ )
169
+ ```
170
+
171
+ ### Composition
172
+ Create higher-level components:
173
+ ```typescript
174
+ // Compose existing components
175
+ export function FeatureCard({ title, description, icon }) {
176
+ return (
177
+ <Card>
178
+ <CardHeader>
179
+ {icon}
180
+ <CardTitle>{title}</CardTitle>
181
+ </CardHeader>
182
+ <CardContent>
183
+ <p>{description}</p>
184
+ </CardContent>
185
+ </Card>
186
+ )
187
+ }
188
+ ```
189
+
190
+ ## Integration with MCP Tools
191
+
192
+ This skill leverages shadcn MCP server capabilities:
193
+
194
+ - `list_components` - Browse component catalog
195
+ - `get_component` - Retrieve component source
196
+ - `get_component_metadata` - View props and dependencies
197
+ - `get_component_demo` - See usage examples
198
+ - `list_blocks` - Browse UI blocks
199
+ - `get_block` - Retrieve block source with all files
200
+ - `search_items_in_registries` - Find components in custom registries
201
+
202
+ ## Best Practices
203
+
204
+ 1. **Keep `ui/` pure**: Don't modify components in `components/ui/` directly
205
+ 2. **Compose, don't fork**: Create wrapper components instead of editing originals
206
+ 3. **Use the CLI**: Let `shadcn add` handle dependencies and updates
207
+ 4. **Maintain consistency**: Use the `cn()` utility for all class merging
208
+ 5. **Respect accessibility**: Preserve ARIA attributes and keyboard handlers
209
+ 6. **Test responsiveness**: shadcn components are responsive by default—keep it that way
210
+
211
+ ## Troubleshooting
212
+
213
+ ### "Module not found" errors
214
+ Check your `tsconfig.json` includes path aliases:
215
+ ```json
216
+ {
217
+ "compilerOptions": {
218
+ "paths": {
219
+ "@/*": ["./src/*"]
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ ### Styles not applying
226
+ - Import `globals.css` in your root layout
227
+ - Verify Tailwind config includes component paths
228
+ - Check CSS variable definitions match component expectations
229
+
230
+ ### TypeScript errors
231
+ - Ensure all Radix UI peer dependencies are installed
232
+ - Run `npm install` after adding components via CLI
233
+ - Check that React types are up to date
234
+
235
+ ## Further Reading
236
+
237
+ - [Official Documentation](https://ui.shadcn.com)
238
+ - [Component Source](https://github.com/shadcn-ui/ui)
239
+ - [Radix UI Docs](https://www.radix-ui.com)
240
+ - [Tailwind CSS Docs](https://tailwindcss.com)
241
+
242
+ ## Contributing
243
+
244
+ Contributions to improve this skill are welcome! See the root [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
245
+
246
+ ## License
247
+
248
+ See [LICENSE](../../LICENSE) in the repository root.
@@ -0,0 +1,326 @@
1
+ ---
2
+ name: shadcn-ui
3
+ description: Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best practices.
4
+ allowed-tools:
5
+ - "shadcn*:*"
6
+ - "mcp_shadcn*"
7
+ - "Read"
8
+ - "Write"
9
+ - "Bash"
10
+ - "web_fetch"
11
+ ---
12
+
13
+ # shadcn/ui Component Integration
14
+
15
+ You are a frontend engineer specialized in building applications with shadcn/ui—a collection of beautifully designed, accessible, and customizable components built with Radix UI or Base UI and Tailwind CSS. You help developers discover, integrate, and customize components following best practices.
16
+
17
+ ## Core Principles
18
+
19
+ shadcn/ui is **not a component library**—it's a collection of reusable components that you copy into your project. This gives you:
20
+ - **Full ownership**: Components live in your codebase, not node_modules
21
+ - **Complete customization**: Modify styling, behavior, and structure freely, including choosing between Radix UI or Base UI primitives
22
+ - **No version lock-in**: Update components selectively at your own pace
23
+ - **Zero runtime overhead**: No library bundle, just the code you need
24
+
25
+ ## Component Discovery and Installation
26
+
27
+ ### 1. Browse Available Components
28
+
29
+ Use the shadcn MCP tools to explore the component catalog and Registry Directory:
30
+ - **List all components**: Use `list_components` to see the complete catalog
31
+ - **Get component metadata**: Use `get_component_metadata` to understand props, dependencies, and usage
32
+ - **View component demos**: Use `get_component_demo` to see implementation examples
33
+
34
+ ### 2. Component Installation
35
+
36
+ There are two approaches to adding components:
37
+
38
+ **A. Direct Installation (Recommended)**
39
+ ```bash
40
+ npx shadcn@latest add [component-name]
41
+ ```
42
+
43
+ This command:
44
+ - Downloads the component source code (adapting to your config: Radix vs Base UI)
45
+ - Installs required dependencies
46
+ - Places files in `components/ui/`
47
+ - Updates your `components.json` config
48
+
49
+ **B. Manual Integration**
50
+ 1. Use `get_component` to retrieve the source code
51
+ 2. Create the file in `components/ui/[component-name].tsx`
52
+ 3. Install peer dependencies manually
53
+ 4. Adjust imports if needed
54
+
55
+ ### 3. Registry and Custom Registries
56
+
57
+ If working with a custom registry (defined in `components.json`) or exploring the Registry Directory:
58
+ - Use `get_project_registries` to list available registries
59
+ - Use `list_items_in_registries` to see registry-specific components
60
+ - Use `view_items_in_registries` for detailed component information
61
+ - Use `search_items_in_registries` to find specific components
62
+
63
+ ## Project Setup
64
+
65
+ ### Initial Configuration
66
+
67
+ For **new projects**, use the `create` command to customize everything (style, fonts, component library):
68
+
69
+ ```bash
70
+ npx shadcn@latest create
71
+ ```
72
+
73
+ For **existing projects**, initialize configuration:
74
+
75
+ ```bash
76
+ npx shadcn@latest init
77
+ ```
78
+
79
+ This creates `components.json` with your configuration:
80
+ - **style**: default, new-york (classic) OR choose new visual styles like Vega, Nova, Maia, Lyra, Mira
81
+ - **baseColor**: slate, gray, zinc, neutral, stone
82
+ - **cssVariables**: true/false for CSS variable usage
83
+ - **tailwind config**: paths to Tailwind files
84
+ - **aliases**: import path shortcuts
85
+ - **rsc**: Use React Server Components (yes/no)
86
+ - **rtl**: Enable RTL support (optional)
87
+
88
+ ### Required Dependencies
89
+
90
+ shadcn/ui components require:
91
+ - **React** (18+)
92
+ - **Tailwind CSS** (3.0+)
93
+ - **Primitives**: Radix UI OR Base UI (depending on your choice)
94
+ - **class-variance-authority** (for variant styling)
95
+ - **clsx** and **tailwind-merge** (for class composition)
96
+
97
+ ## Component Architecture
98
+
99
+ ### File Structure
100
+ ```
101
+ src/
102
+ ├── components/
103
+ │ ├── ui/ # shadcn components
104
+ │ │ ├── button.tsx
105
+ │ │ ├── card.tsx
106
+ │ │ └── dialog.tsx
107
+ │ └── [custom]/ # your composed components
108
+ │ └── user-card.tsx
109
+ ├── lib/
110
+ │ └── utils.ts # cn() utility
111
+ └── app/
112
+ └── page.tsx
113
+ ```
114
+
115
+ ### The `cn()` Utility
116
+
117
+ All shadcn components use the `cn()` helper for class merging:
118
+
119
+ ```typescript
120
+ import { clsx, type ClassValue } from "clsx"
121
+ import { twMerge } from "tailwind-merge"
122
+
123
+ export function cn(...inputs: ClassValue[]) {
124
+ return twMerge(clsx(inputs))
125
+ }
126
+ ```
127
+
128
+ This allows you to:
129
+ - Override default styles without conflicts
130
+ - Conditionally apply classes
131
+ - Merge Tailwind classes intelligently
132
+
133
+ ## Customization Best Practices
134
+
135
+ ### 1. Theme Customization
136
+
137
+ Edit your Tailwind config and CSS variables in `app/globals.css`:
138
+
139
+ ```css
140
+ @layer base {
141
+ :root {
142
+ --background: 0 0% 100%;
143
+ --foreground: 222.2 84% 4.9%;
144
+ --primary: 221.2 83.2% 53.3%;
145
+ /* ... more variables */
146
+ }
147
+
148
+ .dark {
149
+ --background: 222.2 84% 4.9%;
150
+ --foreground: 210 40% 98%;
151
+ /* ... dark mode overrides */
152
+ }
153
+ }
154
+ ```
155
+
156
+ ### 2. Component Variants
157
+
158
+ Use `class-variance-authority` (cva) for variant logic:
159
+
160
+ ```typescript
161
+ import { cva } from "class-variance-authority"
162
+
163
+ const buttonVariants = cva(
164
+ "inline-flex items-center justify-center rounded-md",
165
+ {
166
+ variants: {
167
+ variant: {
168
+ default: "bg-primary text-primary-foreground",
169
+ outline: "border border-input",
170
+ },
171
+ size: {
172
+ default: "h-10 px-4 py-2",
173
+ sm: "h-9 rounded-md px-3",
174
+ },
175
+ },
176
+ defaultVariants: {
177
+ variant: "default",
178
+ size: "default",
179
+ },
180
+ }
181
+ )
182
+ ```
183
+
184
+ ### 3. Extending Components
185
+
186
+ Create wrapper components in `components/` (not `components/ui/`):
187
+
188
+ ```typescript
189
+ // components/custom-button.tsx
190
+ import { Button } from "@/components/ui/button"
191
+ import { Loader2 } from "lucide-react"
192
+
193
+ export function LoadingButton({
194
+ loading,
195
+ children,
196
+ ...props
197
+ }: ButtonProps & { loading?: boolean }) {
198
+ return (
199
+ <Button disabled={loading} {...props}>
200
+ {loading && <Loader2 className="mr-2 h-4 w-4 animate-spin" />}
201
+ {children}
202
+ </Button>
203
+ )
204
+ }
205
+ ```
206
+
207
+ ## Blocks and Complex Components
208
+
209
+ shadcn/ui provides complete UI blocks (authentication forms, dashboards, etc.):
210
+
211
+ 1. **List available blocks**: Use `list_blocks` with optional category filter
212
+ 2. **Get block source**: Use `get_block` with the block name
213
+ 3. **Install blocks**: Many blocks include multiple component files
214
+
215
+ Blocks are organized by category:
216
+ - **calendar**: Calendar interfaces
217
+ - **dashboard**: Dashboard layouts
218
+ - **login**: Authentication flows
219
+ - **sidebar**: Navigation sidebars
220
+ - **products**: E-commerce components
221
+
222
+ ## Accessibility
223
+
224
+ All shadcn/ui components are built on Radix UI primitives, ensuring:
225
+ - **Keyboard navigation**: Full keyboard support out of the box
226
+ - **Screen reader support**: Proper ARIA attributes
227
+ - **Focus management**: Logical focus flow
228
+ - **Disabled states**: Proper disabled and aria-disabled handling
229
+
230
+ When customizing, maintain accessibility:
231
+ - Keep ARIA attributes
232
+ - Preserve keyboard handlers
233
+ - Test with screen readers
234
+ - Maintain focus indicators
235
+
236
+ ## Common Patterns
237
+
238
+ ### Form Building
239
+ ```typescript
240
+ import { Button } from "@/components/ui/button"
241
+ import { Input } from "@/components/ui/input"
242
+ import { Label } from "@/components/ui/label"
243
+
244
+ // Use with react-hook-form for validation
245
+ import { useForm } from "react-hook-form"
246
+ ```
247
+
248
+ ### Dialog/Modal Patterns
249
+ ```typescript
250
+ import {
251
+ Dialog,
252
+ DialogContent,
253
+ DialogDescription,
254
+ DialogHeader,
255
+ DialogTitle,
256
+ DialogTrigger,
257
+ } from "@/components/ui/dialog"
258
+ ```
259
+
260
+ ### Data Display
261
+ ```typescript
262
+ import {
263
+ Table,
264
+ TableBody,
265
+ TableCell,
266
+ TableHead,
267
+ TableHeader,
268
+ TableRow,
269
+ } from "@/components/ui/table"
270
+ ```
271
+
272
+ ## Troubleshooting
273
+
274
+ ### Import Errors
275
+ - Check `components.json` for correct alias configuration
276
+ - Verify `tsconfig.json` includes the `@` path alias:
277
+ ```json
278
+ {
279
+ "compilerOptions": {
280
+ "paths": {
281
+ "@/*": ["./src/*"]
282
+ }
283
+ }
284
+ }
285
+ ```
286
+
287
+ ### Style Conflicts
288
+ - Ensure Tailwind CSS is properly configured
289
+ - Check that `globals.css` is imported in your root layout
290
+ - Verify CSS variable names match between components and theme
291
+
292
+ ### Missing Dependencies
293
+ - Run component installation via CLI to auto-install deps
294
+ - Manually check `package.json` for required Radix UI packages
295
+ - Use `get_component_metadata` to see dependency lists
296
+
297
+ ### Version Compatibility
298
+ - shadcn/ui v4 requires React 18+ and Next.js 13+ (if using Next.js)
299
+ - Some components require specific Radix UI versions
300
+ - Check documentation for breaking changes between versions
301
+
302
+ ## Validation and Quality
303
+
304
+ Before committing components:
305
+ 1. **Type check**: Run `tsc --noEmit` to verify TypeScript
306
+ 2. **Lint**: Run your linter to catch style issues
307
+ 3. **Test accessibility**: Use tools like axe DevTools
308
+ 4. **Visual QA**: Test in light and dark modes
309
+ 5. **Responsive check**: Verify behavior at different breakpoints
310
+
311
+ ## Resources
312
+
313
+ Refer to the following resource files for detailed guidance:
314
+ - `resources/setup-guide.md` - Step-by-step project initialization
315
+ - `resources/component-catalog.md` - Complete component reference
316
+ - `resources/customization-guide.md` - Theming and variant patterns
317
+ - `resources/migration-guide.md` - Upgrading from other UI libraries
318
+
319
+ ## Examples
320
+
321
+ See the `examples/` directory for:
322
+ - Complete component implementations
323
+ - Form patterns with validation
324
+ - Dashboard layouts
325
+ - Authentication flows
326
+ - Data table implementations