@jhm1909/ag-kit 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 (320) hide show
  1. package/.agent/ARCHITECTURE.md +189 -0
  2. package/.agent/known-registries.json +181 -0
  3. package/.agent/mcp_config.json +19 -0
  4. package/.agent/rules/clean-code.md +107 -0
  5. package/.agent/rules/documents.md +177 -0
  6. package/.agent/rules/git-workflow.md +68 -0
  7. package/.agent/rules/nano-banana.md +46 -0
  8. package/.agent/rules/research.md +35 -0
  9. package/.agent/rules/skill-loading.md +100 -0
  10. package/.agent/rules/skill-suggestion.md +47 -0
  11. package/.agent/rules/testing.md +52 -0
  12. package/.agent/rules/workflow-advisor.md +108 -0
  13. package/.agent/rules/workflow-skill-convention.md +127 -0
  14. package/.agent/skills/ai-engineer/SKILL.md +824 -0
  15. package/.agent/skills/ai-engineer/references/agentic-patterns.md +329 -0
  16. package/.agent/skills/ai-engineer/references/evaluation.md +493 -0
  17. package/.agent/skills/ai-engineer/references/llm.md +490 -0
  18. package/.agent/skills/ai-engineer/references/rag-advanced.md +444 -0
  19. package/.agent/skills/ai-engineer/references/serving-optimization.md +531 -0
  20. package/.agent/skills/ai-engineer/vector-db/README.md +137 -0
  21. package/.agent/skills/app-builder/SKILL.md +75 -0
  22. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  23. package/.agent/skills/app-builder/feature-building.md +53 -0
  24. package/.agent/skills/app-builder/project-detection.md +34 -0
  25. package/.agent/skills/app-builder/scaffolding.md +118 -0
  26. package/.agent/skills/app-builder/tech-stack.md +41 -0
  27. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  28. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  29. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  30. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  31. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  32. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  33. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  34. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  35. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  36. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  37. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  38. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  39. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  40. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  41. package/.agent/skills/backend-developer/SKILL.md +763 -0
  42. package/.agent/skills/backend-developer/references/general-patterns.md +65 -0
  43. package/.agent/skills/backend-developer/references/go-echo.md +68 -0
  44. package/.agent/skills/backend-developer/references/go-gin.md +76 -0
  45. package/.agent/skills/backend-developer/references/java-springboot.md +83 -0
  46. package/.agent/skills/backend-developer/references/node-express.md +64 -0
  47. package/.agent/skills/backend-developer/references/node-nestjs.md +69 -0
  48. package/.agent/skills/backend-developer/references/python-django.md +67 -0
  49. package/.agent/skills/backend-developer/references/python-fastapi.md +80 -0
  50. package/.agent/skills/blockchain-engineer/SKILL.md +975 -0
  51. package/.agent/skills/blockchain-engineer/references/deployment.md +28 -0
  52. package/.agent/skills/blockchain-engineer/references/evm.md +14 -0
  53. package/.agent/skills/blockchain-engineer/references/mechanisms.md +32 -0
  54. package/.agent/skills/blockchain-engineer/references/solidity.md +32 -0
  55. package/.agent/skills/business-analysis/SKILL.md +85 -0
  56. package/.agent/skills/business-analysis/references/best-practices/diagrams.md +141 -0
  57. package/.agent/skills/business-analysis/references/domains/ai-agent.md +94 -0
  58. package/.agent/skills/business-analysis/references/domains/blockchain-dapp.md +86 -0
  59. package/.agent/skills/business-analysis/references/domains/ecommerce.md +77 -0
  60. package/.agent/skills/business-analysis/references/domains/education.md +42 -0
  61. package/.agent/skills/business-analysis/references/domains/fintech.md +44 -0
  62. package/.agent/skills/business-analysis/references/domains/fnb.md +82 -0
  63. package/.agent/skills/business-analysis/references/domains/healthtech.md +44 -0
  64. package/.agent/skills/business-analysis/references/domains/internal-tools.md +38 -0
  65. package/.agent/skills/business-analysis/references/domains/marketplace.md +52 -0
  66. package/.agent/skills/business-analysis/references/domains/saas.md +36 -0
  67. package/.agent/skills/business-analysis/references/workflows/collaboration.md +41 -0
  68. package/.agent/skills/business-analysis/scripts/verify_mermaid.py +86 -0
  69. package/.agent/skills/business-analysis/templates/brd.md +46 -0
  70. package/.agent/skills/business-analysis/templates/change-request.md +41 -0
  71. package/.agent/skills/business-analysis/templates/prd-functional.md +38 -0
  72. package/.agent/skills/business-analysis/templates/use-case.md +40 -0
  73. package/.agent/skills/business-analysis/templates/user-story-detailed.md +36 -0
  74. package/.agent/skills/code-review/SKILL.md +113 -0
  75. package/.agent/skills/code-review/references/code-review-reception.md +209 -0
  76. package/.agent/skills/code-review/references/differential_review.md +59 -0
  77. package/.agent/skills/code-review/references/requesting-code-review.md +105 -0
  78. package/.agent/skills/code-review/references/spec_compliance.md +43 -0
  79. package/.agent/skills/code-review/references/verification-before-completion.md +139 -0
  80. package/.agent/skills/context-engineering/SKILL.md +68 -0
  81. package/.agent/skills/context-engineering/references/context-compression.md +84 -0
  82. package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
  83. package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
  84. package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
  85. package/.agent/skills/context-engineering/references/evaluation.md +89 -0
  86. package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
  87. package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  88. package/.agent/skills/context-engineering/references/project-development.md +97 -0
  89. package/.agent/skills/context-engineering/references/tool-design.md +86 -0
  90. package/.agent/skills/debugging/SKILL.md +60 -0
  91. package/.agent/skills/debugging/references/defense-in-depth.md +130 -0
  92. package/.agent/skills/debugging/references/root-cause-tracing.md +177 -0
  93. package/.agent/skills/debugging/references/systematic-debugging.md +295 -0
  94. package/.agent/skills/debugging/references/verification-before-completion.md +142 -0
  95. package/.agent/skills/designer/SKILL.md +159 -0
  96. package/.agent/skills/designer/concepts/apple-glass.md +48 -0
  97. package/.agent/skills/designer/concepts/aurora-gradients.md +26 -0
  98. package/.agent/skills/designer/concepts/bento-grids.md +14 -0
  99. package/.agent/skills/designer/concepts/claymorphism.md +27 -0
  100. package/.agent/skills/designer/concepts/neo-brutalism.md +32 -0
  101. package/.agent/skills/designer/data/app-interface.csv +31 -0
  102. package/.agent/skills/designer/data/charts.csv +26 -0
  103. package/.agent/skills/designer/data/colors.csv +162 -0
  104. package/.agent/skills/designer/data/design.csv +1776 -0
  105. package/.agent/skills/designer/data/icons.csv +106 -0
  106. package/.agent/skills/designer/data/landing.csv +35 -0
  107. package/.agent/skills/designer/data/products.csv +162 -0
  108. package/.agent/skills/designer/data/react-performance.csv +45 -0
  109. package/.agent/skills/designer/data/styles.csv +85 -0
  110. package/.agent/skills/designer/data/typography.csv +74 -0
  111. package/.agent/skills/designer/data/ui-reasoning.csv +162 -0
  112. package/.agent/skills/designer/data/ux-guidelines.csv +100 -0
  113. package/.agent/skills/designer/references/accessibility.md +172 -0
  114. package/.agent/skills/designer/references/branding.md +88 -0
  115. package/.agent/skills/designer/references/color-theory.md +139 -0
  116. package/.agent/skills/designer/references/creation.md +118 -0
  117. package/.agent/skills/designer/references/design-systems.md +219 -0
  118. package/.agent/skills/designer/references/frontend_design_aesthetics.md +57 -0
  119. package/.agent/skills/designer/references/layout.md +200 -0
  120. package/.agent/skills/designer/references/motion.md +92 -0
  121. package/.agent/skills/designer/references/review.md +100 -0
  122. package/.agent/skills/designer/references/trends.md +209 -0
  123. package/.agent/skills/designer/references/typography.md +190 -0
  124. package/.agent/skills/designer/scripts/remove_background.py +135 -0
  125. package/.agent/skills/designer/scripts/ui-search/__pycache__/core.cpython-314.pyc +0 -0
  126. package/.agent/skills/designer/scripts/ui-search/__pycache__/design_system.cpython-314.pyc +0 -0
  127. package/.agent/skills/designer/scripts/ui-search/core.py +217 -0
  128. package/.agent/skills/designer/scripts/ui-search/design_system.py +1067 -0
  129. package/.agent/skills/designer/scripts/ui-search/search.py +114 -0
  130. package/.agent/skills/designer/templates/design-motion-spec.md +30 -0
  131. package/.agent/skills/devops-engineer/SKILL.md +90 -0
  132. package/.agent/skills/devops-engineer/docker-compose/README.md +47 -0
  133. package/.agent/skills/devops-engineer/references/ci-cd-pipelines.md +76 -0
  134. package/.agent/skills/devops-engineer/references/cloud-providers.md +57 -0
  135. package/.agent/skills/devops-engineer/references/codebase-normalization.md +104 -0
  136. package/.agent/skills/devops-engineer/references/container-orchestration.md +69 -0
  137. package/.agent/skills/devops-engineer/references/iac-tools.md +63 -0
  138. package/.agent/skills/devops-engineer/references/observability-security.md +45 -0
  139. package/.agent/skills/devops-engineer/references/vercel-supabase.md +17 -0
  140. package/.agent/skills/devops-engineer/templates/release-notes.md +8 -0
  141. package/.agent/skills/frontend-developer/SKILL.md +125 -0
  142. package/.agent/skills/frontend-developer/react-nextjs/README.md +90 -0
  143. package/.agent/skills/frontend-developer/references/angular.md +52 -0
  144. package/.agent/skills/frontend-developer/references/composition_patterns.md +60 -0
  145. package/.agent/skills/frontend-developer/references/core-performance.md +68 -0
  146. package/.agent/skills/frontend-developer/references/modern-signals.md +43 -0
  147. package/.agent/skills/frontend-developer/references/react_performance_rules.md +55 -0
  148. package/.agent/skills/frontend-developer/references/vue-nuxt.md +55 -0
  149. package/.agent/skills/frontend-developer/scripts/validate_compliance.py +65 -0
  150. package/.agent/skills/frontend-developer/threejs/README.md +89 -0
  151. package/.agent/skills/frontend-developer/threejs/animation.md +552 -0
  152. package/.agent/skills/frontend-developer/threejs/fundamentals.md +488 -0
  153. package/.agent/skills/frontend-developer/threejs/geometry.md +548 -0
  154. package/.agent/skills/frontend-developer/threejs/interaction.md +660 -0
  155. package/.agent/skills/frontend-developer/threejs/lighting.md +481 -0
  156. package/.agent/skills/frontend-developer/threejs/loaders.md +623 -0
  157. package/.agent/skills/frontend-developer/threejs/materials.md +520 -0
  158. package/.agent/skills/frontend-developer/threejs/postprocessing.md +602 -0
  159. package/.agent/skills/frontend-developer/threejs/router.json +181 -0
  160. package/.agent/skills/frontend-developer/threejs/shaders.md +642 -0
  161. package/.agent/skills/frontend-developer/threejs/textures.md +628 -0
  162. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  163. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  164. package/.agent/skills/game-development/SKILL.md +167 -0
  165. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  166. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  167. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  168. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  169. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  170. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  171. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  172. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  173. package/.agent/skills/lead-architect/SKILL.md +85 -0
  174. package/.agent/skills/lead-architect/references/application-architecture.md +70 -0
  175. package/.agent/skills/lead-architect/references/infrastructure.md +51 -0
  176. package/.agent/skills/lead-architect/references/process.md +42 -0
  177. package/.agent/skills/lead-architect/references/system-architecture.md +62 -0
  178. package/.agent/skills/lead-architect/references/web-fullstack.md +82 -0
  179. package/.agent/skills/lead-architect/templates/adr.md +62 -0
  180. package/.agent/skills/lead-architect/templates/rfc.md +46 -0
  181. package/.agent/skills/lead-architect/templates/sdd.md +62 -0
  182. package/.agent/skills/lead-architect/templates/technical-spec.md +61 -0
  183. package/.agent/skills/marketer/SKILL.md +66 -0
  184. package/.agent/skills/marketer/remotion-best-practices/SKILL.md +58 -0
  185. package/.agent/skills/marketer/remotion-best-practices/rules/3d.md +86 -0
  186. package/.agent/skills/marketer/remotion-best-practices/rules/animations.md +29 -0
  187. package/.agent/skills/marketer/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  188. package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  189. package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  190. package/.agent/skills/marketer/remotion-best-practices/rules/assets.md +78 -0
  191. package/.agent/skills/marketer/remotion-best-practices/rules/audio.md +172 -0
  192. package/.agent/skills/marketer/remotion-best-practices/rules/calculate-metadata.md +104 -0
  193. package/.agent/skills/marketer/remotion-best-practices/rules/can-decode.md +75 -0
  194. package/.agent/skills/marketer/remotion-best-practices/rules/charts.md +58 -0
  195. package/.agent/skills/marketer/remotion-best-practices/rules/compositions.md +146 -0
  196. package/.agent/skills/marketer/remotion-best-practices/rules/display-captions.md +126 -0
  197. package/.agent/skills/marketer/remotion-best-practices/rules/extract-frames.md +229 -0
  198. package/.agent/skills/marketer/remotion-best-practices/rules/fonts.md +152 -0
  199. package/.agent/skills/marketer/remotion-best-practices/rules/get-audio-duration.md +58 -0
  200. package/.agent/skills/marketer/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  201. package/.agent/skills/marketer/remotion-best-practices/rules/get-video-duration.md +58 -0
  202. package/.agent/skills/marketer/remotion-best-practices/rules/gifs.md +138 -0
  203. package/.agent/skills/marketer/remotion-best-practices/rules/images.md +130 -0
  204. package/.agent/skills/marketer/remotion-best-practices/rules/import-srt-captions.md +67 -0
  205. package/.agent/skills/marketer/remotion-best-practices/rules/lottie.md +68 -0
  206. package/.agent/skills/marketer/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  207. package/.agent/skills/marketer/remotion-best-practices/rules/measuring-text.md +143 -0
  208. package/.agent/skills/marketer/remotion-best-practices/rules/sequencing.md +106 -0
  209. package/.agent/skills/marketer/remotion-best-practices/rules/tailwind.md +11 -0
  210. package/.agent/skills/marketer/remotion-best-practices/rules/text-animations.md +20 -0
  211. package/.agent/skills/marketer/remotion-best-practices/rules/timing.md +179 -0
  212. package/.agent/skills/marketer/remotion-best-practices/rules/transcribe-captions.md +19 -0
  213. package/.agent/skills/marketer/remotion-best-practices/rules/transitions.md +122 -0
  214. package/.agent/skills/marketer/remotion-best-practices/rules/trimming.md +53 -0
  215. package/.agent/skills/marketer/remotion-best-practices/rules/videos.md +171 -0
  216. package/.agent/skills/mcp-builder/SKILL.md +76 -0
  217. package/.agent/skills/mcp-builder/references/evaluation.md +602 -0
  218. package/.agent/skills/mcp-builder/references/mcp_best_practices.md +249 -0
  219. package/.agent/skills/mcp-builder/references/node_mcp_server.md +970 -0
  220. package/.agent/skills/mcp-builder/references/python_mcp_server.md +719 -0
  221. package/.agent/skills/mobile-developer/SKILL.md +83 -0
  222. package/.agent/skills/mobile-developer/api-routes/SKILL.md +389 -0
  223. package/.agent/skills/mobile-developer/building-ui/SKILL.md +335 -0
  224. package/.agent/skills/mobile-developer/building-ui/references/animations.md +220 -0
  225. package/.agent/skills/mobile-developer/building-ui/references/controls.md +270 -0
  226. package/.agent/skills/mobile-developer/building-ui/references/form-sheet.md +227 -0
  227. package/.agent/skills/mobile-developer/building-ui/references/gradients.md +106 -0
  228. package/.agent/skills/mobile-developer/building-ui/references/icons.md +213 -0
  229. package/.agent/skills/mobile-developer/building-ui/references/media.md +198 -0
  230. package/.agent/skills/mobile-developer/building-ui/references/route-structure.md +229 -0
  231. package/.agent/skills/mobile-developer/building-ui/references/search.md +248 -0
  232. package/.agent/skills/mobile-developer/building-ui/references/storage.md +121 -0
  233. package/.agent/skills/mobile-developer/building-ui/references/tabs.md +368 -0
  234. package/.agent/skills/mobile-developer/building-ui/references/visual-effects.md +197 -0
  235. package/.agent/skills/mobile-developer/building-ui/references/webgpu-three.md +605 -0
  236. package/.agent/skills/mobile-developer/cicd-workflows/SKILL.md +107 -0
  237. package/.agent/skills/mobile-developer/cicd-workflows/scripts/fetch.js +109 -0
  238. package/.agent/skills/mobile-developer/cicd-workflows/scripts/package.json +11 -0
  239. package/.agent/skills/mobile-developer/cicd-workflows/scripts/validate.js +84 -0
  240. package/.agent/skills/mobile-developer/data-fetching/SKILL.md +508 -0
  241. package/.agent/skills/mobile-developer/deployment/SKILL.md +207 -0
  242. package/.agent/skills/mobile-developer/deployment/references/app-store-metadata.md +479 -0
  243. package/.agent/skills/mobile-developer/deployment/references/ios-app-store.md +355 -0
  244. package/.agent/skills/mobile-developer/deployment/references/play-store.md +246 -0
  245. package/.agent/skills/mobile-developer/deployment/references/testflight.md +58 -0
  246. package/.agent/skills/mobile-developer/deployment/references/workflows.md +200 -0
  247. package/.agent/skills/mobile-developer/dev-client/SKILL.md +181 -0
  248. package/.agent/skills/mobile-developer/tailwind-setup/SKILL.md +501 -0
  249. package/.agent/skills/mobile-developer/upgrading-expo/SKILL.md +116 -0
  250. package/.agent/skills/mobile-developer/upgrading-expo/references/new-architecture.md +79 -0
  251. package/.agent/skills/mobile-developer/upgrading-expo/references/react-19.md +79 -0
  252. package/.agent/skills/mobile-developer/upgrading-expo/references/react-compiler.md +59 -0
  253. package/.agent/skills/mobile-developer/use-dom/SKILL.md +434 -0
  254. package/.agent/skills/modern-python/SKILL.md +122 -0
  255. package/.agent/skills/project-manager/SKILL.md +110 -0
  256. package/.agent/skills/project-manager/references/ba-collaboration.md +62 -0
  257. package/.agent/skills/project-manager/references/discovery_process.md +52 -0
  258. package/.agent/skills/project-manager/references/jobs_to_be_done.md +51 -0
  259. package/.agent/skills/project-manager/references/prd_development.md +52 -0
  260. package/.agent/skills/project-manager/references/rules-guide.md +55 -0
  261. package/.agent/skills/project-manager/references/skill-creation.md +98 -0
  262. package/.agent/skills/project-manager/references/strategic-frameworks.md +62 -0
  263. package/.agent/skills/project-manager/references/task-decomposition.md +194 -0
  264. package/.agent/skills/project-manager/references/workflows-guide.md +44 -0
  265. package/.agent/skills/project-manager/router.json +160 -0
  266. package/.agent/skills/project-manager/scripts/compare_skill.py +177 -0
  267. package/.agent/skills/project-manager/scripts/encoding_utils.py +36 -0
  268. package/.agent/skills/project-manager/scripts/init_skill.py +190 -0
  269. package/.agent/skills/project-manager/scripts/quick_validate.py +123 -0
  270. package/.agent/skills/project-manager/templates/pm-strategy-one-pager.md +6 -0
  271. package/.agent/skills/project-manager/templates/prd-strategic.md +38 -0
  272. package/.agent/skills/project-manager/templates/skill-questionnaire.md +118 -0
  273. package/.agent/skills/project-manager/templates/user-story-simple.md +14 -0
  274. package/.agent/skills/prompt-engineer/SKILL.md +319 -0
  275. package/.agent/skills/prompt-engineer/skill-creator/README.md +47 -0
  276. package/.agent/skills/qa-tester/SKILL.md +142 -0
  277. package/.agent/skills/qa-tester/assets/README.md +8 -0
  278. package/.agent/skills/qa-tester/references/accessibility_testing.md +35 -0
  279. package/.agent/skills/qa-tester/references/agent_browser.md +38 -0
  280. package/.agent/skills/qa-tester/references/automation/api_testing.md +23 -0
  281. package/.agent/skills/qa-tester/references/automation/best_practices.md +14 -0
  282. package/.agent/skills/qa-tester/references/automation/jest_vitest.md +26 -0
  283. package/.agent/skills/qa-tester/references/automation/playwright.md +30 -0
  284. package/.agent/skills/qa-tester/references/e2e_testing.md +46 -0
  285. package/.agent/skills/qa-tester/references/integration_testing.md +39 -0
  286. package/.agent/skills/qa-tester/references/performance_testing.md +44 -0
  287. package/.agent/skills/qa-tester/references/property_based_testing.md +44 -0
  288. package/.agent/skills/qa-tester/references/security_audit.md +53 -0
  289. package/.agent/skills/qa-tester/references/security_testing.md +30 -0
  290. package/.agent/skills/qa-tester/references/sharp_edges.md +49 -0
  291. package/.agent/skills/qa-tester/references/static_analysis.md +52 -0
  292. package/.agent/skills/qa-tester/references/supply_chain_audit.md +54 -0
  293. package/.agent/skills/qa-tester/references/test_case_standards.md +96 -0
  294. package/.agent/skills/qa-tester/references/test_report_template.md +32 -0
  295. package/.agent/skills/qa-tester/references/unit_testing.md +50 -0
  296. package/.agent/skills/qa-tester/references/visual_testing.md +32 -0
  297. package/.agent/skills/qa-tester/templates/uat-plan.md +34 -0
  298. package/.agent/skills/research-first/SKILL.md +118 -0
  299. package/.agent/skills-manifest.json +264 -0
  300. package/.agent/workflows/absorb.md +176 -0
  301. package/.agent/workflows/bootstrap.md +91 -0
  302. package/.agent/workflows/brainstorm.md +168 -0
  303. package/.agent/workflows/break-tasks.md +77 -0
  304. package/.agent/workflows/commit.md +349 -0
  305. package/.agent/workflows/custom-behavior.md +64 -0
  306. package/.agent/workflows/debug.md +65 -0
  307. package/.agent/workflows/development.md +49 -0
  308. package/.agent/workflows/documentation.md +221 -0
  309. package/.agent/workflows/gen-tests.md +53 -0
  310. package/.agent/workflows/guide.md +196 -0
  311. package/.agent/workflows/implement-feature.md +182 -0
  312. package/.agent/workflows/install-skill.md +193 -0
  313. package/.agent/workflows/qa.md +54 -0
  314. package/.agent/workflows/ui-ux-design.md +108 -0
  315. package/LICENSE +21 -0
  316. package/README.md +258 -0
  317. package/cli/index.js +345 -0
  318. package/cli/migrate-skills.js +113 -0
  319. package/cli/verify.js +291 -0
  320. package/package.json +49 -0
