claude-autopm 2.7.0 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +307 -56
  2. package/autopm/.claude/.env +158 -0
  3. package/autopm/.claude/settings.local.json +9 -0
  4. package/bin/autopm.js +11 -2
  5. package/bin/commands/epic.js +23 -3
  6. package/bin/commands/plugin.js +395 -0
  7. package/bin/commands/team.js +184 -10
  8. package/install/install.js +223 -4
  9. package/lib/cli/commands/issue.js +360 -20
  10. package/lib/plugins/PluginManager.js +1328 -0
  11. package/lib/plugins/PluginManager.old.js +400 -0
  12. package/lib/providers/AzureDevOpsProvider.js +575 -0
  13. package/lib/providers/GitHubProvider.js +475 -0
  14. package/lib/services/EpicService.js +1092 -3
  15. package/lib/services/IssueService.js +991 -0
  16. package/package.json +9 -1
  17. package/scripts/publish-plugins.sh +166 -0
  18. package/autopm/.claude/agents/cloud/README.md +0 -55
  19. package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
  20. package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
  21. package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
  22. package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
  23. package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
  24. package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
  25. package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
  26. package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
  27. package/autopm/.claude/agents/core/agent-manager.md +0 -296
  28. package/autopm/.claude/agents/core/code-analyzer.md +0 -131
  29. package/autopm/.claude/agents/core/file-analyzer.md +0 -162
  30. package/autopm/.claude/agents/core/test-runner.md +0 -200
  31. package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
  32. package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
  33. package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
  34. package/autopm/.claude/agents/databases/README.md +0 -50
  35. package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
  36. package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
  37. package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
  38. package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
  39. package/autopm/.claude/agents/databases/redis-expert.md +0 -52
  40. package/autopm/.claude/agents/devops/README.md +0 -52
  41. package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
  42. package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
  43. package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
  44. package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
  45. package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
  46. package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
  47. package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
  48. package/autopm/.claude/agents/frameworks/README.md +0 -64
  49. package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
  50. package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
  51. package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
  52. package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
  53. package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
  54. package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
  55. package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
  56. package/autopm/.claude/agents/languages/README.md +0 -50
  57. package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
  58. package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
  59. package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
  60. package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
  61. package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
  62. package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
  63. package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
  64. package/autopm/.claude/commands/ai/openai-chat.md +0 -65
  65. package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
  66. package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
  67. package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
  68. package/autopm/.claude/commands/azure/README.md +0 -246
  69. package/autopm/.claude/commands/azure/active-work.md +0 -198
  70. package/autopm/.claude/commands/azure/aliases.md +0 -143
  71. package/autopm/.claude/commands/azure/blocked-items.md +0 -287
  72. package/autopm/.claude/commands/azure/clean.md +0 -93
  73. package/autopm/.claude/commands/azure/docs-query.md +0 -48
  74. package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
  75. package/autopm/.claude/commands/azure/feature-list.md +0 -61
  76. package/autopm/.claude/commands/azure/feature-new.md +0 -115
  77. package/autopm/.claude/commands/azure/feature-show.md +0 -205
  78. package/autopm/.claude/commands/azure/feature-start.md +0 -130
  79. package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
  80. package/autopm/.claude/commands/azure/help.md +0 -150
  81. package/autopm/.claude/commands/azure/import-us.md +0 -269
  82. package/autopm/.claude/commands/azure/init.md +0 -211
  83. package/autopm/.claude/commands/azure/next-task.md +0 -262
  84. package/autopm/.claude/commands/azure/search.md +0 -160
  85. package/autopm/.claude/commands/azure/sprint-status.md +0 -235
  86. package/autopm/.claude/commands/azure/standup.md +0 -260
  87. package/autopm/.claude/commands/azure/sync-all.md +0 -99
  88. package/autopm/.claude/commands/azure/task-analyze.md +0 -186
  89. package/autopm/.claude/commands/azure/task-close.md +0 -329
  90. package/autopm/.claude/commands/azure/task-edit.md +0 -145
  91. package/autopm/.claude/commands/azure/task-list.md +0 -263
  92. package/autopm/.claude/commands/azure/task-new.md +0 -84
  93. package/autopm/.claude/commands/azure/task-reopen.md +0 -79
  94. package/autopm/.claude/commands/azure/task-show.md +0 -126
  95. package/autopm/.claude/commands/azure/task-start.md +0 -301
  96. package/autopm/.claude/commands/azure/task-status.md +0 -65
  97. package/autopm/.claude/commands/azure/task-sync.md +0 -67
  98. package/autopm/.claude/commands/azure/us-edit.md +0 -164
  99. package/autopm/.claude/commands/azure/us-list.md +0 -202
  100. package/autopm/.claude/commands/azure/us-new.md +0 -265
  101. package/autopm/.claude/commands/azure/us-parse.md +0 -253
  102. package/autopm/.claude/commands/azure/us-show.md +0 -188
  103. package/autopm/.claude/commands/azure/us-status.md +0 -320
  104. package/autopm/.claude/commands/azure/validate.md +0 -86
  105. package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
  106. package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
  107. package/autopm/.claude/commands/github/workflow-create.md +0 -42
  108. package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
  109. package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
  110. package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
  111. package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
  112. package/autopm/.claude/commands/pm/blocked.md +0 -28
  113. package/autopm/.claude/commands/pm/clean.md +0 -119
  114. package/autopm/.claude/commands/pm/context-create.md +0 -136
  115. package/autopm/.claude/commands/pm/context-prime.md +0 -170
  116. package/autopm/.claude/commands/pm/context-update.md +0 -292
  117. package/autopm/.claude/commands/pm/context.md +0 -28
  118. package/autopm/.claude/commands/pm/epic-close.md +0 -86
  119. package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
  120. package/autopm/.claude/commands/pm/epic-edit.md +0 -83
  121. package/autopm/.claude/commands/pm/epic-list.md +0 -30
  122. package/autopm/.claude/commands/pm/epic-merge.md +0 -222
  123. package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
  124. package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
  125. package/autopm/.claude/commands/pm/epic-show.md +0 -28
  126. package/autopm/.claude/commands/pm/epic-split.md +0 -120
  127. package/autopm/.claude/commands/pm/epic-start.md +0 -195
  128. package/autopm/.claude/commands/pm/epic-status.md +0 -28
  129. package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
  130. package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
  131. package/autopm/.claude/commands/pm/epic-sync.md +0 -486
  132. package/autopm/.claude/commands/pm/help.md +0 -28
  133. package/autopm/.claude/commands/pm/import.md +0 -115
  134. package/autopm/.claude/commands/pm/in-progress.md +0 -28
  135. package/autopm/.claude/commands/pm/init.md +0 -28
  136. package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
  137. package/autopm/.claude/commands/pm/issue-close.md +0 -119
  138. package/autopm/.claude/commands/pm/issue-edit.md +0 -93
  139. package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
  140. package/autopm/.claude/commands/pm/issue-show.md +0 -41
  141. package/autopm/.claude/commands/pm/issue-start.md +0 -234
  142. package/autopm/.claude/commands/pm/issue-status.md +0 -95
  143. package/autopm/.claude/commands/pm/issue-sync.md +0 -411
  144. package/autopm/.claude/commands/pm/next.md +0 -28
  145. package/autopm/.claude/commands/pm/prd-edit.md +0 -82
  146. package/autopm/.claude/commands/pm/prd-list.md +0 -28
  147. package/autopm/.claude/commands/pm/prd-new.md +0 -55
  148. package/autopm/.claude/commands/pm/prd-parse.md +0 -42
  149. package/autopm/.claude/commands/pm/prd-status.md +0 -28
  150. package/autopm/.claude/commands/pm/search.md +0 -28
  151. package/autopm/.claude/commands/pm/standup.md +0 -28
  152. package/autopm/.claude/commands/pm/status.md +0 -28
  153. package/autopm/.claude/commands/pm/sync.md +0 -99
  154. package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
  155. package/autopm/.claude/commands/pm/validate.md +0 -28
  156. package/autopm/.claude/commands/pm/what-next.md +0 -28
  157. package/autopm/.claude/commands/python/api-scaffold.md +0 -50
  158. package/autopm/.claude/commands/python/docs-query.md +0 -48
  159. package/autopm/.claude/commands/react/app-scaffold.md +0 -50
  160. package/autopm/.claude/commands/testing/prime.md +0 -314
  161. package/autopm/.claude/commands/testing/run.md +0 -125
  162. package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
  163. package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
  164. package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
  165. package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
  166. package/autopm/.claude/rules/database-management-strategy.md +0 -17
  167. package/autopm/.claude/rules/database-pipeline.md +0 -94
  168. package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
  169. package/autopm/.claude/rules/docker-first-development.md +0 -404
  170. package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
  171. package/autopm/.claude/rules/performance-guidelines.md +0 -403
  172. package/autopm/.claude/rules/ui-development-standards.md +0 -281
  173. package/autopm/.claude/rules/ui-framework-rules.md +0 -151
  174. package/autopm/.claude/rules/ux-design-rules.md +0 -209
  175. package/autopm/.claude/rules/visual-testing.md +0 -223
  176. package/autopm/.claude/scripts/azure/README.md +0 -192
  177. package/autopm/.claude/scripts/azure/active-work.js +0 -524
  178. package/autopm/.claude/scripts/azure/active-work.sh +0 -20
  179. package/autopm/.claude/scripts/azure/blocked.js +0 -520
  180. package/autopm/.claude/scripts/azure/blocked.sh +0 -20
  181. package/autopm/.claude/scripts/azure/daily.js +0 -533
  182. package/autopm/.claude/scripts/azure/daily.sh +0 -20
  183. package/autopm/.claude/scripts/azure/dashboard.js +0 -970
  184. package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
  185. package/autopm/.claude/scripts/azure/feature-list.js +0 -254
  186. package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
  187. package/autopm/.claude/scripts/azure/feature-show.js +0 -7
  188. package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
  189. package/autopm/.claude/scripts/azure/feature-status.js +0 -604
  190. package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
  191. package/autopm/.claude/scripts/azure/help.js +0 -342
  192. package/autopm/.claude/scripts/azure/help.sh +0 -20
  193. package/autopm/.claude/scripts/azure/next-task.js +0 -508
  194. package/autopm/.claude/scripts/azure/next-task.sh +0 -20
  195. package/autopm/.claude/scripts/azure/search.js +0 -469
  196. package/autopm/.claude/scripts/azure/search.sh +0 -20
  197. package/autopm/.claude/scripts/azure/setup.js +0 -745
  198. package/autopm/.claude/scripts/azure/setup.sh +0 -20
  199. package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
  200. package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
  201. package/autopm/.claude/scripts/azure/sync.js +0 -563
  202. package/autopm/.claude/scripts/azure/sync.sh +0 -20
  203. package/autopm/.claude/scripts/azure/us-list.js +0 -210
  204. package/autopm/.claude/scripts/azure/us-list.sh +0 -20
  205. package/autopm/.claude/scripts/azure/us-status.js +0 -238
  206. package/autopm/.claude/scripts/azure/us-status.sh +0 -20
  207. package/autopm/.claude/scripts/azure/validate.js +0 -626
  208. package/autopm/.claude/scripts/azure/validate.sh +0 -20
  209. package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
  210. package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
  211. package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
  212. package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
  213. package/autopm/.claude/scripts/pm/analytics.js +0 -425
  214. package/autopm/.claude/scripts/pm/blocked.js +0 -164
  215. package/autopm/.claude/scripts/pm/blocked.sh +0 -78
  216. package/autopm/.claude/scripts/pm/clean.js +0 -464
  217. package/autopm/.claude/scripts/pm/context-create.js +0 -216
  218. package/autopm/.claude/scripts/pm/context-prime.js +0 -335
  219. package/autopm/.claude/scripts/pm/context-update.js +0 -344
  220. package/autopm/.claude/scripts/pm/context.js +0 -338
  221. package/autopm/.claude/scripts/pm/epic-close.js +0 -347
  222. package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
  223. package/autopm/.claude/scripts/pm/epic-list.js +0 -273
  224. package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
  225. package/autopm/.claude/scripts/pm/epic-show.js +0 -291
  226. package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
  227. package/autopm/.claude/scripts/pm/epic-split.js +0 -522
  228. package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
  229. package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
  230. package/autopm/.claude/scripts/pm/epic-status.js +0 -291
  231. package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
  232. package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
  233. package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
  234. package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
  235. package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
  236. package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
  237. package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
  238. package/autopm/.claude/scripts/pm/help.js +0 -92
  239. package/autopm/.claude/scripts/pm/help.sh +0 -90
  240. package/autopm/.claude/scripts/pm/in-progress.js +0 -178
  241. package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
  242. package/autopm/.claude/scripts/pm/init.js +0 -321
  243. package/autopm/.claude/scripts/pm/init.sh +0 -178
  244. package/autopm/.claude/scripts/pm/issue-close.js +0 -232
  245. package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
  246. package/autopm/.claude/scripts/pm/issue-show.js +0 -272
  247. package/autopm/.claude/scripts/pm/issue-start.js +0 -181
  248. package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
  249. package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
  250. package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
  251. package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
  252. package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
  253. package/autopm/.claude/scripts/pm/lib/README.md +0 -85
  254. package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
  255. package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
  256. package/autopm/.claude/scripts/pm/next.js +0 -189
  257. package/autopm/.claude/scripts/pm/next.sh +0 -72
  258. package/autopm/.claude/scripts/pm/optimize.js +0 -407
  259. package/autopm/.claude/scripts/pm/pr-create.js +0 -337
  260. package/autopm/.claude/scripts/pm/pr-list.js +0 -257
  261. package/autopm/.claude/scripts/pm/prd-list.js +0 -242
  262. package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
  263. package/autopm/.claude/scripts/pm/prd-new.js +0 -684
  264. package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
  265. package/autopm/.claude/scripts/pm/prd-status.js +0 -152
  266. package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
  267. package/autopm/.claude/scripts/pm/release.js +0 -460
  268. package/autopm/.claude/scripts/pm/search.js +0 -192
  269. package/autopm/.claude/scripts/pm/search.sh +0 -89
  270. package/autopm/.claude/scripts/pm/standup.js +0 -362
  271. package/autopm/.claude/scripts/pm/standup.sh +0 -95
  272. package/autopm/.claude/scripts/pm/status.js +0 -148
  273. package/autopm/.claude/scripts/pm/status.sh +0 -59
  274. package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
  275. package/autopm/.claude/scripts/pm/sync.js +0 -343
  276. package/autopm/.claude/scripts/pm/template-list.js +0 -141
  277. package/autopm/.claude/scripts/pm/template-new.js +0 -366
  278. package/autopm/.claude/scripts/pm/validate.js +0 -274
  279. package/autopm/.claude/scripts/pm/validate.sh +0 -106
  280. package/autopm/.claude/scripts/pm/what-next.js +0 -660
  281. package/bin/node/azure-feature-show.js +0 -7
@@ -1,403 +0,0 @@
1
- # ⚡ Performance Guidelines & Optimization
2
-
3
- > **Performance is a feature. Slow is broken.**
4
-
5
- ## Performance Targets
6
-
7
- ### 🌐 Web Performance Metrics
8
-
9
- #### Core Web Vitals
10
-
11
- - **LCP (Largest Contentful Paint)**: < 2.5s
12
- - **FID (First Input Delay)**: < 100ms
13
- - **CLS (Cumulative Layout Shift)**: < 0.1
14
- - **FCP (First Contentful Paint)**: < 1.5s
15
- - **TTI (Time to Interactive)**: < 5s
16
- - **TBT (Total Blocking Time)**: < 300ms
17
-
18
- #### Page Load Targets
19
-
20
- - **3G Network**: < 3 seconds
21
- - **4G Network**: < 1.5 seconds
22
- - **Broadband**: < 1 second
23
- - **Repeat Visit**: < 500ms (with cache)
24
-
25
- ### 🔧 API Performance Targets
26
-
27
- | Operation Type | Target | Maximum |
28
- |---------------|--------|----------|
29
- | Simple Query | < 50ms | 100ms |
30
- | Complex Query | < 200ms | 500ms |
31
- | Search | < 300ms | 1s |
32
- | File Upload | < 1s/MB | 2s/MB |
33
- | Batch Operation | < 5s | 10s |
34
- | Real-time Updates | < 100ms | 200ms |
35
-
36
- ### 🗄️ Database Performance
37
-
38
- | Query Type | Target | Action if Exceeded |
39
- |-----------|--------|--------------------|
40
- | Indexed SELECT | < 10ms | Add index |
41
- | Complex JOIN | < 50ms | Optimize query |
42
- | Full Table Scan | < 100ms | Add index/partition |
43
- | Write Operation | < 20ms | Check locks |
44
- | Transaction | < 100ms | Break down |
45
-
46
- ## Frontend Performance Optimization
47
-
48
- ### 📦 Bundle Size Budgets
49
-
50
- ```javascript
51
- // Maximum bundle sizes
52
- const budgets = {
53
- javascript: {
54
- initial: 200, // KB (gzipped)
55
- lazy: 300, // KB (gzipped)
56
- },
57
- css: {
58
- initial: 50, // KB (gzipped)
59
- lazy: 100, // KB (gzipped)
60
- },
61
- images: {
62
- hero: 200, // KB
63
- thumbnail: 20, // KB
64
- icon: 5, // KB
65
- },
66
- total: {
67
- initial: 500, // KB (all assets)
68
- full: 2000, // KB (entire app)
69
- }
70
- };
71
- ```
72
-
73
- ### 🎯 Optimization Checklist
74
-
75
- #### Code Optimization
76
-
77
- - [ ] Code splitting implemented
78
- - [ ] Lazy loading for routes
79
- - [ ] Tree shaking enabled
80
- - [ ] Dead code eliminated
81
- - [ ] Minification enabled
82
- - [ ] Compression (gzip/brotli)
83
- - [ ] Source maps in production
84
-
85
- #### Asset Optimization
86
-
87
- - [ ] Images optimized (WebP with fallback)
88
- - [ ] Responsive images (srcset)
89
- - [ ] Lazy loading images
90
- - [ ] SVG optimization
91
- - [ ] Font subsetting
92
- - [ ] Critical CSS inlined
93
- - [ ] Unused CSS removed
94
-
95
- #### Caching Strategy
96
-
97
- - [ ] Service Worker implemented
98
- - [ ] Cache headers configured
99
- - [ ] CDN for static assets
100
- - [ ] Browser cache utilized
101
- - [ ] API response caching
102
- - [ ] Database query caching
103
-
104
- #### Runtime Performance
105
-
106
- - [ ] Virtual scrolling for long lists
107
- - [ ] Debounced search inputs
108
- - [ ] Throttled scroll handlers
109
- - [ ] Web Workers for heavy computation
110
- - [ ] RequestAnimationFrame for animations
111
- - [ ] Avoid layout thrashing
112
-
113
- ### 📊 Performance Monitoring
114
-
115
- ```javascript
116
- // Performance monitoring setup
117
- const perfObserver = new PerformanceObserver((list) => {
118
- for (const entry of list.getEntries()) {
119
- // Log to analytics
120
- analytics.track('performance', {
121
- metric: entry.name,
122
- value: entry.value,
123
- page: window.location.pathname
124
- });
125
- }
126
- });
127
-
128
- // Observe all performance metrics
129
- perfObserver.observe({
130
- entryTypes: ['navigation', 'resource', 'paint', 'measure']
131
- });
132
- ```
133
-
134
- ## Backend Performance Optimization
135
-
136
- ### 🔄 API Optimization
137
-
138
- #### Response Time Optimization
139
-
140
- - [ ] Database connection pooling
141
- - [ ] Query optimization (EXPLAIN ANALYZE)
142
- - [ ] Proper indexing strategy
143
- - [ ] N+1 query prevention
144
- - [ ] Pagination implemented
145
- - [ ] Response compression
146
- - [ ] Field filtering (GraphQL/sparse fieldsets)
147
-
148
- #### Caching Layers
149
-
150
- ```python
151
- # Caching hierarchy
152
- 1. Browser Cache → 0ms
153
- 2. CDN Edge Cache → 10-50ms
154
- 3. Redis/Memcached → 1-5ms
155
- 4. Application Cache → 0.1ms
156
- 5. Database Cache → 5-10ms
157
- 6. Database Query → 10-100ms
158
- ```
159
-
160
- #### Concurrency & Scaling
161
-
162
- - [ ] Async/await for I/O operations
163
- - [ ] Worker threads for CPU-intensive tasks
164
- - [ ] Queue for background jobs
165
- - [ ] Rate limiting per endpoint
166
- - [ ] Circuit breakers for external services
167
- - [ ] Load balancing configured
168
- - [ ] Auto-scaling policies
169
-
170
- ### 📈 Database Optimization
171
-
172
- #### Query Optimization
173
-
174
- ```sql
175
- -- Before optimization
176
- SELECT * FROM orders o
177
- JOIN users u ON o.user_id = u.id
178
- WHERE u.country = 'US';
179
-
180
- -- After optimization
181
- SELECT o.id, o.total, u.name
182
- FROM orders o
183
- JOIN users u ON o.user_id = u.id
184
- WHERE u.country = 'US'
185
- AND o.created_at > NOW() - INTERVAL '30 days'
186
- LIMIT 100;
187
-
188
- -- With proper indexes
189
- CREATE INDEX idx_users_country ON users(country);
190
- CREATE INDEX idx_orders_user_created ON orders(user_id, created_at DESC);
191
- ```
192
-
193
- #### Index Strategy
194
-
195
- - [ ] Primary keys on all tables
196
- - [ ] Foreign key indexes
197
- - [ ] Composite indexes for common queries
198
- - [ ] Covering indexes for read-heavy queries
199
- - [ ] Partial indexes for filtered queries
200
- - [ ] Monitor index usage
201
-
202
- ## Performance Testing
203
-
204
- ### 🧪 Load Testing
205
-
206
- ```javascript
207
- // Performance test scenarios
208
- const scenarios = {
209
- baseline: {
210
- users: 100,
211
- duration: '5m',
212
- rampUp: '30s'
213
- },
214
- stress: {
215
- users: 1000,
216
- duration: '15m',
217
- rampUp: '2m'
218
- },
219
- spike: {
220
- users: 5000,
221
- duration: '10m',
222
- rampUp: '10s'
223
- },
224
- endurance: {
225
- users: 500,
226
- duration: '2h',
227
- rampUp: '5m'
228
- }
229
- };
230
- ```
231
-
232
- ### 📏 Performance Benchmarks
233
-
234
- | Metric | Excellent | Good | Needs Work | Unacceptable |
235
- |--------|-----------|------|------------|---------------|
236
- | Page Load | < 1s | < 2s | < 3s | > 3s |
237
- | API Response | < 100ms | < 300ms | < 1s | > 1s |
238
- | Database Query | < 10ms | < 50ms | < 200ms | > 200ms |
239
- | CPU Usage | < 40% | < 60% | < 80% | > 80% |
240
- | Memory Usage | < 50% | < 70% | < 85% | > 85% |
241
- | Error Rate | < 0.1% | < 1% | < 5% | > 5% |
242
-
243
- ## Performance Monitoring Tools
244
-
245
- ### Frontend Monitoring
246
-
247
- ```javascript
248
- // Real User Monitoring (RUM)
249
- - Google Analytics / GA4
250
- - New Relic Browser
251
- - Datadog RUM
252
- - Sentry Performance
253
-
254
- // Synthetic Monitoring
255
- - Lighthouse CI
256
- - WebPageTest
257
- - GTmetrix
258
- - SpeedCurve
259
- ```
260
-
261
- ### Backend Monitoring
262
-
263
- ```yaml
264
- # APM Tools
265
- - New Relic APM
266
- - Datadog APM
267
- - AppDynamics
268
- - Elastic APM
269
-
270
- # Custom Metrics
271
- - Prometheus + Grafana
272
- - StatsD
273
- - CloudWatch (AWS)
274
- - Application Insights (Azure)
275
- ```
276
-
277
- ## Performance Budget Enforcement
278
-
279
- ### CI/CD Integration
280
-
281
- ```yaml
282
- # Performance gates in pipeline
283
- performance-check:
284
- stage: test
285
- script:
286
- - lighthouse ci --budget=./budget.json
287
- - bundlesize --max-size 200KB
288
- - npm run test:performance
289
- rules:
290
- fail_on:
291
- - lcp > 2500
292
- - fid > 100
293
- - cls > 0.1
294
- - bundle_size > budget
295
- ```
296
-
297
- ### Performance Reviews
298
-
299
- #### Weekly Checks
300
-
301
- - [ ] Core Web Vitals trends
302
- - [ ] API response times
303
- - [ ] Error rates
304
- - [ ] Database slow query log
305
-
306
- #### Monthly Analysis
307
-
308
- - [ ] Performance regression analysis
309
- - [ ] User impact assessment
310
- - [ ] Infrastructure cost vs performance
311
- - [ ] Optimization opportunities
312
-
313
- ## Quick Performance Wins
314
-
315
- ### Immediate Improvements
316
-
317
- ```bash
318
- # Frontend
319
- ✅ Enable compression (gzip/brotli)
320
- ✅ Add Cache-Control headers
321
- ✅ Optimize images (WebP, lazy load)
322
- ✅ Minify CSS/JS
323
- ✅ Remove unused dependencies
324
-
325
- # Backend
326
- ✅ Add database indexes
327
- ✅ Enable query caching
328
- ✅ Implement pagination
329
- ✅ Use connection pooling
330
- ✅ Add Redis caching
331
-
332
- # Infrastructure
333
- ✅ Enable CDN
334
- ✅ Configure auto-scaling
335
- ✅ Optimize container size
336
- ✅ Use HTTP/2
337
- ✅ Enable keep-alive
338
- ```
339
-
340
- ## Performance Anti-Patterns
341
-
342
- ### Things to Avoid
343
-
344
- ```javascript
345
- // ❌ DON'T DO THIS
346
- - Synchronous API calls in loops
347
- - Unbounded queries (SELECT * without LIMIT)
348
- - Large DOM manipulations
349
- - Inline styles/scripts
350
- - Blocking resources in <head>
351
- - Memory leaks (event listeners, timers)
352
- - N+1 database queries
353
- - Premature optimization
354
-
355
- // ✅ DO THIS INSTEAD
356
- - Batch API calls
357
- - Paginate large datasets
358
- - Virtual DOM / React
359
- - External stylesheets
360
- - Async/defer scripts
361
- - Cleanup in useEffect/componentWillUnmount
362
- - Eager loading with includes
363
- - Measure first, optimize second
364
- ```
365
-
366
- ## Performance Culture
367
-
368
- ### Team Responsibilities
369
-
370
- #### Developers
371
-
372
- - Write performant code
373
- - Test performance locally
374
- - Monitor PR impact
375
-
376
- #### DevOps
377
-
378
- - Infrastructure optimization
379
- - Monitoring setup
380
- - Scaling policies
381
-
382
- #### Product
383
-
384
- - Define performance requirements
385
- - Prioritize performance work
386
- - Balance features vs speed
387
-
388
- ### Performance Reviews
389
-
390
- - Include performance in code reviews
391
- - Regular performance audits
392
- - Performance retrospectives
393
- - Celebrate performance wins
394
-
395
- ## Remember
396
-
397
- **Every millisecond counts.**
398
-
399
- - 100ms delay → 1% drop in sales
400
- - 1 second delay → 7% reduction in conversions
401
- - 3 seconds load → 53% mobile users leave
402
-
403
- **Performance is not a one-time task—it's a continuous process.**
@@ -1,281 +0,0 @@
1
- # UI Development Standards Rule
2
-
3
- > **PURPOSE**: Mandatory standards for consistent UI/UX development across projects.
4
-
5
- ## CRITICAL UI FRAMEWORK SELECTION
6
-
7
- ### 1. FRAMEWORK DECISION MATRIX
8
-
9
- **Bootstrap** - Use `react-ui-expert` (framework=bootstrap):
10
-
11
- - Rapid prototyping and MVP development
12
- - Component-heavy applications (dashboards, admin panels)
13
- - Team prefers pre-built components
14
- - Consistent enterprise-grade design needed
15
- - Less custom design requirements
16
-
17
- **TailwindCSS** - Use `tailwindcss-expert`:
18
-
19
- - Custom design systems and unique branding
20
- - High-performance applications (smaller bundle sizes)
21
- - Design flexibility and utility-first approach needed
22
- - Developer team comfortable with utility classes
23
- - Modern, cutting-edge UI requirements
24
-
25
- **Selection Criteria**:
26
-
27
- ```
28
- IF (rapid_development && pre_built_components) → Bootstrap
29
- IF (custom_design && performance_critical) → TailwindCSS
30
- IF (design_system_needed) → TailwindCSS
31
- IF (enterprise_consistency) → Bootstrap
32
- ```
33
-
34
- ### 2. RESPONSIVE DESIGN REQUIREMENTS
35
-
36
- **MANDATORY Responsive Breakpoints**:
37
-
38
- - Mobile First: Design for mobile, enhance for desktop
39
- - Breakpoints: 576px (sm), 768px (md), 992px (lg), 1200px (xl), 1400px (xxl)
40
- - Touch-friendly: Minimum 44px touch targets
41
- - Readable text: Minimum 16px font size on mobile
42
-
43
- **Testing Requirements**:
44
-
45
- - Test on actual devices, not just browser dev tools
46
- - Validate touch interactions on mobile devices
47
- - Ensure content reflows properly at all breakpoints
48
- - Test landscape and portrait orientations
49
-
50
- ### 3. ACCESSIBILITY STANDARDS (WCAG 2.1 AA)
51
-
52
- **MANDATORY Accessibility Features**:
53
-
54
- - Semantic HTML structure (headings h1-h6 hierarchy)
55
- - Alt text for all images and meaningful graphics
56
- - Proper form labels and error messages
57
- - Keyboard navigation support
58
- - Color contrast ratio ≥ 4.5:1 for normal text
59
- - Focus indicators visible and high contrast
60
-
61
- **Implementation Requirements**:
62
-
63
- ```html
64
- <!-- ALWAYS include proper ARIA labels -->
65
- <button aria-label="Close modal" aria-expanded="false">×</button>
66
-
67
- <!-- ALWAYS use semantic HTML -->
68
- <nav role="navigation">
69
- <ul>
70
- <li><a href="#section1">Section 1</a></li>
71
- </ul>
72
- </nav>
73
-
74
- <!-- ALWAYS provide alternative text -->
75
- <img src="chart.png" alt="Sales increased 25% in Q3 2024">
76
- ```
77
-
78
- ### 4. PERFORMANCE STANDARDS
79
-
80
- **Bootstrap Projects**:
81
-
82
- - Bundle size limit: < 300KB (CSS + JS gzipped)
83
- - Custom builds: Include only required components
84
- - Optimize images: WebP format with fallbacks
85
- - Minimize DOM depth: < 15 levels deep
86
-
87
- **TailwindCSS Projects**:
88
-
89
- - PurgeCSS enabled: Remove unused utilities
90
- - Bundle size limit: < 50KB (CSS gzipped)
91
- - JIT mode enabled for development
92
- - Production builds must be optimized
93
-
94
- **Performance Metrics** (REQUIRED):
95
-
96
- - First Contentful Paint (FCP) < 1.5s
97
- - Largest Contentful Paint (LCP) < 2.5s
98
- - Cumulative Layout Shift (CLS) < 0.1
99
- - Time to Interactive (TTI) < 3.5s
100
-
101
- ### 5. BROWSER COMPATIBILITY REQUIREMENTS
102
-
103
- **Supported Browsers** (MINIMUM):
104
-
105
- - Chrome/Edge: Last 2 versions
106
- - Firefox: Last 2 versions
107
- - Safari: Last 2 versions
108
- - Mobile Safari (iOS): Last 2 versions
109
- - Chrome Mobile (Android): Last 2 versions
110
-
111
- **Fallback Strategies**:
112
-
113
- - Progressive enhancement approach
114
- - Graceful degradation for unsupported features
115
- - Polyfills for critical missing features
116
- - Alternative layouts for older browsers
117
-
118
- ### 6. COMPONENT ARCHITECTURE STANDARDS
119
-
120
- **Bootstrap Components**:
121
-
122
- ```html
123
- <!-- ALWAYS use consistent class patterns -->
124
- <div class="card h-100 shadow-sm">
125
- <div class="card-header d-flex justify-content-between align-items-center">
126
- <h5 class="card-title mb-0">Title</h5>
127
- <button class="btn btn-sm btn-outline-secondary">Action</button>
128
- </div>
129
- <div class="card-body">
130
- <p class="card-text">Content</p>
131
- </div>
132
- </div>
133
- ```
134
-
135
- **TailwindCSS Components**:
136
-
137
- ```html
138
- <!-- ALWAYS extract component patterns -->
139
- <div class="bg-white rounded-lg shadow-md p-6 hover:shadow-lg transition-shadow">
140
- <div class="flex justify-between items-center mb-4">
141
- <h3 class="text-lg font-semibold text-gray-900">Title</h3>
142
- <button class="px-3 py-1 text-sm bg-blue-100 text-blue-700 rounded-full hover:bg-blue-200">
143
- Action
144
- </button>
145
- </div>
146
- <p class="text-gray-600">Content</p>
147
- </div>
148
- ```
149
-
150
- ### 7. FORM VALIDATION STANDARDS
151
-
152
- **Client-Side Validation** (MANDATORY):
153
-
154
- - Real-time validation feedback
155
- - Clear error messages
156
- - Visual error indicators
157
- - Success confirmation states
158
-
159
- **Implementation Pattern**:
160
-
161
- ```html
162
- <!-- Bootstrap form validation -->
163
- <form class="needs-validation" novalidate>
164
- <div class="mb-3">
165
- <label for="email" class="form-label">Email</label>
166
- <input type="email" class="form-control" id="email" required>
167
- <div class="invalid-feedback">Please provide a valid email.</div>
168
- <div class="valid-feedback">Looks good!</div>
169
- </div>
170
- </form>
171
-
172
- <!-- TailwindCSS form validation -->
173
- <form>
174
- <div class="mb-4">
175
- <label class="block text-sm font-medium text-gray-700 mb-2">Email</label>
176
- <input
177
- type="email"
178
- class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
179
- required
180
- >
181
- <p class="mt-1 text-sm text-red-600 hidden">Please provide a valid email.</p>
182
- </div>
183
- </form>
184
- ```
185
-
186
- ### 8. DARK MODE IMPLEMENTATION
187
-
188
- **TailwindCSS Dark Mode**:
189
-
190
- ```html
191
- <!-- ALWAYS support dark mode with TailwindCSS -->
192
- <div class="bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100">
193
- <h1 class="text-2xl font-bold text-gray-900 dark:text-white">Title</h1>
194
- <p class="text-gray-600 dark:text-gray-300">Content</p>
195
- </div>
196
- ```
197
-
198
- **Bootstrap Dark Mode**:
199
-
200
- ```html
201
- <!-- Use Bootstrap 5.3+ dark mode support -->
202
- <html data-bs-theme="dark">
203
- <div class="card">
204
- <div class="card-body">
205
- <h5 class="card-title">Dark Mode Card</h5>
206
- </div>
207
- </div>
208
- </html>
209
- ```
210
-
211
- ### 9. TESTING REQUIREMENTS
212
-
213
- **Visual Testing** (MANDATORY):
214
-
215
- - Screenshot testing across breakpoints
216
- - Cross-browser visual comparison
217
- - Accessibility audit with tools (axe, WAVE)
218
- - Color contrast validation
219
-
220
- **Functional Testing**:
221
-
222
- - Form submission and validation
223
- - Interactive component behavior
224
- - Navigation and routing
225
- - Mobile touch interactions
226
-
227
- **Performance Testing**:
228
-
229
- - Bundle size monitoring
230
- - Load time measurement
231
- - Core Web Vitals tracking
232
- - Lighthouse audit scores ≥ 90
233
-
234
- ### 10. CODE ORGANIZATION STANDARDS
235
-
236
- **File Structure**:
237
-
238
- ```
239
- src/
240
- ├── styles/
241
- │ ├── bootstrap/ # Bootstrap customizations
242
- │ │ ├── variables.scss # Custom variables
243
- │ │ └── custom.scss # Custom components
244
- │ └── tailwind/ # TailwindCSS customizations
245
- │ ├── config.js # Tailwind configuration
246
- │ └── components/ # Component patterns
247
- ├── components/ # Reusable UI components
248
- └── assets/ # Images, fonts, icons
249
- ```
250
-
251
- **Code Quality**:
252
-
253
- - Consistent indentation (2 spaces)
254
- - Meaningful class names and comments
255
- - Component reusability and modularity
256
- - Documentation for complex components
257
-
258
- ## VIOLATIONS AND ENFORCEMENT
259
-
260
- **CRITICAL VIOLATIONS** (Block deployment):
261
-
262
- - Missing responsive design implementation
263
- - Accessibility violations (WCAG 2.1 AA failures)
264
- - Bundle size exceeds limits
265
- - No fallback for unsupported browsers
266
-
267
- **MAJOR VIOLATIONS** (Require fixes):
268
-
269
- - Inconsistent design patterns
270
- - Missing form validation
271
- - No dark mode support (for TailwindCSS projects)
272
- - Performance metrics below thresholds
273
-
274
- **MINOR VIOLATIONS** (Address in next iteration):
275
-
276
- - Suboptimal component organization
277
- - Missing hover/focus states
278
- - Incomplete documentation
279
- - Non-semantic HTML usage
280
-
281
- These standards ensure consistent, accessible, and performant UI development across all projects.