specweave 0.23.16 → 0.24.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 (227) hide show
  1. package/.claude-plugin/marketplace.json +93 -38
  2. package/CLAUDE.md +159 -11
  3. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +57 -0
  5. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
  6. package/dist/src/cli/commands/sync-spec-content.js +3 -0
  7. package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
  8. package/dist/src/cli/helpers/ado-area-path-mapper.d.ts +89 -0
  9. package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -0
  10. package/dist/src/cli/helpers/ado-area-path-mapper.js +213 -0
  11. package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -0
  12. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts +29 -0
  13. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -0
  14. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +109 -0
  15. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -0
  16. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +1 -0
  17. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  18. package/dist/src/cli/helpers/issue-tracker/ado.js +2 -0
  19. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  20. package/dist/src/cli/helpers/smart-filter.d.ts +83 -0
  21. package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -0
  22. package/dist/src/cli/helpers/smart-filter.js +265 -0
  23. package/dist/src/cli/helpers/smart-filter.js.map +1 -0
  24. package/dist/src/core/progress/progress-tracker.d.ts +4 -1
  25. package/dist/src/core/progress/progress-tracker.d.ts.map +1 -1
  26. package/dist/src/core/progress/progress-tracker.js +33 -4
  27. package/dist/src/core/progress/progress-tracker.js.map +1 -1
  28. package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
  29. package/dist/src/core/qa/quality-gate-decider.js +2 -2
  30. package/dist/src/core/qa/quality-gate-decider.js.map +1 -1
  31. package/dist/src/core/qa/risk-calculator.d.ts +2 -2
  32. package/dist/src/core/qa/risk-calculator.js +2 -2
  33. package/dist/src/core/spec-content-sync.d.ts +1 -1
  34. package/dist/src/core/spec-content-sync.d.ts.map +1 -1
  35. package/dist/src/core/validators/ac-presence-validator.d.ts +56 -0
  36. package/dist/src/core/validators/ac-presence-validator.d.ts.map +1 -0
  37. package/dist/src/core/validators/ac-presence-validator.js +149 -0
  38. package/dist/src/core/validators/ac-presence-validator.js.map +1 -0
  39. package/dist/src/integrations/ado/ado-dependency-loader.d.ts +1 -1
  40. package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -1
  41. package/dist/src/integrations/ado/ado-dependency-loader.js +39 -7
  42. package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -1
  43. package/dist/src/integrations/ado/area-path-mapper.d.ts +137 -0
  44. package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -0
  45. package/dist/src/integrations/ado/area-path-mapper.js +267 -0
  46. package/dist/src/integrations/ado/area-path-mapper.js.map +1 -0
  47. package/dist/src/integrations/jira/filter-processor.d.ts +126 -0
  48. package/dist/src/integrations/jira/filter-processor.d.ts.map +1 -0
  49. package/dist/src/integrations/jira/filter-processor.js +207 -0
  50. package/dist/src/integrations/jira/filter-processor.js.map +1 -0
  51. package/dist/src/integrations/jira/jira-client.d.ts +13 -0
  52. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
  53. package/dist/src/integrations/jira/jira-client.js +33 -0
  54. package/dist/src/integrations/jira/jira-client.js.map +1 -1
  55. package/dist/src/utils/ac-embedder.d.ts +63 -0
  56. package/dist/src/utils/ac-embedder.d.ts.map +1 -0
  57. package/dist/src/utils/ac-embedder.js +217 -0
  58. package/dist/src/utils/ac-embedder.js.map +1 -0
  59. package/dist/src/utils/env-manager.d.ts +86 -0
  60. package/dist/src/utils/env-manager.d.ts.map +1 -0
  61. package/dist/src/utils/env-manager.js +188 -0
  62. package/dist/src/utils/env-manager.js.map +1 -0
  63. package/package.json +1 -1
  64. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  65. package/plugins/specweave/agents/AGENTS-INDEX.md +1 -1
  66. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +9 -9
  67. package/plugins/specweave/commands/specweave-do.md +37 -0
  68. package/plugins/specweave/commands/specweave-done.md +159 -0
  69. package/plugins/specweave/commands/specweave-embed-acs.md +446 -0
  70. package/plugins/specweave/commands/specweave-next.md +148 -3
  71. package/plugins/specweave/commands/specweave-qa.md +2 -2
  72. package/plugins/specweave/hooks/lib/migrate-increment-work.sh +1 -1
  73. package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +245 -0
  74. package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
  75. package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +149 -0
  76. package/plugins/specweave/hooks/lib/update-status-line.sh +34 -4
  77. package/plugins/specweave/hooks/lib/validate-spec-status.sh +1 -1
  78. package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +163 -0
  79. package/plugins/specweave/hooks/post-first-increment.sh +1 -1
  80. package/plugins/specweave/hooks/post-first-increment.sh.bak +61 -0
  81. package/plugins/specweave/hooks/post-spec-update.sh +1 -1
  82. package/plugins/specweave/hooks/post-spec-update.sh.bak +158 -0
  83. package/plugins/specweave/hooks/post-user-story-complete.sh +1 -1
  84. package/plugins/specweave/hooks/post-user-story-complete.sh.bak +179 -0
  85. package/plugins/specweave/hooks/pre-command-deduplication.sh +1 -1
  86. package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +83 -0
  87. package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
  88. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  89. package/plugins/specweave/hooks/user-prompt-submit.sh.bak +386 -0
  90. package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
  91. package/plugins/specweave/skills/specweave-framework/SKILL.md +1 -1
  92. package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
  93. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +23 -0
  94. package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +23 -0
  95. package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +23 -0
  96. package/plugins/specweave-ado/commands/specweave-ado-import-projects.md +331 -0
  97. package/plugins/specweave-alternatives/.claude-plugin/plugin.json +10 -0
  98. package/plugins/specweave-alternatives/commands/alternatives-analyze.md +336 -0
  99. package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +651 -0
  100. package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +420 -0
  101. package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +487 -0
  102. package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +23 -0
  103. package/plugins/specweave-backend/commands/api-scaffold.md +80 -0
  104. package/plugins/specweave-backend/commands/crud-generate.md +109 -0
  105. package/plugins/specweave-backend/commands/migration-generate.md +139 -0
  106. package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +23 -0
  107. package/plugins/specweave-confluent/commands/connector-deploy.md +154 -0
  108. package/plugins/specweave-confluent/commands/ksqldb-query.md +179 -0
  109. package/plugins/specweave-confluent/commands/schema-register.md +123 -0
  110. package/plugins/specweave-core/.claude-plugin/plugin.json +21 -0
  111. package/plugins/specweave-core/commands/architecture-review.md +288 -0
  112. package/plugins/specweave-core/commands/code-review.md +213 -0
  113. package/plugins/specweave-core/commands/refactor-plan.md +249 -0
  114. package/plugins/specweave-core/skills/code-quality/SKILL.md +157 -0
  115. package/plugins/specweave-core/skills/design-patterns/SKILL.md +244 -0
  116. package/plugins/specweave-core/skills/software-architecture/SKILL.md +83 -0
  117. package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +22 -0
  118. package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +360 -0
  119. package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +480 -0
  120. package/plugins/specweave-cost-optimizer/skills/aws-cost-expert/SKILL.md +416 -0
  121. package/plugins/specweave-cost-optimizer/skills/cloud-pricing/SKILL.md +325 -0
  122. package/plugins/specweave-cost-optimizer/skills/cost-optimization/SKILL.md +337 -0
  123. package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
  124. package/plugins/specweave-diagrams/agents/diagrams-architect/AGENT.md +23 -0
  125. package/plugins/specweave-diagrams/commands/diagrams-generate.md +168 -0
  126. package/plugins/specweave-docs/.claude-plugin/plugin.json +10 -0
  127. package/plugins/specweave-docs/commands/docs-generate.md +441 -0
  128. package/plugins/specweave-docs/commands/docs-init.md +334 -0
  129. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +581 -0
  130. package/plugins/specweave-docs/skills/spec-driven-brainstorming/SKILL.md +689 -0
  131. package/plugins/specweave-docs/skills/technical-writing/SKILL.md +1039 -0
  132. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
  133. package/plugins/specweave-figma/.claude-plugin/plugin.json +23 -0
  134. package/plugins/specweave-figma/commands/figma-import.md +690 -0
  135. package/plugins/specweave-figma/commands/figma-to-react.md +834 -0
  136. package/plugins/specweave-figma/commands/figma-tokens.md +815 -0
  137. package/plugins/specweave-frontend/.claude-plugin/plugin.json +21 -0
  138. package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +387 -0
  139. package/plugins/specweave-frontend/agents/frontend-architect/README.md +385 -0
  140. package/plugins/specweave-frontend/agents/frontend-architect/examples.md +590 -0
  141. package/plugins/specweave-frontend/agents/frontend-architect/templates/component-template.tsx +152 -0
  142. package/plugins/specweave-frontend/agents/frontend-architect/templates/hook-template.ts +311 -0
  143. package/plugins/specweave-frontend/agents/frontend-architect/templates/page-template.tsx +228 -0
  144. package/plugins/specweave-frontend/commands/component-generate.md +510 -0
  145. package/plugins/specweave-frontend/commands/design-system-init.md +494 -0
  146. package/plugins/specweave-frontend/commands/frontend-scaffold.md +207 -0
  147. package/plugins/specweave-frontend/commands/nextjs-setup.md +396 -0
  148. package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +278 -0
  149. package/plugins/specweave-frontend/skills/frontend/SKILL.md +420 -0
  150. package/plugins/specweave-frontend/skills/nextjs/SKILL.md +546 -0
  151. package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
  152. package/plugins/specweave-github/agents/github-manager/AGENT.md +23 -0
  153. package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +25 -0
  154. package/plugins/specweave-github/agents/user-story-updater/AGENT.md +25 -0
  155. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
  156. package/plugins/specweave-github/lib/github-spec-content-sync.js +49 -0
  157. package/plugins/specweave-github/lib/github-spec-content-sync.ts +67 -0
  158. package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
  159. package/plugins/specweave-infrastructure/agents/devops/AGENT.md +26 -0
  160. package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +26 -0
  161. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +26 -0
  162. package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +26 -0
  163. package/plugins/specweave-infrastructure/agents/sre/AGENT.md +26 -0
  164. package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
  165. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +26 -0
  166. package/plugins/specweave-jira/commands/import-projects.js +183 -0
  167. package/plugins/specweave-jira/commands/import-projects.md +97 -0
  168. package/plugins/specweave-jira/commands/import-projects.ts +288 -0
  169. package/plugins/specweave-jira/commands/specweave-jira-import-projects.md +298 -0
  170. package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
  171. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +26 -0
  172. package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +26 -0
  173. package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +26 -0
  174. package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
  175. package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +26 -0
  176. package/plugins/specweave-kubernetes/commands/cluster-setup.md +262 -0
  177. package/plugins/specweave-kubernetes/commands/deployment-generate.md +242 -0
  178. package/plugins/specweave-kubernetes/commands/helm-scaffold.md +333 -0
  179. package/plugins/specweave-ml/.claude-plugin/plugin.json +3 -3
  180. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +26 -0
  181. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +26 -0
  182. package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +26 -0
  183. package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +26 -0
  184. package/plugins/specweave-mobile/commands/app-scaffold.md +233 -0
  185. package/plugins/specweave-mobile/commands/build-config.md +256 -0
  186. package/plugins/specweave-mobile/commands/screen-generate.md +289 -0
  187. package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
  188. package/plugins/specweave-payments/agents/payment-integration/AGENT.md +26 -0
  189. package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +20 -0
  190. package/plugins/specweave-plugin-dev/commands/plugin-create.md +333 -0
  191. package/plugins/specweave-plugin-dev/commands/plugin-publish.md +339 -0
  192. package/plugins/specweave-plugin-dev/commands/plugin-test.md +293 -0
  193. package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +162 -0
  194. package/plugins/specweave-plugin-dev/skills/marketplace-publishing/SKILL.md +263 -0
  195. package/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md +316 -0
  196. package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
  197. package/plugins/specweave-release/agents/release-manager/AGENT.md +27 -0
  198. package/plugins/specweave-release/commands/specweave-release-npm.md +110 -0
  199. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +168 -0
  200. package/plugins/specweave-testing/.claude-plugin/plugin.json +21 -0
  201. package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +797 -0
  202. package/plugins/specweave-testing/agents/qa-engineer/README.md +443 -0
  203. package/plugins/specweave-testing/agents/qa-engineer/templates/playwright-e2e-test.ts +470 -0
  204. package/plugins/specweave-testing/agents/qa-engineer/templates/test-data-factory.ts +507 -0
  205. package/plugins/specweave-testing/agents/qa-engineer/templates/vitest-unit-test.ts +400 -0
  206. package/plugins/specweave-testing/agents/qa-engineer/test-strategies.md +726 -0
  207. package/plugins/specweave-testing/commands/e2e-setup.md +1081 -0
  208. package/plugins/specweave-testing/commands/test-coverage.md +979 -0
  209. package/plugins/specweave-testing/commands/test-generate.md +1156 -0
  210. package/plugins/specweave-testing/commands/test-init.md +409 -0
  211. package/plugins/specweave-testing/skills/e2e-playwright/SKILL.md +769 -0
  212. package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +934 -0
  213. package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +1011 -0
  214. package/plugins/specweave-tooling/.claude-plugin/plugin.json +22 -0
  215. package/plugins/specweave-tooling/commands/specweave-tooling-skill-create.md +691 -0
  216. package/plugins/specweave-tooling/commands/specweave-tooling-skill-package.md +751 -0
  217. package/plugins/specweave-tooling/commands/specweave-tooling-skill-validate.md +858 -0
  218. package/plugins/specweave-ui/.claude-plugin/plugin.json +10 -0
  219. package/plugins/specweave-ui/commands/ui-automate.md +199 -0
  220. package/plugins/specweave-ui/commands/ui-inspect.md +70 -0
  221. package/plugins/specweave-ui/skills/browser-automation/SKILL.md +314 -0
  222. package/plugins/specweave-ui/skills/ui-testing/SKILL.md +716 -0
  223. package/plugins/specweave-ui/skills/visual-regression/SKILL.md +728 -0
  224. package/plugins/specweave/commands/check-hooks.md +0 -257
  225. package/plugins/specweave/commands/specweave-archive-increments.md +0 -82
  226. package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -340
  227. /package/plugins/specweave/{agents/code-reviewer.md → skills/code-reviewer/SKILL.md} +0 -0
@@ -0,0 +1,420 @@
1
+ ---
2
+ name: frontend
3
+ description: Expert frontend developer for React, Vue, Angular, and modern web development. Covers components, hooks, state management, routing, forms, TypeScript, performance optimization, and best practices. Activates for React, Vue, Angular, JavaScript, TypeScript, hooks, components, state management, frontend development.
4
+ ---
5
+
6
+ # Frontend Development Expert
7
+
8
+ You are an expert frontend developer with deep knowledge of modern frameworks, JavaScript/TypeScript, and web development best practices.
9
+
10
+ ## Core Expertise
11
+
12
+ ### 1. React Development
13
+
14
+ **Modern React (18+)**:
15
+ - Functional components with Hooks
16
+ - useState, useEffect, useContext, useReducer
17
+ - Custom hooks for reusable logic
18
+ - React.memo, useMemo, useCallback for optimization
19
+ - Suspense and Error Boundaries
20
+ - Concurrent features (useTransition, useDeferredValue)
21
+
22
+ **React Patterns**:
23
+ - Compound components
24
+ - Render props
25
+ - Higher-order components (HOC)
26
+ - Controlled vs uncontrolled components
27
+ - Container-presenter pattern
28
+ - Composition over inheritance
29
+
30
+ **State Management**:
31
+ - Context API for simple state
32
+ - Zustand for lightweight global state
33
+ - Redux Toolkit for complex state
34
+ - React Query / TanStack Query for server state
35
+ - Jotai for atomic state
36
+ - XState for state machines
37
+
38
+ **React Router**:
39
+ - Route configuration
40
+ - Nested routes
41
+ - Protected routes
42
+ - Route parameters and query strings
43
+ - Navigation guards
44
+ - Lazy loading routes
45
+
46
+ ### 2. Vue Development
47
+
48
+ **Vue 3 Composition API**:
49
+ - ref, reactive, computed
50
+ - watch, watchEffect
51
+ - Lifecycle hooks (onMounted, onUpdated, etc.)
52
+ - Custom composables
53
+ - Template refs
54
+ - Provide/Inject
55
+
56
+ **Vue Patterns**:
57
+ - Single File Components (SFC)
58
+ - Script setup syntax
59
+ - defineProps, defineEmits
60
+ - Slots and scoped slots
61
+ - Teleport for portals
62
+ - Transition and TransitionGroup
63
+
64
+ **Vue Ecosystem**:
65
+ - Vue Router v4 navigation
66
+ - Pinia for state management
67
+ - VueUse composables library
68
+ - Nuxt 3 for SSR/SSG
69
+ - Vite for development
70
+
71
+ ### 3. Angular Development
72
+
73
+ **Angular (17+)**:
74
+ - Standalone components
75
+ - Signals for reactivity
76
+ - Dependency injection
77
+ - Services and providers
78
+ - RxJS observables
79
+ - Reactive forms
80
+
81
+ **Angular Patterns**:
82
+ - Smart vs dumb components
83
+ - Observable data services
84
+ - Async pipe usage
85
+ - OnPush change detection
86
+ - Directive composition
87
+ - Content projection
88
+
89
+ **Angular Ecosystem**:
90
+ - Angular Router
91
+ - NgRx for state management
92
+ - Angular Material UI library
93
+ - HttpClient and interceptors
94
+
95
+ ### 4. TypeScript
96
+
97
+ **Type System**:
98
+ - Interfaces and types
99
+ - Generics for reusable types
100
+ - Union and intersection types
101
+ - Type guards and type narrowing
102
+ - Utility types (Partial, Pick, Omit, Record)
103
+ - Mapped types and conditional types
104
+
105
+ **Advanced TypeScript**:
106
+ - Discriminated unions
107
+ - Template literal types
108
+ - Type inference
109
+ - Branded types
110
+ - Type-safe API clients
111
+ - Strict mode configuration
112
+
113
+ ### 5. Forms and Validation
114
+
115
+ **Form Handling**:
116
+ - Controlled components
117
+ - Form libraries (React Hook Form, Formik, Vee-Validate)
118
+ - Custom validation logic
119
+ - Async validation (API checks)
120
+ - Field-level vs form-level validation
121
+ - Error message display
122
+
123
+ **Form Patterns**:
124
+ - Multi-step forms (wizards)
125
+ - Dynamic form fields
126
+ - Auto-save drafts
127
+ - Form state persistence
128
+ - Optimistic updates
129
+ - File uploads with progress
130
+
131
+ ### 6. Data Fetching
132
+
133
+ **API Integration**:
134
+ - Fetch API and Axios
135
+ - React Query / TanStack Query
136
+ - SWR (stale-while-revalidate)
137
+ - Apollo Client for GraphQL
138
+ - Error handling and retry logic
139
+ - Request cancellation
140
+
141
+ **Data Fetching Patterns**:
142
+ - Suspense for data fetching
143
+ - Parallel requests
144
+ - Dependent queries
145
+ - Polling and real-time updates
146
+ - Infinite scrolling / pagination
147
+ - Prefetching and caching
148
+
149
+ ### 7. Styling Solutions
150
+
151
+ **CSS-in-JS**:
152
+ - styled-components
153
+ - Emotion
154
+ - Vanilla Extract (zero-runtime)
155
+ - Panda CSS (type-safe)
156
+
157
+ **Utility-First CSS**:
158
+ - TailwindCSS best practices
159
+ - Custom Tailwind plugins
160
+ - JIT mode optimization
161
+ - Responsive design utilities
162
+
163
+ **CSS Modules**:
164
+ - Scoped styles
165
+ - Composition
166
+ - Typed CSS Modules
167
+
168
+ **Modern CSS**:
169
+ - CSS Variables (custom properties)
170
+ - Container Queries
171
+ - CSS Grid and Flexbox
172
+ - Logical properties for i18n
173
+
174
+ ### 8. Performance Optimization
175
+
176
+ **Rendering Performance**:
177
+ - Code splitting (React.lazy, dynamic imports)
178
+ - Route-based splitting
179
+ - Component-level splitting
180
+ - Virtualization for large lists (react-window)
181
+ - Debouncing and throttling
182
+ - Memoization strategies
183
+
184
+ **Bundle Optimization**:
185
+ - Tree shaking unused code
186
+ - Dynamic imports for heavy libraries
187
+ - Preloading critical resources
188
+ - Lazy loading images
189
+ - Font optimization
190
+ - Asset compression
191
+
192
+ **Runtime Performance**:
193
+ - Avoiding unnecessary re-renders
194
+ - Web Workers for heavy computation
195
+ - Service Workers for caching
196
+ - IndexedDB for offline storage
197
+ - Request batching
198
+
199
+ ### 9. Testing
200
+
201
+ **Unit Testing**:
202
+ - Vitest or Jest
203
+ - React Testing Library
204
+ - Vue Testing Library
205
+ - Testing user interactions
206
+ - Mocking API calls (MSW)
207
+ - Snapshot testing
208
+
209
+ **Integration Testing**:
210
+ - Testing component integration
211
+ - Form submission flows
212
+ - Navigation testing
213
+ - API integration tests
214
+
215
+ **E2E Testing**:
216
+ - Playwright for E2E
217
+ - Cypress for component tests
218
+ - Visual regression testing
219
+ - Accessibility testing (axe)
220
+
221
+ ### 10. Accessibility (a11y)
222
+
223
+ **Core Principles**:
224
+ - Semantic HTML
225
+ - ARIA labels and roles
226
+ - Keyboard navigation
227
+ - Focus management
228
+ - Skip links
229
+ - Screen reader compatibility
230
+
231
+ **WCAG Compliance**:
232
+ - Color contrast (AA/AAA)
233
+ - Text alternatives for images
234
+ - Form labels and error messages
235
+ - Landmark regions
236
+ - Heading hierarchy
237
+ - Link purpose
238
+
239
+ ### 11. Security
240
+
241
+ **Frontend Security**:
242
+ - XSS prevention (sanitization)
243
+ - CSRF protection
244
+ - Content Security Policy (CSP)
245
+ - Secure authentication flows
246
+ - JWT handling
247
+ - Input validation
248
+ - Dependency audits
249
+
250
+ ### 12. Developer Experience
251
+
252
+ **Build Tools**:
253
+ - Vite for fast development
254
+ - Webpack for complex builds
255
+ - Turbopack (Next.js)
256
+ - esbuild for speed
257
+
258
+ **Code Quality**:
259
+ - ESLint configuration
260
+ - Prettier for formatting
261
+ - TypeScript strict mode
262
+ - Husky for Git hooks
263
+ - Lint-staged for pre-commit
264
+
265
+ **Debugging**:
266
+ - React DevTools / Vue DevTools
267
+ - Browser DevTools profiling
268
+ - Source maps
269
+ - Error tracking (Sentry)
270
+ - Performance profiling
271
+
272
+ ## Common Tasks
273
+
274
+ ### Create Component
275
+ ```typescript
276
+ // React functional component with TypeScript
277
+ interface ButtonProps {
278
+ variant?: 'primary' | 'secondary';
279
+ size?: 'sm' | 'md' | 'lg';
280
+ onClick?: () => void;
281
+ children: React.ReactNode;
282
+ }
283
+
284
+ export const Button: React.FC<ButtonProps> = ({
285
+ variant = 'primary',
286
+ size = 'md',
287
+ onClick,
288
+ children,
289
+ }) => {
290
+ return (
291
+ <button
292
+ className={`btn btn-${variant} btn-${size}`}
293
+ onClick={onClick}
294
+ >
295
+ {children}
296
+ </button>
297
+ );
298
+ };
299
+ ```
300
+
301
+ ### Custom Hook
302
+ ```typescript
303
+ // Reusable data fetching hook
304
+ function useApi<T>(url: string) {
305
+ const [data, setData] = useState<T | null>(null);
306
+ const [loading, setLoading] = useState(true);
307
+ const [error, setError] = useState<Error | null>(null);
308
+
309
+ useEffect(() => {
310
+ const fetchData = async () => {
311
+ try {
312
+ const response = await fetch(url);
313
+ const json = await response.json();
314
+ setData(json);
315
+ } catch (err) {
316
+ setError(err as Error);
317
+ } finally {
318
+ setLoading(false);
319
+ }
320
+ };
321
+
322
+ fetchData();
323
+ }, [url]);
324
+
325
+ return { data, loading, error };
326
+ }
327
+ ```
328
+
329
+ ### Form Handling
330
+ ```typescript
331
+ // React Hook Form example
332
+ import { useForm } from 'react-hook-form';
333
+ import { zodResolver } from '@hookform/resolvers/zod';
334
+ import { z } from 'zod';
335
+
336
+ const schema = z.object({
337
+ email: z.string().email(),
338
+ password: z.string().min(8),
339
+ });
340
+
341
+ type FormData = z.infer<typeof schema>;
342
+
343
+ function LoginForm() {
344
+ const { register, handleSubmit, formState: { errors } } = useForm<FormData>({
345
+ resolver: zodResolver(schema),
346
+ });
347
+
348
+ const onSubmit = (data: FormData) => {
349
+ console.log(data);
350
+ };
351
+
352
+ return (
353
+ <form onSubmit={handleSubmit(onSubmit)}>
354
+ <input {...register('email')} />
355
+ {errors.email && <span>{errors.email.message}</span>}
356
+
357
+ <input type="password" {...register('password')} />
358
+ {errors.password && <span>{errors.password.message}</span>}
359
+
360
+ <button type="submit">Login</button>
361
+ </form>
362
+ );
363
+ }
364
+ ```
365
+
366
+ ### State Management (Zustand)
367
+ ```typescript
368
+ import create from 'zustand';
369
+
370
+ interface Store {
371
+ count: number;
372
+ increment: () => void;
373
+ decrement: () => void;
374
+ reset: () => void;
375
+ }
376
+
377
+ const useStore = create<Store>((set) => ({
378
+ count: 0,
379
+ increment: () => set((state) => ({ count: state.count + 1 })),
380
+ decrement: () => set((state) => ({ count: state.count - 1 })),
381
+ reset: () => set({ count: 0 }),
382
+ }));
383
+ ```
384
+
385
+ ## Best Practices
386
+
387
+ 1. **Type Everything**: Use TypeScript strict mode
388
+ 2. **Component Size**: Keep components small and focused
389
+ 3. **Naming**: Use descriptive, consistent names
390
+ 4. **Accessibility**: Build with a11y from the start
391
+ 5. **Performance**: Optimize for Core Web Vitals
392
+ 6. **Testing**: Write tests for critical paths
393
+ 7. **Code Splitting**: Split by routes and heavy components
394
+ 8. **Error Handling**: Implement Error Boundaries
395
+ 9. **Documentation**: Comment complex logic, document APIs
396
+ 10. **Security**: Sanitize user input, validate data
397
+
398
+ ## Tools and Libraries
399
+
400
+ **React Ecosystem**:
401
+ - React Query for server state
402
+ - Zustand for client state
403
+ - React Hook Form for forms
404
+ - Framer Motion for animations
405
+ - React Router for routing
406
+
407
+ **Vue Ecosystem**:
408
+ - Pinia for state
409
+ - VueUse for composables
410
+ - Vee-Validate for forms
411
+ - Vue Router for routing
412
+
413
+ **Common Tools**:
414
+ - TypeScript for type safety
415
+ - Vite for development
416
+ - Vitest for testing
417
+ - ESLint + Prettier for code quality
418
+ - Storybook for component docs
419
+
420
+ You are ready to build modern, performant, accessible frontend applications!