@@ -0,0 +1,45 @@
1
+ # Observability & Security
2
+
3
+ ## Observability (The 3 Pillars)
4
+
5
+ ### 1. Logs
6
+
7
+ - **Structured Logging**: JSON over plain text.
8
+ - Bad: `console.log("User login failed for " + user)`
9
+ - Good: `logger.error({ event: "login_failed", user_id: 123 })`
10
+ - **Aggregation**: ELK Stack, Splunk, Datadog Logs.
11
+
12
+ ### 2. Metrics
13
+
14
+ - **Golden Signals**:
15
+ - **Latency**: Time it takes to serve a request.
16
+ - **Traffic**: Demand placed on the system.
17
+ - **Errors**: Rate of requests failing.
18
+ - **Saturation**: How "full" the service is.
19
+ - **Tools**: Prometheus (collection) + Grafana (visualization).
20
+
21
+ ### 3. Traces
22
+
23
+ - **Distributed Tracing**: Tracking a request across microservices.
24
+ - **Tools**: OpenTelemetry (Standard), Jaeger, Zipkin.
25
+
26
+ ## Security (DevSecOps)
27
+
28
+ ### Pipeline Integration
29
+
30
+ 1. **SAST (Static Application Security Testing)**: Scan source code.
31
+ - _Tools_: SonarQube, CodeQL.
32
+ 2. **SCA (Software Composition Analysis)**: Scan dependencies.
33
+ - _Tools_: `npm audit`, Snyk, Dependabot.
34
+ 3. **Container Scanning**:
35
+ - _Tools_: Trivy, Clair.
36
+ 4. **DAST (Dynamic Application Security Testing)**: Scan running app.
37
+ - _Tools_: OWASP ZAP.
38
+
39
+ ### Secret Management
40
+
41
+ - **Vault Strategy**:
42
+ - **Local**: `.env` (gitignored).
43
+ - **CI/CD**: Repo Secrets.
44
+ - **Runtime**: AWS Secrets Manager, HashiCorp Vault.
45
+ - **Scanning**: Use `git-secrets` or TruffleHog to prevent leaks.
@@ -0,0 +1,17 @@
1
+ # Platform: Vercel & Supabase
2
+
3
+ ## CI/CD Pipeline (GitHub Actions)
4
+
5
+ 1. **Pull Request**:
6
+ - `npm run lint`
7
+ - `npm run typecheck`
8
+ - `npm run test:unit`
9
+ - Vercel Preview Deployment (Automatic)
10
+
11
+ 2. **Merge to Main**:
12
+ - Supabase Migration (`supabase migration up`)
13
+ - Vercel Production Deployment
14
+
15
+ ## Secrets
16
+
17
+ - **Required**: `NEXT_PUBLIC_SUPABASE_URL`, `SUPABASE_ANON_KEY`, `SUPABASE_SERVICE_ROLE_KEY` (CI only), `DATABASE_URL`.
@@ -0,0 +1,8 @@
1
+ # Release v1.0.1
2
+
3
+ **Date**: YYYY-MM-DD
4
+ **Features**:
5
+
6
+ - 🚀 **New**: Dark Mode support.
7
+ - 🐛 **Fix**: Login crash on Safari.
8
+ - ✨ **Improvement**: Faster search results.
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: frontend-developer
3
+ description: >
4
+ Foundation for all frontend development. Use when implementing UI code,
5
+ optimizing performance, or ensuring accessibility.
6
+ Includes Vercel React performance rules and composition patterns.
7
+ license: MIT
8
+ compatibility: Claude Code, Cursor, Gemini CLI, GitHub Copilot
9
+ metadata:
10
+ author: jhm1909
11
+ version: "4.0.0"
12
+ domain: web
13
+ estimated_tokens: 5000
14
+ sources:
15
+ - vercel-labs/agent-skills (react-best-practices, composition-patterns)
16
+ ---
17
+
18
+ # Frontend Developer
19
+
20
+ Foundation skill for web frontend development. Framework-agnostic patterns for performance, accessibility, and code quality.
21
+
22
+ ## Knowledge Graph
23
+
24
+ - **extends**: none (base skill)
25
+ - **requires**: []
26
+ - **suggests**: []
27
+ - **conflicts**: []
28
+ - **enhances**: [[designer]] (implementation of designs)
29
+ - **moc**: [[web-development-moc]]
30
+
31
+ ## ?�� THE GOLDEN RULE: "Quote First"
32
+
33
+ **You must NEVER write code without first citing your source.**
34
+
35
+ Before implementing:
36
+ 1. **Locate** authoritative documentation
37
+ 2. **Quote** the specific section justifying your decision
38
+ 3. **Implement** strictly according to that quote
39
+
40
+ _If no source found, PAUSE and `search_web` or ask._
41
+
42
+ ## ?�� Core Philosophy
43
+
44
+ 1. **Zero-Bundle Budget** ??Every kilobyte justifies existence
45
+ 2. **Hydration is Overhead** ??Static when possible
46
+ 3. **User Waits for Nothing** ??Optimistic UI, non-blocking main thread
47
+ 4. **Accessibility is NOT Optional** ??`<div onClick>` is a bug
48
+
49
+ ## Framework Specializations
50
+
51
+ | Framework | Skill | Relationship |
52
+ |-----------|-------|--------------|
53
+ | React / Next.js | `react-nextjs/` | **extends** this skill |
54
+ | Vue / Nuxt | [[vue-developer]] | **extends** this skill |
55
+ | Angular | [[angular-developer]] | **extends** this skill |
56
+ | Svelte / Solid / Qwik | [[modern-signals]] | **extends** this skill |
57
+
58
+ ## Capability Add-ons
59
+
60
+ Add these to any frontend specialization:
61
+
62
+ | Capability | Location | Use For |
63
+ |------------|----------|---------|
64
+ | 3D Graphics | `threejs/` | WebGL, 3D product showcases |
65
+ | Video Generation | [[remotion-best-practices]] | Programmatic video |
66
+ | Animations | [[framer-motion]] | Complex UI animations |
67
+ | Styling | [[tailwind-setup]] | Utility-first CSS |
68
+
69
+ ## Dynamic Stack Loading
70
+
71
+ Load framework-specific guides as needed:
72
+
73
+ | When User Needs | Load This |
74
+ |:----------------|:----------|
75
+ | Next.js App Router patterns | `react-nextjs/README.md` |
76
+ | 3D graphics, WebGL | `threejs/README.md` |
77
+ | Tailwind CSS setup | `tailwind-setup/README.md` |
78
+
79
+ ### Example Workflows
80
+
81
+ **Next.js Project:**
82
+ ```
83
+ User: "Build a Next.js app with App Router"
84
+ ??Load frontend-developer/react-nextjs/README.md
85
+ ??Follow Server Components patterns
86
+ ??Implement loading.tsx, error.tsx
87
+ ```
88
+
89
+ **3D Product Viewer:**
90
+ ```
91
+ User: "Add a 3D model viewer to my React app"
92
+ ??Load frontend-developer/threejs/README.md
93
+ ??Set up React Three Fiber
94
+ ??Configure Canvas, lights, controls
95
+ ```
96
+
97
+ ## Quick Rules
98
+
99
+ | Aspect | Rule |
100
+ |--------|------|
101
+ | Performance | Check Web Vitals after every change |
102
+ | Accessibility | All images need `alt`, interactive elements need focus |
103
+ | Bundles | Code-split by route, lazy load below fold |
104
+ | Images | Use modern formats (WebP, AVIF), provide fallbacks |
105
+ | React Perf | Eliminate waterfalls, no barrel imports (Vercel rules) |
106
+ | Composition | Compound components over boolean props (Vercel patterns) |
107
+
108
+ ## References
109
+
110
+ | Reference | Purpose |
111
+ |:----------|:--------|
112
+ | `react_performance_rules.md` | 65 Vercel React/Next.js perf rules (8 categories) |
113
+ | `composition_patterns.md` | React composition patterns (Vercel) |
114
+
115
+ ## Related Skills
116
+
117
+ - [[react-nextjs]] ??React & Next.js specific
118
+ - [[vue-developer]] ??Vue & Nuxt specific
119
+ - [[backend-developer]] ??When building fullstack
120
+ - [[designer]] ??Design system implementation
121
+ - [[qa-tester]] ??E2E testing
122
+
123
+ ---
124
+
125
+ *Part of [[web-development-moc]] | Base skill for all frontend work*
@@ -0,0 +1,90 @@
1
+ # React & Next.js
2
+
3
+ Next.js App Router and React Server Components best practices.
4
+
5
+ ## When to Use
6
+
7
+ Use this guide when:
8
+ - Building with Next.js App Router (app/ directory)
9
+ - Deciding between Server vs Client Components
10
+ - Implementing data fetching, caching, or mutations
11
+ - Handling loading states and errors
12
+ - Working with Server Actions
13
+
14
+ ## Core Philosophy
15
+
16
+ 1. **Server Components First** — Default to RSC, `'use client'` is the exception
17
+ 2. **Colocation** — Keep related code close (components, tests, styles)
18
+ 3. **Progressive Enhancement** — Core works without JS
19
+
20
+ ## Server vs Client Components
21
+
22
+ | Use Server Component | Use Client Component |
23
+ |:---------------------|:---------------------|
24
+ | Data fetching | Event handlers (`onClick`) |
25
+ | Backend resources (`fs`, DB) | Browser APIs |
26
+ | Sensitive logic (tokens, keys) | `useState`, `useEffect` |
27
+ | Large dependencies | Hooks requiring DOM |
28
+
29
+ ## Quick Rules
30
+
31
+ | Context | Implementation |
32
+ |:--------|:---------------|
33
+ | Data fetching | Server Components + `fetch`, or Server Actions |
34
+ | Forms | Server Actions + `useFormStatus` |
35
+ | Images | Always `next/image` |
36
+ | Fonts | Always `next/font` |
37
+ | Routes | File-based in `app/` directory |
38
+ | Metadata | Export `metadata` object |
39
+
40
+ ## Common Patterns
41
+
42
+ ### Loading States
43
+ ```tsx
44
+ // app/posts/loading.tsx — Automatic loading UI
45
+ export default function Loading() {
46
+ return <PostSkeleton />;
47
+ }
48
+ ```
49
+
50
+ ### Error Boundaries
51
+ ```tsx
52
+ // app/posts/error.tsx — Automatic error handling
53
+ 'use client';
54
+ export default function Error({ error, reset }) {
55
+ return <ErrorUI error={error} retry={reset} />;
56
+ }
57
+ ```
58
+
59
+ ### Server Actions
60
+ ```tsx
61
+ // Server action in component or separate file
62
+ async function createPost(formData: FormData) {
63
+ 'use server';
64
+ // Mutate data, revalidate cache
65
+ }
66
+ ```
67
+
68
+ ## Conflicting Patterns
69
+
70
+ | ❌ Avoid | ✅ Use Instead |
71
+ |:---------|:---------------|
72
+ | `useEffect` + `fetch` | Server Component + `fetch` |
73
+ | Manual `<head>` | `metadata` export |
74
+ | `pages/_app.tsx` | `app/layout.tsx` |
75
+ | `getServerSideProps` | Server Component |
76
+ | `getStaticProps` | `fetch` with `cache: 'force-cache'` |
77
+
78
+ ## Extensions
79
+
80
+ - **3D/Three.js** → Load `threejs` capability for 3D product viewers
81
+ - **Video** → Load `remotion-best-practices` for programmatic video
82
+ - **Auth** → Use `next-auth` or `clerk`
83
+ - **Database** → Use `prisma` or `drizzle`
84
+
85
+ ## Triggers
86
+
87
+ - `next/router|next/navigation|next/headers` pattern detected
88
+ - `app/layout.tsx|app/page.tsx|app/loading.tsx` files present
89
+ - `next.config.(js|ts|mjs)` file exists
90
+ - `next` dependency in package.json
@@ -0,0 +1,52 @@
1
+ # Modern Angular Architecture
2
+
3
+ **Status**: Definitive Guide
4
+ **Stack**: Angular 17+
5
+
6
+ ## 🏗 Architecture: Standalone & Zone-less
7
+
8
+ ### 1. Standalone Components
9
+
10
+ - **Ban**: `NgModule` (unless for legacy libs).
11
+ - **Enforce**: `standalone: true` in all components, directives, and pipes.
12
+ - **Why**: Tree-shaking, easier testing, simplified learning curve.
13
+
14
+ ### 2. Signals (State Management)
15
+
16
+ - **Signals over Observables**: Use Signals for synchronous state. Use RxJS ONLY for complex asynchronous event streams (debounce, switchMap).
17
+ - **Ban**: `Zone.js` (eventually). Prepare for zoneless by using `ChangeDetectionStrategy.OnPush` everywhere.
18
+
19
+ ```typescript
20
+ // ✅ GOOD: Signal
21
+ @Component({ ... changeDetection: ChangeDetectionStrategy.OnPush })
22
+ export class Counter {
23
+ count = signal(0);
24
+ double = computed(() => this.count() * 2);
25
+
26
+ increment() {
27
+ this.count.update(c => c + 1);
28
+ }
29
+ }
30
+ ```
31
+
32
+ ### 3. Control Flow Syntax
33
+
34
+ - **Use**: `@if`, `@for`, `@switch`.
35
+ - **Ban**: `*ngIf`, `*ngFor` (legacy structural directives).
36
+
37
+ ## ⚡ Performance Patterns
38
+
39
+ ### 1. Deferrable Views
40
+
41
+ - Use `@defer` to lazy load components without routing.
42
+ - Criteria: `@defer (on viewport)` for below-the-fold content.
43
+
44
+ ### 2. Hydration
45
+
46
+ - Enable Client Hydration in `app.config.ts`.
47
+ - Avoid direct DOM manipulation which breaks hydration.
48
+
49
+ ## 🧪 Testing
50
+
51
+ - **Harnesses**: Use Component Harnesses for robust tests.
52
+ - **Signals**: Test signals by verifying computed outputs.
@@ -0,0 +1,60 @@
1
+ # React Composition Patterns
2
+
3
+ > Source: Vercel Engineering — composition-patterns skill
4
+
5
+ Patterns for building flexible, maintainable React components at scale.
6
+
7
+ ## Core Principle
8
+ **Composition over boolean proliferation.** If you're adding a boolean prop, stop — compose instead.
9
+
10
+ ## Architecture (HIGH Priority)
11
+
12
+ ### Avoid Boolean Props
13
+ ❌ `<Modal isFullscreen isDismissible hasOverlay />`
14
+ ✅ Compose: `<Modal.Fullscreen> <Modal.Dismissible> <Modal.Overlay>`
15
+
16
+ ### Compound Components
17
+ Pattern: Share state via Context, expose sub-components.
18
+
19
+ ```jsx
20
+ <Select>
21
+ <Select.Trigger />
22
+ <Select.Options>
23
+ <Select.Option value="a">Option A</Select.Option>
24
+ </Select.Options>
25
+ </Select>
26
+ ```
27
+
28
+ ## State Management (MEDIUM)
29
+
30
+ ### Decouple Implementation
31
+ Provider is the ONLY place that knows how state is managed:
32
+ ```jsx
33
+ // Good: Context provides generic interface
34
+ const CartContext = { items, addItem, removeItem, total }
35
+ // Bad: Components import zustand/redux directly
36
+ ```
37
+
38
+ ### Context Interface Pattern
39
+ Define generic interface with `state`, `actions`, `meta`:
40
+ ```jsx
41
+ { state: {}, actions: {}, meta: { isLoading, error } }
42
+ ```
43
+
44
+ ### Lift State
45
+ Move state into Provider for sibling component access.
46
+
47
+ ## Implementation Patterns (MEDIUM)
48
+
49
+ ### Explicit Variants
50
+ ❌ `<Button isPrimary />` `<Button isDanger />`
51
+ ✅ `<PrimaryButton />` `<DangerButton />`
52
+
53
+ ### Children Over Render Props
54
+ ❌ `renderHeader={(...) => <Header />}`
55
+ ✅ `<Card><Card.Header>...</Card.Header></Card>`
56
+
57
+ ## React 19 (⚠️ React 19+ only)
58
+
59
+ - Drop `forwardRef` — ref is now a regular prop
60
+ - Use `use()` instead of `useContext()`
@@ -0,0 +1,68 @@
1
+ # Core Performance & Accessibility Standards
2
+
3
+ **Status**: Mandaory
4
+ **Applies To**: ALL Frameworks (React, Vue, Angular, Svelte, etc.)
5
+
6
+ ## 🚀 Performance: The "Zero-Overhead" Standard
7
+
8
+ ### 1. Core Web Vitals (The Holy Trinity)
9
+
10
+ You must optimize for these metrics _before_ writing business logic.
11
+
12
+ - **LCP (Largest Contentful Paint)**: < 2.5s
13
+ - **Strategy**: The LCP element (usually Hero Image or H1) must be in the initial HTML.
14
+ - **Ban**: Never lazy-load the LCP image. Never use client-side rendering for the LCP element.
15
+ - **Code**: `<img fetchpriority="high" decoding="sync" ... />`
16
+
17
+ - **INP (Interaction to Next Paint)**: < 200ms
18
+ - **Strategy**: Break up long tasks.
19
+ - **Ban**: `useEffect` or watchers that run heavy computation on input. Yield to main thread (`scheduler.yield()` or `setTimeout(..., 0)`).
20
+
21
+ - **CLS (Cumulative Layout Shift)**: < 0.1
22
+ - **Strategy**: Rigidly defined dimensions for all media and containers.
23
+ - **Ban**: Images without `width/height`. Ad containers without `min-height`.
24
+
25
+ ### 2. Bundle Analysis
26
+
27
+ - **Budget**: Initial JS < 50KB (gzip).
28
+ - **Tree-Shaking**: Import specific functions, not whole libraries.
29
+ - ✅ `import { map } from 'lodash-es'`
30
+ - ❌ `import _ from 'lodash'`
31
+ - **Splitting**: Route-level splitting is mandatory. Component-level splitting for heavy interactions (modals, charts).
32
+
33
+ ### 3. Image Optimization
34
+
35
+ - **Formats**: AVIF > WebP > JPG/PNG.
36
+ - **Responsive**: Use `srcset` and `sizes`.
37
+ - **Lazy**: `loading="lazy"` for everything below the fold.
38
+
39
+ ---
40
+
41
+ ## ♿ Accessibility: The "Keyboard First" Standard
42
+
43
+ **Rule**: If you can't use it with `Tab` + `Enter`/`Space`, it is broken.
44
+
45
+ ### 1. Semantic HTML
46
+
47
+ - **Buttons**: Use `<button>`, not `<div onClick>`.
48
+ - **Links**: Use `<a>` with `href`, not `<button onClick="go()">`.
49
+ - **Landmarks**: `<main>`, `<nav>`, `<aside>`, `<header>`, `<footer>`.
50
+
51
+ ### 2. Focus Management
52
+
53
+ - **Visible Focus**: Never remove `outline` without replacing it with a custom high-contrast focus style.
54
+ - **Trap Focus**: Modals must trap focus inside them.
55
+
56
+ ### 3. ARIA (Last Resort)
57
+
58
+ - Use ARIA only when HTML is insufficient.
59
+ - **No ARIA > Bad ARIA**.
60
+ - **Images**: `alt=""` for decorative, descriptive text for informational.
61
+
62
+ ---
63
+
64
+ ## 🔒 Security Basics
65
+
66
+ - **XSS**: Sanitize all `innerHTML`.
67
+ - **Deps**: Audit `npm audit` regularly.
68
+ - **HTTPS**: Enforce HSTS.
@@ -0,0 +1,43 @@
1
+ # Modern Signals & Fine-Grained Reactivity
2
+
3
+ **Stack**: Svelte 5 (Runes), SolidJS, Qwik
4
+
5
+ ## 🧠 The Philosophy: "No Virtual DOM"
6
+
7
+ Unlike React/Vue, these frameworks target the DOM directly.
8
+
9
+ - **Fine-Grained**: Only the text node that changes updates. No component re-renders.
10
+ - **Mental Model**: Code runs _once_ (setup), then reactivity takes over.
11
+
12
+ ## 🧱 Framework specifics
13
+
14
+ ### Svelte 5 (Runes)
15
+
16
+ - **State**: `let count = $state(0)`
17
+ - **Derived**: `let double = $derived(count * 2)`
18
+ - **Side Effects**: `$effect(() => ...)`
19
+ - **Snippets**: Replace slots with `{#snippet}`.
20
+
21
+ ### SolidJS
22
+
23
+ - **Read/Write Split**: `const [count, setCount] = createSignal(0)`
24
+ - **DOM Access**: strictly in `onMount`.
25
+ - **Control Flow**: Use `<Show>`, `<For>` (don't use map).
26
+
27
+ ### Qwik (Resumability)
28
+
29
+ - **The Golden Rule**: Do not execute JS on the client unless checking an event.
30
+ - **Serialized State**: All state must be serializable (JSON).
31
+ - **$**: The optimizer barrier. `onClick$`, `useSignal$`.
32
+
33
+ ## ⚡ Performance Targets
34
+
35
+ 1. **Hydration**:
36
+ - **Svelte/Solid**: Fast hydration.
37
+ - **Qwik**: No hydration (Resumability).
38
+ 2. **Closures**: Avoid creating closures in render loops (except Qwik where `$` handles it).
39
+
40
+ ## 🧪 Testing
41
+
42
+ - **E2E**: Playwright is the gold standard for all three.
43
+ - **Unit**: Vitest.
@@ -0,0 +1,55 @@
1
+ # React & Next.js Performance Rules
2
+
3
+ > Source: Vercel Engineering — react-best-practices skill (65 rules, 8 categories)
4
+
5
+ ## Priority 1: Eliminating Waterfalls (CRITICAL)
6
+
7
+ - **Move await late**: `async-defer-await` — Defer `await` until the branch that uses the result
8
+ - **Parallel promises**: `async-parallel` — `Promise.all()` for independent async operations
9
+ - **Partial deps**: `async-dependencies` — Use `better-all` when Promise B needs result of A but C doesn't
10
+ - **API route promises**: `async-api-routes` — Start promises at function top, `await` at bottom
11
+ - **Suspense streaming**: `async-suspense-boundaries` — Wrap slow components in `<Suspense>` to stream content
12
+
13
+ ## Priority 2: Bundle Size Optimization (CRITICAL)
14
+
15
+ - **No barrel files**: `bundle-barrel-imports` — Import directly from source, never barrel `index.ts`
16
+ - **Dynamic imports**: `bundle-dynamic-imports` — `next/dynamic` for heavy components (chart libs, editors)
17
+ - **Defer third-party**: `bundle-defer-third-party` — Load analytics/logging AFTER hydration
18
+ - **Conditional load**: `bundle-conditional` — Load modules only when feature flag is ON
19
+ - **Preload on hover**: `bundle-preload` — Start loading route/chunk on hover/focus for perceived speed
20
+
21
+ ## Priority 3: Server-Side Performance (HIGH)
22
+
23
+ - **Auth in actions**: `server-auth-actions` — ALWAYS authenticate server actions (they're public endpoints)
24
+ - **React.cache()**: `server-cache-react` — Per-request deduplication for shared data
25
+ - **LRU cache**: `server-cache-lru` — Cross-request caching for expensive computations
26
+ - **Dedup props**: `server-dedup-props` — Don't pass same data to multiple Client Components
27
+ - **Hoist I/O**: `server-hoist-static-io` — Module-level for fonts, logos, static assets
28
+ - **Minimize serialization**: `server-serialization` — Only pass needed data to client components
29
+ - **Parallel fetching**: `server-parallel-fetching` — Restructure components to parallelize
30
+ - **after()**: `server-after-nonblocking` — Use `after()` for analytics, logging (non-blocking)
31
+
32
+ ## Priority 4: Client-Side Data Fetching (MEDIUM-HIGH)
33
+
34
+ - **SWR dedup**: `client-swr-dedup` — Use SWR for automatic deduplication and caching
35
+ - **Dedup listeners**: `client-event-listeners` — One global listener, not per-component
36
+ - **Passive scroll**: `client-passive-event-listeners` — Always `{ passive: true }` for scroll
37
+ - **localStorage**: `client-localstorage-schema` — Version and minimize stored data
38
+
39
+ ## Priority 5: Re-render Optimization (MEDIUM)
40
+
41
+ Key rules:
42
+ - **Defer reads**: Don't subscribe to state only used in callbacks
43
+ - **Memoize**: Extract expensive children into `React.memo()` components
44
+ - **Derived state**: Subscribe to derived booleans, not raw objects
45
+ - **No inline components**: NEVER define components inside components
46
+ - **Functional setState**: `setCount(prev => prev + 1)` for stable callbacks
47
+ - **startTransition**: Use for non-urgent state updates
48
+
49
+ ## Priority 6-8: Rendering, JS, Advanced (MEDIUM-LOW)
50
+
51
+ - **content-visibility**: `auto` for off-screen long lists
52
+ - **Ternary over &&**: `{x ? <A/> : null}` not `{x && <A/>}`
53
+ - **Set/Map lookups**: O(1) instead of array `.includes()`
54
+ - **flatMap**: Replace `.filter().map()` with single `.flatMap()`
55
+ - **requestIdleCallback**: Defer non-critical work to idle time
@@ -0,0 +1,55 @@
1
+ # Vue & Nuxt 3 Architecture
2
+
3
+ **Status**: Definitive Guide
4
+ **Stack**: Vue 3 (Composition API), Nuxt 3
5
+
6
+ ## 🏗 Architecture: Composition & Modules
7
+
8
+ ### 1. Composition API Only
9
+
10
+ - **Ban**: Options API (`data`, `methods`).
11
+ - **Enforce**: `<script setup lang="ts">`.
12
+ - **Why**: Better TypeScript support, logic reuse via composables.
13
+
14
+ ### 2. Nuxt Directory Structure
15
+
16
+ ```
17
+ server/ # API routes (Nitro)
18
+ components/ # Auto-imported components
19
+ composables/ # Auto-imported logic
20
+ pages/ # File-based routing
21
+ layouts/ # Layouts
22
+ stores/ # Pinia definitions
23
+ ```
24
+
25
+ ## ⚡ Performance Patterns
26
+
27
+ ### 1. Data Fetching
28
+
29
+ - **SSR-Friendly**: Use `useFetch` or `useAsyncData`.
30
+ - **Keying**: Always provide a unique key if parameters change.
31
+ - **Lazy**: `lazy: true` to prevent blocking navigation.
32
+
33
+ ```ts
34
+ // ✅ GOOD
35
+ const { data, pending } = await useFetch("/api/posts", {
36
+ lazy: true,
37
+ server: false, // If client-only execution is needed
38
+ });
39
+ ```
40
+
41
+ ### 2. State Management (Pinia)
42
+
43
+ - **Setup Stores**: Use the function syntax (like `setup()`), not the object syntax.
44
+ - **Dedupe**: Don't put everything in store. Use `useState` for simple shared state.
45
+
46
+ ### 3. Compute Stability
47
+
48
+ - Use `computed()` for derived state.
49
+ - Use `shallowRef()` for large objects that don't need deep reactivity.
50
+
51
+ ## 🧪 Testing
52
+
53
+ - **Unit**: Vitest.
54
+ - **Component**: Vue Test Utils.
55
+ - **E2E**: Nuxt Test Utils (Playwright wrapper).
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env python3
2
+ import sys
3
+ import re
4
+ import os
5
+
6
+ def check_file(filepath):
7
+ """
8
+ Simple heuristic checks for frontend compliance.
9
+ """
10
+ with open(filepath, 'r') as f:
11
+ content = f.read()
12
+
13
+ errors = []
14
+
15
+ # Check 1: Image Accessibility
16
+ # Matches <img ...> without alt=
17
+ img_tags = re.findall(r'<img[^>]*>', content)
18
+ for tag in img_tags:
19
+ if 'alt=' not in tag:
20
+ errors.append(f"ACCESSIBILITY: Found <img> tag without 'alt' attribute: {tag}")
21
+
22
+ # Check 2: Next.js Image Optimization
23
+ if 'next/image' in content or '<Image' in content:
24
+ # Check for sizes prop if not fill
25
+ if '<Image' in content and 'sizes=' not in content and 'fill' not in content:
26
+ errors.append("PERFORMANCE: Found <Image> component (Next.js) without 'sizes' attribute. Use 'sizes' for responsive hydration.")
27
+
28
+ # Check 3: React Anti-Pattern (Effect Fetching)
29
+ if 'useEffect' in content and 'fetch(' in content:
30
+ errors.append("ARCHITECTURE: Found 'fetch' inside 'useEffect'. Use Server Components, React Query, or SWR instead.")
31
+
32
+ # Check 4: Angular Legacy
33
+ if '*ngIf' in content:
34
+ errors.append("MODERNIZATION: Found '*ngIf'. Use modern Angular control flow '@if'.")
35
+
36
+ return errors
37
+
38
+ def main():
39
+ if len(sys.argv) < 2:
40
+ print("Usage: python validate_compliance.py <file_or_directory>")
41
+ sys.exit(1)
42
+
43
+ target = sys.argv[1]
44
+ all_errors = []
45
+
46
+ if os.path.isfile(target):
47
+ all_errors.extend(check_file(target))
48
+ elif os.path.isdir(target):
49
+ for root, _, files in os.walk(target):
50
+ for file in files:
51
+ if file.endswith(('.tsx', '.jsx', '.vue', '.ts', '.js')):
52
+ path = os.path.join(root, file)
53
+ all_errors.extend(check_file(path))
54
+
55
+ if all_errors:
56
+ print("❌ Compliance Errors Found:")
57
+ for err in all_errors:
58
+ print(f"- {err}")
59
+ sys.exit(1)
60
+ else:
61
+ print("✅ No obvious compliance errors found (Heuristic Check).")
62
+ sys.exit(0)
63
+
64
+ if __name__ == "__main__":
65
+ main()