claude-autopm 2.8.1 → 2.8.3

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 (450) hide show
  1. package/README.md +399 -529
  2. package/bin/autopm.js +2 -0
  3. package/bin/commands/plugin.js +395 -0
  4. package/bin/commands/team.js +184 -10
  5. package/install/install.js +223 -4
  6. package/lib/plugins/PluginManager.js +1328 -0
  7. package/lib/plugins/PluginManager.old.js +400 -0
  8. package/package.json +5 -1
  9. package/packages/plugin-ai/LICENSE +21 -0
  10. package/packages/plugin-ai/README.md +316 -0
  11. package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
  12. package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
  13. package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
  14. package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
  15. package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
  16. package/packages/plugin-ai/commands/a2a-setup.md +886 -0
  17. package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
  18. package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
  19. package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
  20. package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
  21. package/packages/plugin-ai/commands/llm-optimize.md +348 -0
  22. package/packages/plugin-ai/commands/openai-optimize.md +863 -0
  23. package/packages/plugin-ai/commands/rag-optimize.md +841 -0
  24. package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
  25. package/packages/plugin-ai/package.json +66 -0
  26. package/packages/plugin-ai/plugin.json +519 -0
  27. package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
  28. package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
  29. package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
  30. package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
  31. package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
  32. package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
  33. package/packages/plugin-cloud/README.md +268 -0
  34. package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
  35. package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
  36. package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
  37. package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
  38. package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
  39. package/packages/plugin-cloud/package.json +64 -0
  40. package/packages/plugin-cloud/plugin.json +338 -0
  41. package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
  42. package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
  43. package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
  44. package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
  45. package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
  46. package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
  47. package/packages/plugin-core/README.md +274 -0
  48. package/packages/plugin-core/commands/code-rabbit.md +128 -0
  49. package/packages/plugin-core/commands/prompt.md +9 -0
  50. package/packages/plugin-core/commands/re-init.md +9 -0
  51. package/packages/plugin-core/hooks/context7-reminder.md +29 -0
  52. package/packages/plugin-core/hooks/enforce-agents.js +125 -0
  53. package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
  54. package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
  55. package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
  56. package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
  57. package/packages/plugin-core/hooks/test-hook.sh +21 -0
  58. package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
  59. package/packages/plugin-core/package.json +45 -0
  60. package/packages/plugin-core/plugin.json +387 -0
  61. package/packages/plugin-core/rules/agent-coordination.md +549 -0
  62. package/packages/plugin-core/rules/agent-mandatory.md +170 -0
  63. package/packages/plugin-core/rules/command-pipelines.md +208 -0
  64. package/packages/plugin-core/rules/context-optimization.md +176 -0
  65. package/packages/plugin-core/rules/context7-enforcement.md +327 -0
  66. package/packages/plugin-core/rules/datetime.md +122 -0
  67. package/packages/plugin-core/rules/definition-of-done.md +272 -0
  68. package/packages/plugin-core/rules/development-environments.md +19 -0
  69. package/packages/plugin-core/rules/development-workflow.md +198 -0
  70. package/packages/plugin-core/rules/framework-path-rules.md +180 -0
  71. package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
  72. package/packages/plugin-core/rules/git-strategy.md +237 -0
  73. package/packages/plugin-core/rules/golden-rules.md +181 -0
  74. package/packages/plugin-core/rules/naming-conventions.md +111 -0
  75. package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
  76. package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
  77. package/packages/plugin-core/rules/security-checklist.md +318 -0
  78. package/packages/plugin-core/rules/standard-patterns.md +197 -0
  79. package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
  80. package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
  81. package/packages/plugin-core/rules/use-ast-grep.md +113 -0
  82. package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
  83. package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
  84. package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
  85. package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
  86. package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
  87. package/packages/plugin-core/scripts/mcp/add.sh +7 -0
  88. package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
  89. package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
  90. package/packages/plugin-core/scripts/mcp/list.sh +7 -0
  91. package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
  92. package/packages/plugin-data/README.md +315 -0
  93. package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
  94. package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
  95. package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
  96. package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
  97. package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
  98. package/packages/plugin-data/package.json +66 -0
  99. package/packages/plugin-data/plugin.json +294 -0
  100. package/packages/plugin-data/rules/data-quality-standards.md +373 -0
  101. package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
  102. package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
  103. package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
  104. package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
  105. package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
  106. package/packages/plugin-databases/README.md +330 -0
  107. package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/bigquery-expert.md +24 -15
  108. package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/cosmosdb-expert.md +22 -15
  109. package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/mongodb-expert.md +24 -15
  110. package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/postgresql-expert.md +23 -15
  111. package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/redis-expert.md +29 -7
  112. package/packages/plugin-databases/commands/db-optimize.md +612 -0
  113. package/packages/plugin-databases/package.json +60 -0
  114. package/packages/plugin-databases/plugin.json +237 -0
  115. package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
  116. package/packages/plugin-databases/rules/database-pipeline.md +316 -0
  117. package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
  118. package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
  119. package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
  120. package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
  121. package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
  122. package/packages/plugin-devops/README.md +367 -0
  123. package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/github-operations-specialist.md +1 -1
  124. package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
  125. package/packages/plugin-devops/commands/docker-optimize.md +493 -0
  126. package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
  127. package/packages/plugin-devops/package.json +61 -0
  128. package/packages/plugin-devops/plugin.json +302 -0
  129. package/packages/plugin-devops/rules/github-operations.md +92 -0
  130. package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
  131. package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
  132. package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
  133. package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
  134. package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
  135. package/packages/plugin-frameworks/README.md +309 -0
  136. package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/e2e-test-engineer.md +219 -0
  137. package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/react-frontend-engineer.md +176 -0
  138. package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/tailwindcss-expert.md +251 -0
  139. package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
  140. package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
  141. package/packages/plugin-frameworks/package.json +59 -0
  142. package/packages/plugin-frameworks/plugin.json +224 -0
  143. package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
  144. package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
  145. package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
  146. package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
  147. package/packages/plugin-languages/README.md +333 -0
  148. package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
  149. package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
  150. package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
  151. package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
  152. package/packages/plugin-languages/commands/python-optimize.md +593 -0
  153. package/packages/plugin-languages/package.json +65 -0
  154. package/packages/plugin-languages/plugin.json +265 -0
  155. package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
  156. package/packages/plugin-languages/rules/testing-standards.md +768 -0
  157. package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
  158. package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
  159. package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
  160. package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
  161. package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
  162. package/packages/plugin-ml/README.md +430 -0
  163. package/packages/plugin-ml/agents/automl-expert.md +326 -0
  164. package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
  165. package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
  166. package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
  167. package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
  168. package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
  169. package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
  170. package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
  171. package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
  172. package/packages/plugin-ml/agents/time-series-expert.md +303 -0
  173. package/packages/plugin-ml/commands/ml-automl.md +572 -0
  174. package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
  175. package/packages/plugin-ml/package.json +52 -0
  176. package/packages/plugin-ml/plugin.json +338 -0
  177. package/packages/plugin-pm/README.md +368 -0
  178. package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
  179. package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
  180. package/packages/plugin-pm/package.json +57 -0
  181. package/packages/plugin-pm/plugin.json +503 -0
  182. package/packages/plugin-testing/README.md +401 -0
  183. package/{autopm/.claude/agents/testing → packages/plugin-testing/agents}/frontend-testing-engineer.md +373 -0
  184. package/packages/plugin-testing/commands/jest-optimize.md +800 -0
  185. package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
  186. package/packages/plugin-testing/commands/test-coverage.md +512 -0
  187. package/packages/plugin-testing/commands/test-performance.md +1041 -0
  188. package/packages/plugin-testing/commands/test-setup.md +414 -0
  189. package/packages/plugin-testing/package.json +40 -0
  190. package/packages/plugin-testing/plugin.json +197 -0
  191. package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
  192. package/packages/plugin-testing/rules/testing-standards.md +529 -0
  193. package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
  194. package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
  195. package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
  196. package/scripts/publish-plugins.sh +166 -0
  197. package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
  198. package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
  199. package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
  200. package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
  201. package/autopm/.claude/commands/ai/openai-chat.md +0 -65
  202. package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
  203. package/autopm/.claude/commands/python/api-scaffold.md +0 -50
  204. package/autopm/.claude/commands/python/docs-query.md +0 -48
  205. package/autopm/.claude/commands/testing/prime.md +0 -314
  206. package/autopm/.claude/commands/testing/run.md +0 -125
  207. package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
  208. package/autopm/.claude/rules/database-management-strategy.md +0 -17
  209. package/autopm/.claude/rules/database-pipeline.md +0 -94
  210. package/autopm/.claude/rules/ux-design-rules.md +0 -209
  211. package/autopm/.claude/rules/visual-testing.md +0 -223
  212. package/autopm/.claude/scripts/azure/README.md +0 -192
  213. package/autopm/.claude/scripts/azure/active-work.js +0 -524
  214. package/autopm/.claude/scripts/azure/active-work.sh +0 -20
  215. package/autopm/.claude/scripts/azure/blocked.js +0 -520
  216. package/autopm/.claude/scripts/azure/blocked.sh +0 -20
  217. package/autopm/.claude/scripts/azure/daily.js +0 -533
  218. package/autopm/.claude/scripts/azure/daily.sh +0 -20
  219. package/autopm/.claude/scripts/azure/dashboard.js +0 -970
  220. package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
  221. package/autopm/.claude/scripts/azure/feature-list.js +0 -254
  222. package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
  223. package/autopm/.claude/scripts/azure/feature-show.js +0 -7
  224. package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
  225. package/autopm/.claude/scripts/azure/feature-status.js +0 -604
  226. package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
  227. package/autopm/.claude/scripts/azure/help.js +0 -342
  228. package/autopm/.claude/scripts/azure/help.sh +0 -20
  229. package/autopm/.claude/scripts/azure/next-task.js +0 -508
  230. package/autopm/.claude/scripts/azure/next-task.sh +0 -20
  231. package/autopm/.claude/scripts/azure/search.js +0 -469
  232. package/autopm/.claude/scripts/azure/search.sh +0 -20
  233. package/autopm/.claude/scripts/azure/setup.js +0 -745
  234. package/autopm/.claude/scripts/azure/setup.sh +0 -20
  235. package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
  236. package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
  237. package/autopm/.claude/scripts/azure/sync.js +0 -563
  238. package/autopm/.claude/scripts/azure/sync.sh +0 -20
  239. package/autopm/.claude/scripts/azure/us-list.js +0 -210
  240. package/autopm/.claude/scripts/azure/us-list.sh +0 -20
  241. package/autopm/.claude/scripts/azure/us-status.js +0 -238
  242. package/autopm/.claude/scripts/azure/us-status.sh +0 -20
  243. package/autopm/.claude/scripts/azure/validate.js +0 -626
  244. package/autopm/.claude/scripts/azure/validate.sh +0 -20
  245. package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
  246. package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
  247. package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
  248. package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
  249. package/bin/node/azure-feature-show.js +0 -7
  250. /package/{autopm/.claude/agents/cloud → packages/plugin-ai/agents}/gemini-api-expert.md +0 -0
  251. /package/{autopm/.claude/agents/data → packages/plugin-ai/agents}/langgraph-workflow-expert.md +0 -0
  252. /package/{autopm/.claude/agents/cloud → packages/plugin-ai/agents}/openai-python-expert.md +0 -0
  253. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/README.md +0 -0
  254. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/aws-cloud-architect.md +0 -0
  255. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/azure-cloud-architect.md +0 -0
  256. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/gcp-cloud-architect.md +0 -0
  257. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/gcp-cloud-functions-engineer.md +0 -0
  258. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/kubernetes-orchestrator.md +0 -0
  259. /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/terraform-infrastructure-expert.md +0 -0
  260. /package/{autopm/.claude/commands/cloud → packages/plugin-cloud/commands}/infra-deploy.md +0 -0
  261. /package/{autopm/.claude/commands/kubernetes/deploy.md → packages/plugin-cloud/commands/k8s-deploy.md} +0 -0
  262. /package/{autopm/.claude/commands/infrastructure → packages/plugin-cloud/commands}/ssh-security.md +0 -0
  263. /package/{autopm/.claude/commands/infrastructure → packages/plugin-cloud/commands}/traefik-setup.md +0 -0
  264. /package/{autopm/.claude → packages/plugin-cloud}/rules/infrastructure-pipeline.md +0 -0
  265. /package/{autopm/.claude → packages/plugin-core}/agents/core/agent-manager.md +0 -0
  266. /package/{autopm/.claude → packages/plugin-core}/agents/core/code-analyzer.md +0 -0
  267. /package/{autopm/.claude → packages/plugin-core}/agents/core/file-analyzer.md +0 -0
  268. /package/{autopm/.claude → packages/plugin-core}/agents/core/test-runner.md +0 -0
  269. /package/{autopm/.claude → packages/plugin-core}/rules/ai-integration-patterns.md +0 -0
  270. /package/{autopm/.claude → packages/plugin-core}/rules/performance-guidelines.md +0 -0
  271. /package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/README.md +0 -0
  272. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/README.md +0 -0
  273. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/azure-devops-specialist.md +0 -0
  274. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/docker-containerization-expert.md +0 -0
  275. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/mcp-context-manager.md +0 -0
  276. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/observability-engineer.md +0 -0
  277. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/ssh-operations-expert.md +0 -0
  278. /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/traefik-proxy-expert.md +0 -0
  279. /package/{autopm/.claude/commands/github → packages/plugin-devops/commands}/workflow-create.md +0 -0
  280. /package/{autopm/.claude → packages/plugin-devops}/rules/ci-cd-kubernetes-strategy.md +0 -0
  281. /package/{autopm/.claude → packages/plugin-devops}/rules/devops-troubleshooting-playbook.md +0 -0
  282. /package/{autopm/.claude → packages/plugin-devops}/rules/docker-first-development.md +0 -0
  283. /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/README.md +0 -0
  284. /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/nats-messaging-expert.md +0 -0
  285. /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/react-ui-expert.md +0 -0
  286. /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/ux-design-expert.md +0 -0
  287. /package/{autopm/.claude/commands/react → packages/plugin-frameworks/commands}/app-scaffold.md +0 -0
  288. /package/{autopm/.claude/commands/ui → packages/plugin-frameworks/commands}/tailwind-system.md +0 -0
  289. /package/{autopm/.claude → packages/plugin-frameworks}/rules/ui-development-standards.md +0 -0
  290. /package/{autopm/.claude → packages/plugin-frameworks}/rules/ui-framework-rules.md +0 -0
  291. /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/README.md +0 -0
  292. /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/bash-scripting-expert.md +0 -0
  293. /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/javascript-frontend-engineer.md +0 -0
  294. /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/nodejs-backend-engineer.md +0 -0
  295. /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/python-backend-engineer.md +0 -0
  296. /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/python-backend-expert.md +0 -0
  297. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/COMMANDS.md +0 -0
  298. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/COMMAND_MAPPING.md +0 -0
  299. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/INTEGRATION_FIX.md +0 -0
  300. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/README.md +0 -0
  301. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/active-work.md +0 -0
  302. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/aliases.md +0 -0
  303. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/blocked-items.md +0 -0
  304. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/clean.md +0 -0
  305. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/docs-query.md +0 -0
  306. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-decompose.md +0 -0
  307. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-list.md +0 -0
  308. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-new.md +0 -0
  309. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-show.md +0 -0
  310. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-start.md +0 -0
  311. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/fix-integration-example.md +0 -0
  312. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/help.md +0 -0
  313. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/import-us.md +0 -0
  314. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/init.md +0 -0
  315. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/next-task.md +0 -0
  316. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/search.md +0 -0
  317. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/sprint-status.md +0 -0
  318. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/standup.md +0 -0
  319. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/sync-all.md +0 -0
  320. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-analyze.md +0 -0
  321. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-close.md +0 -0
  322. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-edit.md +0 -0
  323. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-list.md +0 -0
  324. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-new.md +0 -0
  325. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-reopen.md +0 -0
  326. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-show.md +0 -0
  327. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-start.md +0 -0
  328. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-status.md +0 -0
  329. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-sync.md +0 -0
  330. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-edit.md +0 -0
  331. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-list.md +0 -0
  332. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-new.md +0 -0
  333. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-parse.md +0 -0
  334. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-show.md +0 -0
  335. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-status.md +0 -0
  336. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/validate.md +0 -0
  337. /package/{autopm/.claude → packages/plugin-pm}/commands/azure/work-item-sync.md +0 -0
  338. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/blocked.md +0 -0
  339. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/clean.md +0 -0
  340. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-create.md +0 -0
  341. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-prime.md +0 -0
  342. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-update.md +0 -0
  343. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context.md +0 -0
  344. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-close.md +0 -0
  345. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-decompose.md +0 -0
  346. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-edit.md +0 -0
  347. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-list.md +0 -0
  348. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-merge.md +0 -0
  349. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-oneshot.md +0 -0
  350. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-refresh.md +0 -0
  351. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-show.md +0 -0
  352. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-split.md +0 -0
  353. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-start.md +0 -0
  354. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-status.md +0 -0
  355. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync-modular.md +0 -0
  356. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync-original.md +0 -0
  357. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync.md +0 -0
  358. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/help.md +0 -0
  359. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/import.md +0 -0
  360. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/in-progress.md +0 -0
  361. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/init.md +0 -0
  362. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-analyze.md +0 -0
  363. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-close.md +0 -0
  364. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-edit.md +0 -0
  365. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-reopen.md +0 -0
  366. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-show.md +0 -0
  367. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-start.md +0 -0
  368. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-status.md +0 -0
  369. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-sync.md +0 -0
  370. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/next.md +0 -0
  371. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-edit.md +0 -0
  372. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-list.md +0 -0
  373. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-new.md +0 -0
  374. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-parse.md +0 -0
  375. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-status.md +0 -0
  376. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/search.md +0 -0
  377. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/standup.md +0 -0
  378. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/status.md +0 -0
  379. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/sync.md +0 -0
  380. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/test-reference-update.md +0 -0
  381. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/validate.md +0 -0
  382. /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/what-next.md +0 -0
  383. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/analytics.js +0 -0
  384. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/blocked.js +0 -0
  385. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/blocked.sh +0 -0
  386. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/clean.js +0 -0
  387. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-create.js +0 -0
  388. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-prime.js +0 -0
  389. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-update.js +0 -0
  390. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context.js +0 -0
  391. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-close.js +0 -0
  392. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-edit.js +0 -0
  393. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-list.js +0 -0
  394. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-list.sh +0 -0
  395. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-show.js +0 -0
  396. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-show.sh +0 -0
  397. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-split.js +0 -0
  398. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-start/epic-start.js +0 -0
  399. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-start/epic-start.sh +0 -0
  400. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-status.js +0 -0
  401. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-status.sh +0 -0
  402. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/README.md +0 -0
  403. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/create-epic-issue.sh +0 -0
  404. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/create-task-issues.sh +0 -0
  405. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/update-epic-file.sh +0 -0
  406. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/update-references.sh +0 -0
  407. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync.sh +0 -0
  408. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/help.js +0 -0
  409. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/help.sh +0 -0
  410. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/in-progress.js +0 -0
  411. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/in-progress.sh +0 -0
  412. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/init.js +0 -0
  413. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/init.sh +0 -0
  414. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-close.js +0 -0
  415. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-edit.js +0 -0
  416. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-show.js +0 -0
  417. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-start.js +0 -0
  418. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/format-comment.sh +0 -0
  419. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/gather-updates.sh +0 -0
  420. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/post-comment.sh +0 -0
  421. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/preflight-validation.sh +0 -0
  422. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/update-frontmatter.sh +0 -0
  423. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/README.md +0 -0
  424. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/epic-discovery.js +0 -0
  425. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/logger.js +0 -0
  426. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/next.js +0 -0
  427. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/next.sh +0 -0
  428. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/optimize.js +0 -0
  429. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/pr-create.js +0 -0
  430. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/pr-list.js +0 -0
  431. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-list.js +0 -0
  432. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-list.sh +0 -0
  433. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-new.js +0 -0
  434. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-parse.js +0 -0
  435. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-status.js +0 -0
  436. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-status.sh +0 -0
  437. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/release.js +0 -0
  438. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/search.js +0 -0
  439. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/search.sh +0 -0
  440. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/standup.js +0 -0
  441. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/standup.sh +0 -0
  442. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/status.js +0 -0
  443. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/status.sh +0 -0
  444. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/sync-batch.js +0 -0
  445. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/sync.js +0 -0
  446. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/template-list.js +0 -0
  447. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/template-new.js +0 -0
  448. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/validate.js +0 -0
  449. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/validate.sh +0 -0
  450. /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/what-next.js +0 -0
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env bash
2
+ # SSH key generation and setup with best practices
3
+ # Usage: ./ssh-key-setup.sh [key-name] [email]
4
+
5
+ set -euo pipefail
6
+
7
+ KEY_NAME="${1:-id_ed25519}"
8
+ EMAIL="${2:-user@example.com}"
9
+ SSH_DIR="${HOME}/.ssh"
10
+ KEY_PATH="${SSH_DIR}/${KEY_NAME}"
11
+
12
+ echo "🔐 Setting up SSH key: ${KEY_NAME}..."
13
+
14
+ # Create .ssh directory if it doesn't exist
15
+ mkdir -p "${SSH_DIR}"
16
+ chmod 700 "${SSH_DIR}"
17
+
18
+ # Check if key already exists
19
+ if [ -f "${KEY_PATH}" ]; then
20
+ echo "⚠️ Key already exists: ${KEY_PATH}"
21
+ read -p "Overwrite? (y/N): " -n 1 -r
22
+ echo
23
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
24
+ echo "Aborted."
25
+ exit 1
26
+ fi
27
+ fi
28
+
29
+ # Generate ED25519 key (recommended for security and performance)
30
+ echo "🔑 Generating ED25519 SSH key..."
31
+ ssh-keygen -t ed25519 -C "${EMAIL}" -f "${KEY_PATH}" -N ""
32
+
33
+ # Set proper permissions
34
+ chmod 600 "${KEY_PATH}"
35
+ chmod 644 "${KEY_PATH}.pub"
36
+
37
+ echo "✅ SSH key generated successfully"
38
+ echo ""
39
+ echo "📋 Public key:"
40
+ cat "${KEY_PATH}.pub"
41
+
42
+ # Add to SSH agent
43
+ echo ""
44
+ echo "🔧 Adding key to SSH agent..."
45
+ eval "$(ssh-agent -s)"
46
+ ssh-add "${KEY_PATH}"
47
+
48
+ # Create/update SSH config
49
+ CONFIG_FILE="${SSH_DIR}/config"
50
+ if [ ! -f "${CONFIG_FILE}" ]; then
51
+ echo "📝 Creating SSH config file..."
52
+ cat > "${CONFIG_FILE}" <<EOF
53
+ # SSH Config
54
+ # Use this key by default
55
+ Host *
56
+ IdentityFile ${KEY_PATH}
57
+ AddKeysToAgent yes
58
+ UseKeychain yes
59
+ EOF
60
+ chmod 600 "${CONFIG_FILE}"
61
+ echo "✅ SSH config created: ${CONFIG_FILE}"
62
+ fi
63
+
64
+ echo ""
65
+ echo "✅ SSH key setup complete!"
66
+ echo ""
67
+ echo "📋 Next steps:"
68
+ echo "1. Copy the public key above and add it to:"
69
+ echo " - GitHub: https://github.com/settings/keys"
70
+ echo " - GitLab: https://gitlab.com/-/profile/keys"
71
+ echo " - Your server's ~/.ssh/authorized_keys"
72
+ echo ""
73
+ echo "2. Test the connection:"
74
+ echo " ssh -T git@github.com"
@@ -0,0 +1,309 @@
1
+ # @claudeautopm/plugin-frameworks
2
+
3
+ Frontend and backend framework specialists for React, Next.js, Vue, Angular, and more.
4
+
5
+ **Version**: 2.0.0 | **Schema**: 2.0 | **Context7-Verified**: ✅
6
+
7
+ Complete frontend and UX framework plugin with Context7-verified React, Tailwind CSS, and Playwright patterns. Production-ready agents with up-to-date best practices from official documentation.
8
+
9
+ ## 📦 Installation
10
+
11
+ ```bash
12
+ # Install the plugin package
13
+ npm install @claudeautopm/plugin-frameworks
14
+
15
+ # Or install globally
16
+ npm install -g @claudeautopm/plugin-frameworks
17
+ ```
18
+
19
+ ## Context7 Integration
20
+
21
+ This plugin uses Context7 MCP server to ensure all patterns follow the latest official documentation:
22
+
23
+ **Libraries Verified**:
24
+ - **React**: `/reactjs/react.dev` (2,404 snippets, trust 10.0)
25
+ - **Tailwind CSS**: `/tailwindlabs/tailwindcss.com` (1,769 snippets, trust 10.0)
26
+ - **Playwright**: `/microsoft/playwright` (2,103 snippets, trust 9.9)
27
+
28
+ All code examples, patterns, and best practices are verified against current official documentation to prevent outdated implementations.
29
+
30
+ ## 🤖 Agents Included
31
+
32
+ ### Frontend Frameworks
33
+ - **react-frontend-engineer** - React application development
34
+ - React 18+ features (Suspense, Concurrent Mode)
35
+ - Hooks and custom hook patterns
36
+ - State management (Context, Redux, Zustand)
37
+ - Performance optimization
38
+
39
+ - **react-ui-expert** - React UI component development
40
+ - Component architecture and patterns
41
+ - Props and composition patterns
42
+ - Accessibility (a11y) best practices
43
+ - Component libraries integration
44
+
45
+ - **tailwindcss-expert** - Tailwind CSS styling
46
+ - Utility-first CSS approach
47
+ - Custom theme configuration
48
+ - Responsive design patterns
49
+ - Plugin development
50
+
51
+ ### Design & UX
52
+ - **ux-design-expert** - User experience and interface design
53
+ - User research and personas
54
+ - Information architecture
55
+ - Wireframing and prototyping
56
+ - Usability testing
57
+
58
+ ### Testing
59
+ - **e2e-test-engineer** - End-to-end testing
60
+ - Playwright and Cypress
61
+ - Visual regression testing
62
+ - Test automation strategies
63
+ - CI/CD integration
64
+
65
+ ### Messaging & Communication
66
+ - **nats-messaging-expert** - NATS messaging system
67
+ - Pub/Sub patterns
68
+ - Request/Reply patterns
69
+ - JetStream persistence
70
+ - Microservices communication
71
+
72
+ ## 💡 Usage
73
+
74
+ ### In Claude Code
75
+
76
+ After installation, agents are available in your project:
77
+
78
+ ```markdown
79
+ <!-- CLAUDE.md -->
80
+ ## Active Team Agents
81
+
82
+ <!-- Load framework agents -->
83
+ - @include .claude/agents/frameworks/react-frontend-engineer.md
84
+ - @include .claude/agents/frameworks/tailwindcss-expert.md
85
+ ```
86
+
87
+ Or use `autopm team load` to automatically include agents:
88
+
89
+ ```bash
90
+ # Load framework-focused team
91
+ autopm team load frameworks
92
+
93
+ # Or include frameworks in fullstack team
94
+ autopm team load fullstack
95
+ ```
96
+
97
+ ### Direct Invocation
98
+
99
+ ```bash
100
+ # Invoke agent directly from CLI
101
+ autopm agent invoke react-frontend-engineer "Build product catalog component"
102
+ ```
103
+
104
+ ## 📋 Agent Capabilities
105
+
106
+ ### React Development
107
+ - Modern React patterns and best practices
108
+ - State management strategies
109
+ - Performance optimization techniques
110
+ - Server-side rendering (SSR/SSG)
111
+
112
+ ### UI/UX Design
113
+ - Responsive component design
114
+ - Accessibility compliance
115
+ - Design system implementation
116
+ - User-centered design principles
117
+
118
+ ### Testing Strategies
119
+ - Component testing
120
+ - Integration testing
121
+ - E2E test automation
122
+ - Visual regression testing
123
+
124
+ ### Styling Solutions
125
+ - Utility-first CSS with Tailwind
126
+ - CSS-in-JS approaches
127
+ - Responsive design
128
+ - Dark mode implementation
129
+
130
+ ## 🔌 MCP Servers
131
+
132
+ This plugin works with the following MCP servers for enhanced capabilities:
133
+
134
+ - **react-docs** - React documentation and API references
135
+ - **vue-docs** - Vue.js documentation and patterns
136
+
137
+ Enable MCP servers:
138
+
139
+ ```bash
140
+ autopm mcp enable react-docs
141
+ autopm mcp enable vue-docs
142
+ ```
143
+
144
+ ## 🚀 Examples
145
+
146
+ ### React Component Development
147
+
148
+ ```
149
+ @react-frontend-engineer
150
+
151
+ Build a product listing component with:
152
+
153
+ Requirements:
154
+ - Fetch data from REST API
155
+ - Loading and error states
156
+ - Pagination support
157
+ - Filter and sort functionality
158
+ - Responsive grid layout
159
+
160
+ Include:
161
+ 1. Component implementation with hooks
162
+ 2. Custom hooks for data fetching
163
+ 3. TypeScript types
164
+ 4. Unit tests with React Testing Library
165
+ ```
166
+
167
+ ### Tailwind UI Implementation
168
+
169
+ ```
170
+ @tailwindcss-expert
171
+
172
+ Create responsive navigation component:
173
+
174
+ Requirements:
175
+ - Mobile-first responsive design
176
+ - Dropdown menu support
177
+ - Dark mode toggle
178
+ - Accessible keyboard navigation
179
+ - Tailwind utility classes
180
+
181
+ Include:
182
+ 1. Component markup
183
+ 2. Tailwind configuration
184
+ 3. Custom theme extensions
185
+ 4. Accessibility features
186
+ ```
187
+
188
+ ### UX Design System
189
+
190
+ ```
191
+ @ux-design-expert
192
+
193
+ Design component library for SaaS dashboard:
194
+
195
+ Requirements:
196
+ - Consistent design language
197
+ - 8pt grid system
198
+ - Color palette and typography
199
+ - Component documentation
200
+ - Accessibility guidelines
201
+
202
+ Include:
203
+ 1. Design tokens
204
+ 2. Component specifications
205
+ 3. Usage guidelines
206
+ 4. Figma/Sketch templates
207
+ ```
208
+
209
+ ### E2E Testing Suite
210
+
211
+ ```
212
+ @e2e-test-engineer
213
+
214
+ Create E2E test suite for checkout flow:
215
+
216
+ Requirements:
217
+ - Playwright test framework
218
+ - Page Object Model pattern
219
+ - Cross-browser testing
220
+ - Visual regression tests
221
+ - CI/CD integration
222
+
223
+ Include:
224
+ 1. Test specifications
225
+ 2. Page object classes
226
+ 3. Test data fixtures
227
+ 4. GitHub Actions workflow
228
+ ```
229
+
230
+ ### NATS Microservices
231
+
232
+ ```
233
+ @nats-messaging-expert
234
+
235
+ Setup NATS messaging for microservices:
236
+
237
+ Requirements:
238
+ - Service discovery pattern
239
+ - Request/Reply for sync calls
240
+ - Pub/Sub for events
241
+ - JetStream for persistence
242
+ - Error handling and retry
243
+
244
+ Include:
245
+ 1. NATS connection setup
246
+ 2. Message patterns
247
+ 3. Service implementations
248
+ 4. Error handling strategies
249
+ ```
250
+
251
+ ## 🔧 Configuration
252
+
253
+ ### Environment Variables
254
+
255
+ Some agents benefit from environment variables:
256
+
257
+ ```bash
258
+ # API endpoints
259
+ export REACT_APP_API_URL=https://api.example.com
260
+
261
+ # Feature flags
262
+ export REACT_APP_ENABLE_DARK_MODE=true
263
+
264
+ # NATS configuration
265
+ export NATS_URL=nats://localhost:4222
266
+ ```
267
+
268
+ ### Agent Customization
269
+
270
+ You can customize agent behavior in `.claude/config.yaml`:
271
+
272
+ ```yaml
273
+ plugins:
274
+ frameworks:
275
+ react:
276
+ version: 18
277
+ prefer_typescript: true
278
+ state_management: zustand
279
+ tailwind:
280
+ prefix: tw-
281
+ important: true
282
+ testing:
283
+ framework: playwright
284
+ coverage_threshold: 80
285
+ ```
286
+
287
+ ## 📖 Documentation
288
+
289
+ - [React Frontend Engineer Guide](./agents/react-frontend-engineer.md)
290
+ - [React UI Expert Guide](./agents/react-ui-expert.md)
291
+ - [Tailwind CSS Expert Guide](./agents/tailwindcss-expert.md)
292
+ - [UX Design Expert Guide](./agents/ux-design-expert.md)
293
+ - [E2E Test Engineer Guide](./agents/e2e-test-engineer.md)
294
+ - [NATS Messaging Expert Guide](./agents/nats-messaging-expert.md)
295
+
296
+ ## 🤝 Contributing
297
+
298
+ Contributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
299
+
300
+ ## 📄 License
301
+
302
+ MIT © ClaudeAutoPM Team
303
+
304
+ ## 🔗 Links
305
+
306
+ - [ClaudeAutoPM](https://github.com/rafeekpro/ClaudeAutoPM)
307
+ - [Plugin Documentation](https://github.com/rafeekpro/ClaudeAutoPM/blob/main/docs/PLUGIN-IMPLEMENTATION-PLAN.md)
308
+ - [npm Package](https://www.npmjs.com/package/@claudeautopm/plugin-frameworks)
309
+ - [Issues](https://github.com/rafeekpro/ClaudeAutoPM/issues)
@@ -343,6 +343,225 @@ const metrics = await page.evaluate(() => performance.toJSON());
343
343
  expect(metrics.timing.loadEventEnd).toBeLessThan(3000);
344
344
  ```
345
345
 
346
+ ## Context7-Verified Playwright Patterns
347
+
348
+ **Source**: `/microsoft/playwright` (2,103 snippets, trust 9.9)
349
+
350
+ ### ✅ CORRECT: Web-First Assertions (Auto-Retry)
351
+
352
+ Always use Playwright's web-first assertions that automatically retry:
353
+
354
+ ```javascript
355
+ // ✅ Good: Automatically waits and retries until element is visible
356
+ await expect(page.getByText('welcome')).toBeVisible();
357
+
358
+ // ✅ Good: Automatically waits for text match
359
+ await expect(page.getByTestId('status')).toHaveText('Success');
360
+
361
+ // ❌ Bad: No waiting or retry - immediate check
362
+ expect(await page.getByText('welcome').isVisible()).toBe(true);
363
+ ```
364
+
365
+ ### ✅ CORRECT: Mock Third-Party APIs
366
+
367
+ Intercept external dependencies for reliable, fast tests:
368
+
369
+ ```javascript
370
+ await page.route('**/api/fetch_data_third_party_dependency', route => route.fulfill({
371
+ status: 200,
372
+ body: testData,
373
+ }));
374
+ await page.goto('https://example.com');
375
+ ```
376
+
377
+ ### ✅ CORRECT: Test Isolation with beforeEach
378
+
379
+ Use `test.beforeEach` for setup ensuring each test starts fresh:
380
+
381
+ ```javascript
382
+ import { test } from '@playwright/test';
383
+
384
+ test.beforeEach(async ({ page }) => {
385
+ // Runs before each test and signs in each page
386
+ await page.goto('https://github.com/login');
387
+ await page.getByLabel('Username or email address').fill('username');
388
+ await page.getByLabel('Password').fill('password');
389
+ await page.getByRole('button', { name: 'Sign in' }).click();
390
+ });
391
+
392
+ test('first', async ({ page }) => {
393
+ // page is signed in
394
+ });
395
+
396
+ test('second', async ({ page }) => {
397
+ // page is signed in (independent of first test)
398
+ });
399
+ ```
400
+
401
+ ### ✅ CORRECT: Soft Assertions
402
+
403
+ Continue test execution after assertion failures to collect all errors:
404
+
405
+ ```javascript
406
+ // Make a few checks that won't stop test when failed...
407
+ await expect.soft(page.getByTestId('status')).toHaveText('Success');
408
+ await expect.soft(page.getByTestId('count')).toHaveText('5');
409
+
410
+ // ... and continue the test to check more things
411
+ await page.getByRole('link', { name: 'next page' }).click();
412
+ ```
413
+
414
+ ### ✅ CORRECT: User-Facing Locators (getByRole)
415
+
416
+ Prefer user-facing attributes over DOM structure:
417
+
418
+ ```javascript
419
+ // ✅ Good: Uses accessible roles - resilient to DOM changes
420
+ page.getByRole('button', { name: 'submit' });
421
+ page.getByRole('link', { name: 'Get started' });
422
+
423
+ // ✅ Good: Filter within context
424
+ const product = page.getByRole('listitem').filter({ hasText: 'Product 2' });
425
+
426
+ // ❌ Avoid: Brittle CSS selectors tied to DOM structure
427
+ page.locator('#submit-button');
428
+ page.locator('.nav > li:nth-child(2) > a');
429
+ ```
430
+
431
+ ### ✅ CORRECT: Parallel Test Execution
432
+
433
+ Configure tests to run in parallel for speed:
434
+
435
+ ```javascript
436
+ import { test } from '@playwright/test';
437
+
438
+ // Run tests within this file in parallel
439
+ test.describe.configure({ mode: 'parallel' });
440
+
441
+ test('runs in parallel 1', async ({ page }) => { /* ... */ });
442
+ test('runs in parallel 2', async ({ page }) => { /* ... */ });
443
+ ```
444
+
445
+ ### ✅ CORRECT: Sharding for Multiple Machines
446
+
447
+ Distribute test suite across multiple CI machines:
448
+
449
+ ```bash
450
+ # Machine 1 of 3
451
+ npx playwright test --shard=1/3
452
+
453
+ # Machine 2 of 3
454
+ npx playwright test --shard=2/3
455
+
456
+ # Machine 3 of 3
457
+ npx playwright test --shard=3/3
458
+ ```
459
+
460
+ ### ✅ CORRECT: Debug Mode
461
+
462
+ Run tests in headed mode with Playwright Inspector:
463
+
464
+ ```bash
465
+ # Debug all tests
466
+ npx playwright test --debug
467
+
468
+ # Debug specific test file
469
+ npx playwright test auth.spec.ts --debug
470
+
471
+ # Debug specific test by line number
472
+ npx playwright test auth.spec.ts:42 --debug
473
+ ```
474
+
475
+ ### ✅ CORRECT: Page Fixture for Test Isolation
476
+
477
+ Each test gets isolated `BrowserContext` through `page` fixture:
478
+
479
+ ```python
480
+ # Python example
481
+ from playwright.sync_api import Page
482
+
483
+ def test_example_test(page: Page):
484
+ # "page" belongs to an isolated BrowserContext for this specific test
485
+ pass
486
+
487
+ def test_another_test(page: Page):
488
+ # "page" in this second test is completely isolated from the first test
489
+ pass
490
+ ```
491
+
492
+ ```javascript
493
+ // JavaScript/TypeScript example
494
+ test('first test', async ({ page }) => {
495
+ // page is isolated
496
+ });
497
+
498
+ test('second test', async ({ page }) => {
499
+ // completely different page instance
500
+ });
501
+ ```
502
+
503
+ ### ✅ CORRECT: Comprehensive Test Structure (C#)
504
+
505
+ Complete test examples for different frameworks:
506
+
507
+ ```csharp
508
+ // NUnit example
509
+ using Microsoft.Playwright.NUnit;
510
+
511
+ [Parallelizable(ParallelScope.Self)]
512
+ [TestFixture]
513
+ public class ExampleTest : PageTest
514
+ {
515
+ [Test]
516
+ public async Task HasTitle()
517
+ {
518
+ await Page.GotoAsync("https://playwright.dev");
519
+ await Expect(Page).ToHaveTitleAsync(new Regex("Playwright"));
520
+ }
521
+
522
+ [Test]
523
+ public async Task GetStartedLink()
524
+ {
525
+ await Page.GotoAsync("https://playwright.dev");
526
+ await Page.GetByRole(AriaRole.Link, new() { Name = "Get started" }).ClickAsync();
527
+ await Expect(Page.GetByRole(AriaRole.Heading, new() { Name = "Installation" })).ToBeVisibleAsync();
528
+ }
529
+ }
530
+ ```
531
+
532
+ ### Performance Best Practices
533
+
534
+ 1. **Mock External Dependencies**: Prevents flakiness and speeds up tests
535
+ 2. **Use Auto-Waiting**: Playwright waits automatically before actions
536
+ 3. **Parallel Execution**: Run tests concurrently where possible
537
+ 4. **Test Isolation**: Each test should be independent (use beforeEach)
538
+ 5. **Sharding**: Distribute tests across multiple CI machines
539
+ 6. **Soft Assertions**: Collect all failures in a single test run
540
+ 7. **User-Facing Locators**: More resilient to UI changes
541
+
542
+ ### Anti-Patterns to Avoid
543
+
544
+ ```javascript
545
+ // ❌ Don't use manual isVisible() checks
546
+ expect(await page.getByText('welcome').isVisible()).toBe(true);
547
+
548
+ // ✅ Use web-first assertions instead
549
+ await expect(page.getByText('welcome')).toBeVisible();
550
+
551
+ // ❌ Don't use brittle CSS selectors
552
+ page.locator('#submit');
553
+
554
+ // ✅ Use accessible roles
555
+ page.getByRole('button', { name: 'Submit' });
556
+
557
+ // ❌ Don't use fixed delays
558
+ await page.waitForTimeout(5000);
559
+
560
+ // ✅ Use smart waits
561
+ await page.waitForSelector('.loaded');
562
+ await expect(page.getByTestId('status')).toHaveText('Ready');
563
+ ```
564
+
346
565
  ## Self-Verification Protocol
347
566
 
348
567
  Before delivering any solution, verify: