claude-autopm 2.8.2 → 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 (390) hide show
  1. package/README.md +399 -637
  2. package/package.json +2 -1
  3. package/packages/plugin-ai/LICENSE +21 -0
  4. package/packages/plugin-ai/README.md +316 -0
  5. package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
  6. package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
  7. package/packages/plugin-ai/agents/gemini-api-expert.md +880 -0
  8. package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
  9. package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
  10. package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
  11. package/packages/plugin-ai/agents/langgraph-workflow-expert.md +520 -0
  12. package/packages/plugin-ai/agents/openai-python-expert.md +1087 -0
  13. package/packages/plugin-ai/commands/a2a-setup.md +886 -0
  14. package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
  15. package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
  16. package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
  17. package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
  18. package/packages/plugin-ai/commands/llm-optimize.md +348 -0
  19. package/packages/plugin-ai/commands/openai-optimize.md +863 -0
  20. package/packages/plugin-ai/commands/rag-optimize.md +841 -0
  21. package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
  22. package/packages/plugin-ai/package.json +66 -0
  23. package/packages/plugin-ai/plugin.json +519 -0
  24. package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
  25. package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
  26. package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
  27. package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
  28. package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
  29. package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
  30. package/packages/plugin-cloud/README.md +268 -0
  31. package/packages/plugin-cloud/agents/README.md +55 -0
  32. package/packages/plugin-cloud/agents/aws-cloud-architect.md +521 -0
  33. package/packages/plugin-cloud/agents/azure-cloud-architect.md +436 -0
  34. package/packages/plugin-cloud/agents/gcp-cloud-architect.md +385 -0
  35. package/packages/plugin-cloud/agents/gcp-cloud-functions-engineer.md +306 -0
  36. package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
  37. package/packages/plugin-cloud/agents/kubernetes-orchestrator.md +566 -0
  38. package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
  39. package/packages/plugin-cloud/agents/terraform-infrastructure-expert.md +454 -0
  40. package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
  41. package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
  42. package/packages/plugin-cloud/commands/infra-deploy.md +38 -0
  43. package/packages/plugin-cloud/commands/k8s-deploy.md +37 -0
  44. package/packages/plugin-cloud/commands/ssh-security.md +65 -0
  45. package/packages/plugin-cloud/commands/traefik-setup.md +65 -0
  46. package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
  47. package/packages/plugin-cloud/package.json +64 -0
  48. package/packages/plugin-cloud/plugin.json +338 -0
  49. package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
  50. package/packages/plugin-cloud/rules/infrastructure-pipeline.md +128 -0
  51. package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
  52. package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
  53. package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
  54. package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
  55. package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
  56. package/packages/plugin-core/README.md +274 -0
  57. package/packages/plugin-core/agents/core/agent-manager.md +296 -0
  58. package/packages/plugin-core/agents/core/code-analyzer.md +131 -0
  59. package/packages/plugin-core/agents/core/file-analyzer.md +162 -0
  60. package/packages/plugin-core/agents/core/test-runner.md +200 -0
  61. package/packages/plugin-core/commands/code-rabbit.md +128 -0
  62. package/packages/plugin-core/commands/prompt.md +9 -0
  63. package/packages/plugin-core/commands/re-init.md +9 -0
  64. package/packages/plugin-core/hooks/context7-reminder.md +29 -0
  65. package/packages/plugin-core/hooks/enforce-agents.js +125 -0
  66. package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
  67. package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
  68. package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
  69. package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
  70. package/packages/plugin-core/hooks/test-hook.sh +21 -0
  71. package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
  72. package/packages/plugin-core/package.json +45 -0
  73. package/packages/plugin-core/plugin.json +387 -0
  74. package/packages/plugin-core/rules/agent-coordination.md +549 -0
  75. package/packages/plugin-core/rules/agent-mandatory.md +170 -0
  76. package/packages/plugin-core/rules/ai-integration-patterns.md +219 -0
  77. package/packages/plugin-core/rules/command-pipelines.md +208 -0
  78. package/packages/plugin-core/rules/context-optimization.md +176 -0
  79. package/packages/plugin-core/rules/context7-enforcement.md +327 -0
  80. package/packages/plugin-core/rules/datetime.md +122 -0
  81. package/packages/plugin-core/rules/definition-of-done.md +272 -0
  82. package/packages/plugin-core/rules/development-environments.md +19 -0
  83. package/packages/plugin-core/rules/development-workflow.md +198 -0
  84. package/packages/plugin-core/rules/framework-path-rules.md +180 -0
  85. package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
  86. package/packages/plugin-core/rules/git-strategy.md +237 -0
  87. package/packages/plugin-core/rules/golden-rules.md +181 -0
  88. package/packages/plugin-core/rules/naming-conventions.md +111 -0
  89. package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
  90. package/packages/plugin-core/rules/performance-guidelines.md +403 -0
  91. package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
  92. package/packages/plugin-core/rules/security-checklist.md +318 -0
  93. package/packages/plugin-core/rules/standard-patterns.md +197 -0
  94. package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
  95. package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
  96. package/packages/plugin-core/rules/use-ast-grep.md +113 -0
  97. package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
  98. package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
  99. package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
  100. package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
  101. package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
  102. package/packages/plugin-core/scripts/mcp/add.sh +7 -0
  103. package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
  104. package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
  105. package/packages/plugin-core/scripts/mcp/list.sh +7 -0
  106. package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
  107. package/packages/plugin-data/README.md +315 -0
  108. package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
  109. package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
  110. package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
  111. package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
  112. package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
  113. package/packages/plugin-data/package.json +66 -0
  114. package/packages/plugin-data/plugin.json +294 -0
  115. package/packages/plugin-data/rules/data-quality-standards.md +373 -0
  116. package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
  117. package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
  118. package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
  119. package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
  120. package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
  121. package/packages/plugin-databases/README.md +330 -0
  122. package/packages/plugin-databases/agents/README.md +50 -0
  123. package/packages/plugin-databases/agents/bigquery-expert.md +401 -0
  124. package/packages/plugin-databases/agents/cosmosdb-expert.md +375 -0
  125. package/packages/plugin-databases/agents/mongodb-expert.md +407 -0
  126. package/packages/plugin-databases/agents/postgresql-expert.md +329 -0
  127. package/packages/plugin-databases/agents/redis-expert.md +74 -0
  128. package/packages/plugin-databases/commands/db-optimize.md +612 -0
  129. package/packages/plugin-databases/package.json +60 -0
  130. package/packages/plugin-databases/plugin.json +237 -0
  131. package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
  132. package/packages/plugin-databases/rules/database-pipeline.md +316 -0
  133. package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
  134. package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
  135. package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
  136. package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
  137. package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
  138. package/packages/plugin-devops/README.md +367 -0
  139. package/packages/plugin-devops/agents/README.md +52 -0
  140. package/packages/plugin-devops/agents/azure-devops-specialist.md +308 -0
  141. package/packages/plugin-devops/agents/docker-containerization-expert.md +298 -0
  142. package/packages/plugin-devops/agents/github-operations-specialist.md +335 -0
  143. package/packages/plugin-devops/agents/mcp-context-manager.md +319 -0
  144. package/packages/plugin-devops/agents/observability-engineer.md +574 -0
  145. package/packages/plugin-devops/agents/ssh-operations-expert.md +1093 -0
  146. package/packages/plugin-devops/agents/traefik-proxy-expert.md +444 -0
  147. package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
  148. package/packages/plugin-devops/commands/docker-optimize.md +493 -0
  149. package/packages/plugin-devops/commands/workflow-create.md +42 -0
  150. package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
  151. package/packages/plugin-devops/package.json +61 -0
  152. package/packages/plugin-devops/plugin.json +302 -0
  153. package/packages/plugin-devops/rules/ci-cd-kubernetes-strategy.md +25 -0
  154. package/packages/plugin-devops/rules/devops-troubleshooting-playbook.md +450 -0
  155. package/packages/plugin-devops/rules/docker-first-development.md +404 -0
  156. package/packages/plugin-devops/rules/github-operations.md +92 -0
  157. package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
  158. package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
  159. package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
  160. package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
  161. package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
  162. package/packages/plugin-frameworks/README.md +309 -0
  163. package/packages/plugin-frameworks/agents/README.md +64 -0
  164. package/packages/plugin-frameworks/agents/e2e-test-engineer.md +579 -0
  165. package/packages/plugin-frameworks/agents/nats-messaging-expert.md +254 -0
  166. package/packages/plugin-frameworks/agents/react-frontend-engineer.md +393 -0
  167. package/packages/plugin-frameworks/agents/react-ui-expert.md +226 -0
  168. package/packages/plugin-frameworks/agents/tailwindcss-expert.md +1021 -0
  169. package/packages/plugin-frameworks/agents/ux-design-expert.md +244 -0
  170. package/packages/plugin-frameworks/commands/app-scaffold.md +50 -0
  171. package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
  172. package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
  173. package/packages/plugin-frameworks/commands/tailwind-system.md +64 -0
  174. package/packages/plugin-frameworks/package.json +59 -0
  175. package/packages/plugin-frameworks/plugin.json +224 -0
  176. package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
  177. package/packages/plugin-frameworks/rules/ui-development-standards.md +281 -0
  178. package/packages/plugin-frameworks/rules/ui-framework-rules.md +151 -0
  179. package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
  180. package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
  181. package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
  182. package/packages/plugin-languages/README.md +333 -0
  183. package/packages/plugin-languages/agents/README.md +50 -0
  184. package/packages/plugin-languages/agents/bash-scripting-expert.md +541 -0
  185. package/packages/plugin-languages/agents/javascript-frontend-engineer.md +197 -0
  186. package/packages/plugin-languages/agents/nodejs-backend-engineer.md +226 -0
  187. package/packages/plugin-languages/agents/python-backend-engineer.md +214 -0
  188. package/packages/plugin-languages/agents/python-backend-expert.md +289 -0
  189. package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
  190. package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
  191. package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
  192. package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
  193. package/packages/plugin-languages/commands/python-optimize.md +593 -0
  194. package/packages/plugin-languages/package.json +65 -0
  195. package/packages/plugin-languages/plugin.json +265 -0
  196. package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
  197. package/packages/plugin-languages/rules/testing-standards.md +768 -0
  198. package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
  199. package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
  200. package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
  201. package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
  202. package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
  203. package/packages/plugin-ml/README.md +430 -0
  204. package/packages/plugin-ml/agents/automl-expert.md +326 -0
  205. package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
  206. package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
  207. package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
  208. package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
  209. package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
  210. package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
  211. package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
  212. package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
  213. package/packages/plugin-ml/agents/time-series-expert.md +303 -0
  214. package/packages/plugin-ml/commands/ml-automl.md +572 -0
  215. package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
  216. package/packages/plugin-ml/package.json +52 -0
  217. package/packages/plugin-ml/plugin.json +338 -0
  218. package/packages/plugin-pm/README.md +368 -0
  219. package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
  220. package/packages/plugin-pm/commands/azure/COMMANDS.md +107 -0
  221. package/packages/plugin-pm/commands/azure/COMMAND_MAPPING.md +252 -0
  222. package/packages/plugin-pm/commands/azure/INTEGRATION_FIX.md +103 -0
  223. package/packages/plugin-pm/commands/azure/README.md +246 -0
  224. package/packages/plugin-pm/commands/azure/active-work.md +198 -0
  225. package/packages/plugin-pm/commands/azure/aliases.md +143 -0
  226. package/packages/plugin-pm/commands/azure/blocked-items.md +287 -0
  227. package/packages/plugin-pm/commands/azure/clean.md +93 -0
  228. package/packages/plugin-pm/commands/azure/docs-query.md +48 -0
  229. package/packages/plugin-pm/commands/azure/feature-decompose.md +380 -0
  230. package/packages/plugin-pm/commands/azure/feature-list.md +61 -0
  231. package/packages/plugin-pm/commands/azure/feature-new.md +115 -0
  232. package/packages/plugin-pm/commands/azure/feature-show.md +205 -0
  233. package/packages/plugin-pm/commands/azure/feature-start.md +130 -0
  234. package/packages/plugin-pm/commands/azure/fix-integration-example.md +93 -0
  235. package/packages/plugin-pm/commands/azure/help.md +150 -0
  236. package/packages/plugin-pm/commands/azure/import-us.md +269 -0
  237. package/packages/plugin-pm/commands/azure/init.md +211 -0
  238. package/packages/plugin-pm/commands/azure/next-task.md +262 -0
  239. package/packages/plugin-pm/commands/azure/search.md +160 -0
  240. package/packages/plugin-pm/commands/azure/sprint-status.md +235 -0
  241. package/packages/plugin-pm/commands/azure/standup.md +260 -0
  242. package/packages/plugin-pm/commands/azure/sync-all.md +99 -0
  243. package/packages/plugin-pm/commands/azure/task-analyze.md +186 -0
  244. package/packages/plugin-pm/commands/azure/task-close.md +329 -0
  245. package/packages/plugin-pm/commands/azure/task-edit.md +145 -0
  246. package/packages/plugin-pm/commands/azure/task-list.md +263 -0
  247. package/packages/plugin-pm/commands/azure/task-new.md +84 -0
  248. package/packages/plugin-pm/commands/azure/task-reopen.md +79 -0
  249. package/packages/plugin-pm/commands/azure/task-show.md +126 -0
  250. package/packages/plugin-pm/commands/azure/task-start.md +301 -0
  251. package/packages/plugin-pm/commands/azure/task-status.md +65 -0
  252. package/packages/plugin-pm/commands/azure/task-sync.md +67 -0
  253. package/packages/plugin-pm/commands/azure/us-edit.md +164 -0
  254. package/packages/plugin-pm/commands/azure/us-list.md +202 -0
  255. package/packages/plugin-pm/commands/azure/us-new.md +265 -0
  256. package/packages/plugin-pm/commands/azure/us-parse.md +253 -0
  257. package/packages/plugin-pm/commands/azure/us-show.md +188 -0
  258. package/packages/plugin-pm/commands/azure/us-status.md +320 -0
  259. package/packages/plugin-pm/commands/azure/validate.md +86 -0
  260. package/packages/plugin-pm/commands/azure/work-item-sync.md +47 -0
  261. package/packages/plugin-pm/commands/blocked.md +28 -0
  262. package/packages/plugin-pm/commands/clean.md +119 -0
  263. package/packages/plugin-pm/commands/context-create.md +136 -0
  264. package/packages/plugin-pm/commands/context-prime.md +170 -0
  265. package/packages/plugin-pm/commands/context-update.md +292 -0
  266. package/packages/plugin-pm/commands/context.md +28 -0
  267. package/packages/plugin-pm/commands/epic-close.md +86 -0
  268. package/packages/plugin-pm/commands/epic-decompose.md +370 -0
  269. package/packages/plugin-pm/commands/epic-edit.md +83 -0
  270. package/packages/plugin-pm/commands/epic-list.md +30 -0
  271. package/packages/plugin-pm/commands/epic-merge.md +222 -0
  272. package/packages/plugin-pm/commands/epic-oneshot.md +119 -0
  273. package/packages/plugin-pm/commands/epic-refresh.md +119 -0
  274. package/packages/plugin-pm/commands/epic-show.md +28 -0
  275. package/packages/plugin-pm/commands/epic-split.md +120 -0
  276. package/packages/plugin-pm/commands/epic-start.md +195 -0
  277. package/packages/plugin-pm/commands/epic-status.md +28 -0
  278. package/packages/plugin-pm/commands/epic-sync-modular.md +338 -0
  279. package/packages/plugin-pm/commands/epic-sync-original.md +473 -0
  280. package/packages/plugin-pm/commands/epic-sync.md +486 -0
  281. package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
  282. package/packages/plugin-pm/commands/help.md +28 -0
  283. package/packages/plugin-pm/commands/import.md +115 -0
  284. package/packages/plugin-pm/commands/in-progress.md +28 -0
  285. package/packages/plugin-pm/commands/init.md +28 -0
  286. package/packages/plugin-pm/commands/issue-analyze.md +202 -0
  287. package/packages/plugin-pm/commands/issue-close.md +119 -0
  288. package/packages/plugin-pm/commands/issue-edit.md +93 -0
  289. package/packages/plugin-pm/commands/issue-reopen.md +87 -0
  290. package/packages/plugin-pm/commands/issue-show.md +41 -0
  291. package/packages/plugin-pm/commands/issue-start.md +234 -0
  292. package/packages/plugin-pm/commands/issue-status.md +95 -0
  293. package/packages/plugin-pm/commands/issue-sync.md +411 -0
  294. package/packages/plugin-pm/commands/next.md +28 -0
  295. package/packages/plugin-pm/commands/prd-edit.md +82 -0
  296. package/packages/plugin-pm/commands/prd-list.md +28 -0
  297. package/packages/plugin-pm/commands/prd-new.md +55 -0
  298. package/packages/plugin-pm/commands/prd-parse.md +42 -0
  299. package/packages/plugin-pm/commands/prd-status.md +28 -0
  300. package/packages/plugin-pm/commands/search.md +28 -0
  301. package/packages/plugin-pm/commands/standup.md +28 -0
  302. package/packages/plugin-pm/commands/status.md +28 -0
  303. package/packages/plugin-pm/commands/sync.md +99 -0
  304. package/packages/plugin-pm/commands/test-reference-update.md +151 -0
  305. package/packages/plugin-pm/commands/validate.md +28 -0
  306. package/packages/plugin-pm/commands/what-next.md +28 -0
  307. package/packages/plugin-pm/package.json +57 -0
  308. package/packages/plugin-pm/plugin.json +503 -0
  309. package/packages/plugin-pm/scripts/pm/analytics.js +425 -0
  310. package/packages/plugin-pm/scripts/pm/blocked.js +164 -0
  311. package/packages/plugin-pm/scripts/pm/blocked.sh +78 -0
  312. package/packages/plugin-pm/scripts/pm/clean.js +464 -0
  313. package/packages/plugin-pm/scripts/pm/context-create.js +216 -0
  314. package/packages/plugin-pm/scripts/pm/context-prime.js +335 -0
  315. package/packages/plugin-pm/scripts/pm/context-update.js +344 -0
  316. package/packages/plugin-pm/scripts/pm/context.js +338 -0
  317. package/packages/plugin-pm/scripts/pm/epic-close.js +347 -0
  318. package/packages/plugin-pm/scripts/pm/epic-edit.js +382 -0
  319. package/packages/plugin-pm/scripts/pm/epic-list.js +273 -0
  320. package/packages/plugin-pm/scripts/pm/epic-list.sh +109 -0
  321. package/packages/plugin-pm/scripts/pm/epic-show.js +291 -0
  322. package/packages/plugin-pm/scripts/pm/epic-show.sh +105 -0
  323. package/packages/plugin-pm/scripts/pm/epic-split.js +522 -0
  324. package/packages/plugin-pm/scripts/pm/epic-start/epic-start.js +183 -0
  325. package/packages/plugin-pm/scripts/pm/epic-start/epic-start.sh +94 -0
  326. package/packages/plugin-pm/scripts/pm/epic-status.js +291 -0
  327. package/packages/plugin-pm/scripts/pm/epic-status.sh +104 -0
  328. package/packages/plugin-pm/scripts/pm/epic-sync/README.md +208 -0
  329. package/packages/plugin-pm/scripts/pm/epic-sync/create-epic-issue.sh +77 -0
  330. package/packages/plugin-pm/scripts/pm/epic-sync/create-task-issues.sh +86 -0
  331. package/packages/plugin-pm/scripts/pm/epic-sync/update-epic-file.sh +79 -0
  332. package/packages/plugin-pm/scripts/pm/epic-sync/update-references.sh +89 -0
  333. package/packages/plugin-pm/scripts/pm/epic-sync.sh +137 -0
  334. package/packages/plugin-pm/scripts/pm/help.js +92 -0
  335. package/packages/plugin-pm/scripts/pm/help.sh +90 -0
  336. package/packages/plugin-pm/scripts/pm/in-progress.js +178 -0
  337. package/packages/plugin-pm/scripts/pm/in-progress.sh +93 -0
  338. package/packages/plugin-pm/scripts/pm/init.js +321 -0
  339. package/packages/plugin-pm/scripts/pm/init.sh +178 -0
  340. package/packages/plugin-pm/scripts/pm/issue-close.js +232 -0
  341. package/packages/plugin-pm/scripts/pm/issue-edit.js +310 -0
  342. package/packages/plugin-pm/scripts/pm/issue-show.js +272 -0
  343. package/packages/plugin-pm/scripts/pm/issue-start.js +181 -0
  344. package/packages/plugin-pm/scripts/pm/issue-sync/format-comment.sh +468 -0
  345. package/packages/plugin-pm/scripts/pm/issue-sync/gather-updates.sh +460 -0
  346. package/packages/plugin-pm/scripts/pm/issue-sync/post-comment.sh +330 -0
  347. package/packages/plugin-pm/scripts/pm/issue-sync/preflight-validation.sh +348 -0
  348. package/packages/plugin-pm/scripts/pm/issue-sync/update-frontmatter.sh +387 -0
  349. package/packages/plugin-pm/scripts/pm/lib/README.md +85 -0
  350. package/packages/plugin-pm/scripts/pm/lib/epic-discovery.js +119 -0
  351. package/packages/plugin-pm/scripts/pm/lib/logger.js +78 -0
  352. package/packages/plugin-pm/scripts/pm/next.js +189 -0
  353. package/packages/plugin-pm/scripts/pm/next.sh +72 -0
  354. package/packages/plugin-pm/scripts/pm/optimize.js +407 -0
  355. package/packages/plugin-pm/scripts/pm/pr-create.js +337 -0
  356. package/packages/plugin-pm/scripts/pm/pr-list.js +257 -0
  357. package/packages/plugin-pm/scripts/pm/prd-list.js +242 -0
  358. package/packages/plugin-pm/scripts/pm/prd-list.sh +103 -0
  359. package/packages/plugin-pm/scripts/pm/prd-new.js +684 -0
  360. package/packages/plugin-pm/scripts/pm/prd-parse.js +547 -0
  361. package/packages/plugin-pm/scripts/pm/prd-status.js +152 -0
  362. package/packages/plugin-pm/scripts/pm/prd-status.sh +63 -0
  363. package/packages/plugin-pm/scripts/pm/release.js +460 -0
  364. package/packages/plugin-pm/scripts/pm/search.js +192 -0
  365. package/packages/plugin-pm/scripts/pm/search.sh +89 -0
  366. package/packages/plugin-pm/scripts/pm/standup.js +362 -0
  367. package/packages/plugin-pm/scripts/pm/standup.sh +95 -0
  368. package/packages/plugin-pm/scripts/pm/status.js +148 -0
  369. package/packages/plugin-pm/scripts/pm/status.sh +59 -0
  370. package/packages/plugin-pm/scripts/pm/sync-batch.js +337 -0
  371. package/packages/plugin-pm/scripts/pm/sync.js +343 -0
  372. package/packages/plugin-pm/scripts/pm/template-list.js +141 -0
  373. package/packages/plugin-pm/scripts/pm/template-new.js +366 -0
  374. package/packages/plugin-pm/scripts/pm/validate.js +274 -0
  375. package/packages/plugin-pm/scripts/pm/validate.sh +106 -0
  376. package/packages/plugin-pm/scripts/pm/what-next.js +660 -0
  377. package/packages/plugin-testing/README.md +401 -0
  378. package/packages/plugin-testing/agents/frontend-testing-engineer.md +768 -0
  379. package/packages/plugin-testing/commands/jest-optimize.md +800 -0
  380. package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
  381. package/packages/plugin-testing/commands/test-coverage.md +512 -0
  382. package/packages/plugin-testing/commands/test-performance.md +1041 -0
  383. package/packages/plugin-testing/commands/test-setup.md +414 -0
  384. package/packages/plugin-testing/package.json +40 -0
  385. package/packages/plugin-testing/plugin.json +197 -0
  386. package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
  387. package/packages/plugin-testing/rules/testing-standards.md +529 -0
  388. package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
  389. package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
  390. package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
@@ -0,0 +1,472 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Pre-Docker-Build Hook
5
+ *
6
+ * Validates Dockerfile and docker-compose.yml before building images.
7
+ * Enforces best practices from Context7 /docker/docs documentation.
8
+ *
9
+ * @blocking true
10
+ * @type pre-command
11
+ * @triggers docker:build, docker:optimize, docker-compose:up
12
+ */
13
+
14
+ const fs = require('fs');
15
+ const path = require('path');
16
+ const { execSync } = require('child_process');
17
+
18
+ // ANSI color codes
19
+ const colors = {
20
+ reset: '\x1b[0m',
21
+ red: '\x1b[31m',
22
+ yellow: '\x1b[33m',
23
+ green: '\x1b[32m',
24
+ blue: '\x1b[34m',
25
+ cyan: '\x1b[36m',
26
+ };
27
+
28
+ function log(message, color = 'reset') {
29
+ console.log(`${colors[color]}${message}${colors.reset}`);
30
+ }
31
+
32
+ function header(message) {
33
+ console.log('');
34
+ log('━'.repeat(60), 'cyan');
35
+ log(`🐳 ${message}`, 'cyan');
36
+ log('━'.repeat(60), 'cyan');
37
+ }
38
+
39
+ function checkmark(message) {
40
+ log(`✅ ${message}`, 'green');
41
+ }
42
+
43
+ function warning(message) {
44
+ log(`⚠️ ${message}`, 'yellow');
45
+ }
46
+
47
+ function error(message) {
48
+ log(`❌ ${message}`, 'red');
49
+ }
50
+
51
+ function info(message) {
52
+ log(`ℹ️ ${message}`, 'blue');
53
+ }
54
+
55
+ /**
56
+ * Parse command to detect Docker operations
57
+ */
58
+ function parseCommand(args) {
59
+ const command = args.join(' ');
60
+ return {
61
+ isDockerBuild: command.includes('docker:build') ||
62
+ command.includes('docker build') ||
63
+ command.includes('docker:optimize'),
64
+ isCompose: command.includes('docker-compose') || command.includes('compose'),
65
+ dockerfile: extractDockerfile(args),
66
+ force: command.includes('--force') || command.includes('-f'),
67
+ };
68
+ }
69
+
70
+ function extractDockerfile(args) {
71
+ const fileIndex = args.findIndex(arg => arg === '--file' || arg === '-f');
72
+ if (fileIndex !== -1 && args[fileIndex + 1]) {
73
+ return args[fileIndex + 1];
74
+ }
75
+ return 'Dockerfile';
76
+ }
77
+
78
+ /**
79
+ * Check if Dockerfile exists
80
+ */
81
+ function checkDockerfileExists(dockerfile) {
82
+ if (!fs.existsSync(dockerfile)) {
83
+ error(`Dockerfile not found: ${dockerfile}`);
84
+ return false;
85
+ }
86
+ checkmark(`Dockerfile found: ${dockerfile}`);
87
+ return true;
88
+ }
89
+
90
+ /**
91
+ * Analyze Dockerfile for best practices
92
+ * Based on Context7 /docker/docs patterns
93
+ */
94
+ function analyzeDockerfile(dockerfile) {
95
+ const issues = {
96
+ critical: [],
97
+ warnings: [],
98
+ improvements: [],
99
+ };
100
+
101
+ const content = fs.readFileSync(dockerfile, 'utf8');
102
+ const lines = content.split('\n');
103
+
104
+ header('Dockerfile Best Practices Analysis');
105
+
106
+ // Check 1: FROM base image
107
+ const fromLines = lines.filter(l => l.trim().startsWith('FROM '));
108
+ if (fromLines.length === 0) {
109
+ issues.critical.push('No FROM instruction found');
110
+ } else {
111
+ // Check for latest tag
112
+ const hasLatest = fromLines.some(l => l.includes(':latest') || !l.includes(':'));
113
+ if (hasLatest) {
114
+ issues.warnings.push('Using :latest tag or no tag - pin specific version for reproducibility');
115
+ }
116
+
117
+ // Check for multi-stage
118
+ if (fromLines.length > 1) {
119
+ checkmark(`Multi-stage build detected (${fromLines.length} stages)`);
120
+ } else {
121
+ issues.improvements.push('Consider multi-stage build for smaller final image');
122
+ }
123
+
124
+ // Check for Alpine/slim variants
125
+ const hasOptimized = fromLines.some(l => l.includes('alpine') || l.includes('slim') || l.includes('distroless'));
126
+ if (!hasOptimized) {
127
+ issues.improvements.push('Consider using Alpine or slim base images for smaller size');
128
+ } else {
129
+ checkmark('Using optimized base image (alpine/slim/distroless)');
130
+ }
131
+ }
132
+
133
+ // Check 2: COPY vs ADD
134
+ const addInstructions = lines.filter(l => l.trim().startsWith('ADD '));
135
+ if (addInstructions.length > 0) {
136
+ issues.warnings.push(`Found ${addInstructions.length} ADD instruction(s) - prefer COPY unless extracting archives`);
137
+ }
138
+
139
+ // Check 3: Layer optimization - COPY before dependency install
140
+ let foundCopyAll = false;
141
+ let foundInstall = false;
142
+
143
+ for (const line of lines) {
144
+ const trimmed = line.trim();
145
+
146
+ if (trimmed.startsWith('COPY . ') || trimmed.startsWith('COPY ./ ')) {
147
+ foundCopyAll = true;
148
+ }
149
+
150
+ if (!foundCopyAll && (
151
+ trimmed.includes('npm install') ||
152
+ trimmed.includes('pip install') ||
153
+ trimmed.includes('yarn install') ||
154
+ trimmed.includes('go mod download')
155
+ )) {
156
+ foundInstall = true;
157
+ }
158
+ }
159
+
160
+ if (foundCopyAll && !foundInstall) {
161
+ issues.warnings.push('COPY . before dependency installation - poor layer caching');
162
+ issues.improvements.push('Copy package/requirements files first, install deps, then copy source');
163
+ } else if (foundInstall) {
164
+ checkmark('Dependencies installed before copying all source files');
165
+ }
166
+
167
+ // Check 4: Running as root
168
+ const hasUser = lines.some(l => l.trim().startsWith('USER ') && !l.includes('USER root'));
169
+ if (!hasUser) {
170
+ issues.critical.push('No non-root USER specified - security risk');
171
+ } else {
172
+ checkmark('Non-root user configured');
173
+ }
174
+
175
+ // Check 5: WORKDIR usage
176
+ const hasWorkdir = lines.some(l => l.trim().startsWith('WORKDIR '));
177
+ if (!hasWorkdir) {
178
+ issues.warnings.push('No WORKDIR specified - use WORKDIR instead of cd commands');
179
+ }
180
+
181
+ // Check 6: apt-get without cleanup
182
+ const aptGetLines = lines.filter(l => l.includes('apt-get install'));
183
+ for (const line of aptGetLines) {
184
+ if (!line.includes('rm -rf /var/lib/apt/lists')) {
185
+ issues.warnings.push('apt-get install without cleanup - image size not optimized');
186
+ break;
187
+ }
188
+ }
189
+
190
+ // Check 7: Multiple RUN commands that could be chained
191
+ const runCommands = lines.filter(l => l.trim().startsWith('RUN '));
192
+ if (runCommands.length > 5) {
193
+ issues.improvements.push(`${runCommands.length} RUN commands - consider chaining with && for fewer layers`);
194
+ }
195
+
196
+ // Check 8: HEALTHCHECK
197
+ const hasHealthcheck = lines.some(l => l.trim().startsWith('HEALTHCHECK '));
198
+ if (!hasHealthcheck) {
199
+ issues.improvements.push('No HEALTHCHECK defined - add for better container monitoring');
200
+ } else {
201
+ checkmark('HEALTHCHECK configured');
202
+ }
203
+
204
+ // Check 9: LABEL for metadata
205
+ const hasLabels = lines.some(l => l.trim().startsWith('LABEL '));
206
+ if (!hasLabels) {
207
+ issues.improvements.push('No LABELs defined - add metadata for better organization');
208
+ }
209
+
210
+ // Check 10: Hardcoded secrets
211
+ const secretPatterns = [
212
+ /password\s*=\s*["'][^"']+["']/i,
213
+ /secret\s*=\s*["'][^"']+["']/i,
214
+ /api[_-]?key\s*=\s*["'][^"']+["']/i,
215
+ /token\s*=\s*["'][^"']+["']/i,
216
+ ];
217
+
218
+ for (const line of lines) {
219
+ for (const pattern of secretPatterns) {
220
+ if (pattern.test(line)) {
221
+ issues.critical.push('Potential hardcoded secret detected in Dockerfile');
222
+ break;
223
+ }
224
+ }
225
+ }
226
+
227
+ // Check 11: BuildKit syntax
228
+ const hasBuildKitSyntax = lines.some(l => l.includes('# syntax=docker/dockerfile:'));
229
+ if (!hasBuildKitSyntax) {
230
+ issues.improvements.push('Add # syntax=docker/dockerfile:1 for BuildKit features');
231
+ } else {
232
+ checkmark('BuildKit syntax enabled');
233
+ }
234
+
235
+ return issues;
236
+ }
237
+
238
+ /**
239
+ * Check for .dockerignore
240
+ */
241
+ function checkDockerignore() {
242
+ header('.dockerignore Validation');
243
+
244
+ if (!fs.existsSync('.dockerignore')) {
245
+ warning('.dockerignore file not found');
246
+ info('Creating .dockerignore can reduce build context and improve security');
247
+ return false;
248
+ }
249
+
250
+ checkmark('.dockerignore file exists');
251
+
252
+ const content = fs.readFileSync('.dockerignore', 'utf8');
253
+ const lines = content.split('\n').map(l => l.trim()).filter(l => l && !l.startsWith('#'));
254
+
255
+ const recommended = [
256
+ { pattern: '.git', description: 'Version control' },
257
+ { pattern: 'node_modules', description: 'Dependencies' },
258
+ { pattern: '.env', description: 'Environment files' },
259
+ { pattern: '*.log', description: 'Log files' },
260
+ { pattern: 'README.md', description: 'Documentation' },
261
+ ];
262
+
263
+ let missing = [];
264
+ for (const rec of recommended) {
265
+ if (!lines.some(l => l.includes(rec.pattern))) {
266
+ missing.push(rec);
267
+ }
268
+ }
269
+
270
+ if (missing.length > 0) {
271
+ warning('Recommended patterns missing from .dockerignore:');
272
+ missing.forEach(m => {
273
+ log(` - ${m.pattern} (${m.description})`, 'yellow');
274
+ });
275
+ } else {
276
+ checkmark('All recommended patterns present');
277
+ }
278
+
279
+ return true;
280
+ }
281
+
282
+ /**
283
+ * Check for docker-compose.yml
284
+ */
285
+ function checkDockerCompose() {
286
+ const composeFiles = ['docker-compose.yml', 'docker-compose.yaml', 'compose.yml', 'compose.yaml'];
287
+ const found = composeFiles.find(f => fs.existsSync(f));
288
+
289
+ if (!found) {
290
+ return null;
291
+ }
292
+
293
+ header('Docker Compose Validation');
294
+ checkmark(`Docker Compose file found: ${found}`);
295
+
296
+ try {
297
+ execSync('docker-compose config', { stdio: 'ignore' });
298
+ checkmark('Docker Compose configuration is valid');
299
+ return { valid: true, issues: [] };
300
+ } catch (e) {
301
+ error('Docker Compose configuration is invalid');
302
+ return { valid: false, issues: ['Invalid docker-compose configuration'] };
303
+ }
304
+ }
305
+
306
+ /**
307
+ * Remind about Context7 queries
308
+ */
309
+ function remindContext7() {
310
+ header('Context7 Documentation Queries');
311
+
312
+ info('Before building, ensure you have queried Context7 for:');
313
+ console.log('');
314
+
315
+ const queries = [
316
+ 'mcp://context7/docker/best-practices - Docker image best practices',
317
+ 'mcp://context7/docker/multi-stage-builds - Multi-stage build patterns',
318
+ 'mcp://context7/docker/security - Docker security hardening',
319
+ 'mcp://context7/docker/buildkit - BuildKit optimization features',
320
+ ];
321
+
322
+ queries.forEach(query => {
323
+ log(` → ${query}`, 'cyan');
324
+ });
325
+
326
+ console.log('');
327
+ }
328
+
329
+ /**
330
+ * Main execution
331
+ */
332
+ function main() {
333
+ const args = process.argv.slice(2);
334
+
335
+ if (args.length === 0) {
336
+ error('No command arguments provided');
337
+ process.exit(1);
338
+ }
339
+
340
+ const command = parseCommand(args);
341
+
342
+ if (!command.isDockerBuild && !command.isCompose) {
343
+ // Not a Docker command, exit silently
344
+ process.exit(0);
345
+ }
346
+
347
+ console.log('');
348
+ log('╔════════════════════════════════════════════════════════════╗', 'cyan');
349
+ log('║ DOCKER BUILD VALIDATION PRE-BUILD HOOK ║', 'cyan');
350
+ log('╚════════════════════════════════════════════════════════════╝', 'cyan');
351
+ console.log('');
352
+
353
+ // Remind about Context7
354
+ remindContext7();
355
+
356
+ let allIssues = {
357
+ critical: [],
358
+ warnings: [],
359
+ improvements: [],
360
+ };
361
+
362
+ // Check Dockerfile
363
+ if (command.isDockerBuild) {
364
+ if (!checkDockerfileExists(command.dockerfile)) {
365
+ process.exit(1);
366
+ }
367
+
368
+ const dockerfileIssues = analyzeDockerfile(command.dockerfile);
369
+ allIssues.critical.push(...dockerfileIssues.critical);
370
+ allIssues.warnings.push(...dockerfileIssues.warnings);
371
+ allIssues.improvements.push(...dockerfileIssues.improvements);
372
+ }
373
+
374
+ // Check .dockerignore
375
+ checkDockerignore();
376
+
377
+ // Check docker-compose if present
378
+ if (command.isCompose) {
379
+ const composeResult = checkDockerCompose();
380
+ if (composeResult && !composeResult.valid) {
381
+ allIssues.critical.push(...composeResult.issues);
382
+ }
383
+ }
384
+
385
+ // Display results
386
+ header('Validation Summary');
387
+
388
+ if (allIssues.critical.length === 0 &&
389
+ allIssues.warnings.length === 0 &&
390
+ allIssues.improvements.length === 0) {
391
+ checkmark('All checks passed! Ready to build.');
392
+ console.log('');
393
+ log('✨ Docker build can proceed safely', 'green');
394
+ console.log('');
395
+ process.exit(0);
396
+ }
397
+
398
+ // Display critical issues
399
+ if (allIssues.critical.length > 0) {
400
+ console.log('');
401
+ error(`Found ${allIssues.critical.length} CRITICAL issue(s):`);
402
+ allIssues.critical.forEach((issue, index) => {
403
+ log(` ${index + 1}. ${issue}`, 'red');
404
+ });
405
+ }
406
+
407
+ // Display warnings
408
+ if (allIssues.warnings.length > 0) {
409
+ console.log('');
410
+ warning(`Found ${allIssues.warnings.length} warning(s):`);
411
+ allIssues.warnings.forEach((issue, index) => {
412
+ log(` ${index + 1}. ${issue}`, 'yellow');
413
+ });
414
+ }
415
+
416
+ // Display improvements
417
+ if (allIssues.improvements.length > 0) {
418
+ console.log('');
419
+ info(`${allIssues.improvements.length} improvement suggestion(s):`);
420
+ allIssues.improvements.forEach((issue, index) => {
421
+ log(` ${index + 1}. ${issue}`, 'blue');
422
+ });
423
+ }
424
+
425
+ console.log('');
426
+
427
+ // Decision logic
428
+ if (allIssues.critical.length > 0) {
429
+ if (command.force) {
430
+ warning('CRITICAL issues found, but --force flag provided');
431
+ warning('Proceeding with build (NOT RECOMMENDED)');
432
+ console.log('');
433
+ process.exit(0);
434
+ } else {
435
+ error('🚫 BUILD BLOCKED due to critical issues');
436
+ console.log('');
437
+ info('To proceed anyway (NOT RECOMMENDED), use --force flag');
438
+ info('To fix issues, review the findings above and update your Dockerfile');
439
+ console.log('');
440
+ process.exit(1);
441
+ }
442
+ }
443
+
444
+ // Only warnings or improvements
445
+ if (allIssues.warnings.length > 0) {
446
+ warning('Warnings detected - recommended to address before building');
447
+ }
448
+
449
+ if (allIssues.improvements.length > 0) {
450
+ info('Consider improvements for better optimization and security');
451
+ }
452
+
453
+ console.log('');
454
+ checkmark('Build can proceed (with warnings/improvements)');
455
+ console.log('');
456
+
457
+ process.exit(0);
458
+ }
459
+
460
+ // Run main function
461
+ try {
462
+ main();
463
+ } catch (error) {
464
+ console.error('');
465
+ log('❌ Hook execution failed:', 'red');
466
+ console.error(error.message);
467
+ console.error('');
468
+
469
+ // Don't block build on hook errors (fail open)
470
+ log('⚠️ Allowing build to proceed despite hook error', 'yellow');
471
+ process.exit(0);
472
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@claudeautopm/plugin-devops",
3
+ "version": "2.0.0",
4
+ "description": "Complete DevOps plugin with agents, commands, rules, and scripts for CI/CD, Docker, GitHub, observability, and infrastructure automation for ClaudeAutoPM",
5
+ "main": "plugin.json",
6
+ "type": "module",
7
+ "files": [
8
+ "agents/",
9
+ "commands/",
10
+ "rules/",
11
+ "scripts/",
12
+ "plugin.json",
13
+ "README.md",
14
+ "LICENSE"
15
+ ],
16
+ "scripts": {
17
+ "test": "echo \"Error: no test specified\" && exit 1",
18
+ "validate": "node -e \"require('./plugin.json')\" && echo 'plugin.json is valid'"
19
+ },
20
+ "keywords": [
21
+ "claudeautopm",
22
+ "plugin",
23
+ "devops",
24
+ "docker",
25
+ "github",
26
+ "ci-cd",
27
+ "azure-devops",
28
+ "observability",
29
+ "prometheus",
30
+ "grafana",
31
+ "ssh",
32
+ "traefik",
33
+ "containers",
34
+ "automation"
35
+ ],
36
+ "author": {
37
+ "name": "ClaudeAutoPM Team",
38
+ "email": "autopm@example.com"
39
+ },
40
+ "license": "MIT",
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "git+https://github.com/rafeekpro/ClaudeAutoPM.git",
44
+ "directory": "packages/plugin-devops"
45
+ },
46
+ "homepage": "https://github.com/rafeekpro/ClaudeAutoPM/tree/main/packages/plugin-devops#readme",
47
+ "bugs": {
48
+ "url": "https://github.com/rafeekpro/ClaudeAutoPM/issues"
49
+ },
50
+ "engines": {
51
+ "node": ">=16.0.0",
52
+ "npm": ">=8.0.0"
53
+ },
54
+ "peerDependencies": {
55
+ "@claudeautopm/plugin-core": "^2.0.0"
56
+ },
57
+ "publishConfig": {
58
+ "access": "public",
59
+ "registry": "https://registry.npmjs.org/"
60
+ }
61
+ }