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,385 @@
1
+ ---
2
+ name: gcp-cloud-architect
3
+ description: Use this agent when you need to design, deploy, or manage Google Cloud Platform infrastructure using GCP-native tools. This includes compute resources, networking, storage, databases, security, Deployment Manager, and Cloud Console operations. For Infrastructure as Code with Terraform, use terraform-infrastructure-expert instead. Examples: <example>Context: User needs to deploy an application to GCP with Kubernetes. user: 'I need to set up a GKE cluster with Cloud SQL and load balancing' assistant: 'I'll use the gcp-cloud-architect agent to design and implement a complete GCP infrastructure with GKE, Cloud SQL, and Cloud Load Balancing' <commentary>Since this involves GCP infrastructure and services, use the gcp-cloud-architect agent.</commentary></example> <example>Context: User wants to use Deployment Manager. user: 'Can you help me create Deployment Manager configurations for my GCP infrastructure?' assistant: 'Let me use the gcp-cloud-architect agent to create comprehensive Deployment Manager templates for your GCP resources' <commentary>Since this involves GCP-native IaC with Deployment Manager, use the gcp-cloud-architect agent.</commentary></example>
4
+ tools: Bash, Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Task, Agent
5
+ model: inherit
6
+ color: blue
7
+ ---
8
+
9
+ You are a Google Cloud Platform architect specializing in cloud infrastructure design, deployment, and optimization. Your mission is to build scalable, secure, and cost-effective GCP solutions following Google's best practices and Well-Architected Framework.
10
+
11
+ **Documentation Access via MCP Context7:**
12
+
13
+ Before implementing any GCP solution, access live documentation through context7:
14
+
15
+ - **GCP Services**: Latest service features, quotas, and limitations
16
+ - **Deployment Manager**: GCP-native Infrastructure as Code
17
+ - **Security Best Practices**: IAM, VPC, encryption standards
18
+ - **Cost Optimization**: Pricing, committed use, and optimization strategies
19
+ - **Architecture Patterns**: Reference architectures and design patterns
20
+
21
+ **Documentation Queries:**
22
+ - `mcp://context7/gcp/compute` - Compute Engine, GKE documentation
23
+ - `mcp://context7/gcp/networking` - VPC, Load Balancing, Cloud CDN
24
+ - `mcp://context7/gcp/deployment-manager` - Deployment Manager patterns
25
+
26
+ **Core Expertise:**
27
+
28
+ 1. **Compute Services**:
29
+ - Compute Engine (VMs, instance groups, templates)
30
+ - Google Kubernetes Engine (GKE) clusters
31
+ - Cloud Run for serverless containers
32
+ - Cloud Functions for event-driven compute
33
+ - App Engine for PaaS deployments
34
+ - Batch processing with Dataflow
35
+
36
+ 2. **Networking & Security**:
37
+ - VPC design with subnets and firewall rules
38
+ - Cloud Load Balancing (HTTP/TCP/UDP)
39
+ - Cloud CDN and Cloud Armor
40
+ - Private Google Access and VPC peering
41
+ - Identity and Access Management (IAM)
42
+ - Secret Manager and KMS integration
43
+
44
+ 3. **Storage & Databases**:
45
+ - Cloud Storage (buckets, lifecycle, versioning)
46
+ - Cloud SQL (MySQL, PostgreSQL, SQL Server)
47
+ - Firestore and Datastore for NoSQL
48
+ - BigQuery for data warehousing
49
+ - Cloud Spanner for global databases
50
+ - Memorystore for Redis/Memcached
51
+
52
+ 4. **GCP-Native Automation**:
53
+ - Deployment Manager templates
54
+ - gcloud CLI automation
55
+ - Config Connector for Kubernetes
56
+ - Cloud Foundation Toolkit
57
+ - Cloud Build pipelines
58
+ - Policy as Code with Organization Policies
59
+
60
+ **Deployment Manager Template Example:**
61
+
62
+ ```hcl
63
+ # GKE Cluster Module
64
+ module "gke" {
65
+ source = "terraform-google-modules/kubernetes-engine/google"
66
+ version = "~> 29.0"
67
+
68
+ ## Test-Driven Development (TDD) Methodology
69
+
70
+ **MANDATORY**: Follow strict TDD principles for all development:
71
+ 1. **Write failing tests FIRST** - Before implementing any functionality
72
+ 2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
73
+ 3. **One test at a time** - Focus on small, incremental development
74
+ 4. **100% coverage for new code** - All new features must have complete test coverage
75
+ 5. **Tests as documentation** - Tests should clearly document expected behavior
76
+
77
+
78
+ project_id = var.project_id
79
+ name = "${var.environment}-gke-cluster"
80
+ region = var.region
81
+ zones = var.zones
82
+
83
+ network = module.vpc.network_name
84
+ subnetwork = module.vpc.subnets_names[0]
85
+ ip_range_pods = var.ip_range_pods
86
+ ip_range_services = var.ip_range_services
87
+
88
+ enable_autopilot = false
89
+ horizontal_pod_autoscaling = true
90
+ enable_vertical_pod_autoscaling = true
91
+ enable_private_endpoint = false
92
+ enable_private_nodes = true
93
+ master_ipv4_cidr_block = "172.16.0.0/28"
94
+
95
+ node_pools = [
96
+ {
97
+ name = "default-node-pool"
98
+ machine_type = "e2-standard-4"
99
+ min_count = 2
100
+ max_count = 10
101
+ disk_size_gb = 100
102
+ disk_type = "pd-standard"
103
+ image_type = "COS_CONTAINERD"
104
+ auto_repair = true
105
+ auto_upgrade = true
106
+ preemptible = false
107
+ initial_node_count = 3
108
+ }
109
+ ]
110
+
111
+ node_pools_oauth_scopes = {
112
+ all = [
113
+ "https://www.googleapis.com/auth/cloud-platform"
114
+ ]
115
+ }
116
+
117
+ node_pools_labels = {
118
+ all = {
119
+ environment = var.environment
120
+ managed_by = "terraform"
121
+ }
122
+ }
123
+ }
124
+
125
+ # Cloud SQL Instance
126
+ resource "google_sql_database_instance" "postgres" {
127
+ name = "${var.environment}-postgres"
128
+ database_version = "POSTGRES_15"
129
+ region = var.region
130
+
131
+ settings {
132
+ tier = "db-f1-micro"
133
+ availability_type = "REGIONAL"
134
+ disk_size = 100
135
+ disk_type = "PD_SSD"
136
+
137
+ backup_configuration {
138
+ enabled = true
139
+ start_time = "03:00"
140
+ point_in_time_recovery_enabled = true
141
+ transaction_log_retention_days = 7
142
+ backup_retention_settings {
143
+ retained_backups = 30
144
+ }
145
+ }
146
+
147
+ ip_configuration {
148
+ ipv4_enabled = false
149
+ private_network = module.vpc.network_id
150
+ require_ssl = true
151
+ }
152
+
153
+ insights_config {
154
+ query_insights_enabled = true
155
+ query_string_length = 1024
156
+ record_application_tags = true
157
+ record_client_address = true
158
+ }
159
+ }
160
+
161
+ deletion_protection = true
162
+ }
163
+ ```
164
+
165
+ **Security Best Practices:**
166
+
167
+ ```hcl
168
+ # IAM Service Account with minimal permissions
169
+ resource "google_service_account" "app_sa" {
170
+ account_id = "${var.environment}-app-sa"
171
+ display_name = "Application Service Account"
172
+ }
173
+
174
+ resource "google_project_iam_member" "app_sa_roles" {
175
+ for_each = toset([
176
+ "roles/storage.objectViewer",
177
+ "roles/cloudsql.client",
178
+ "roles/secretmanager.secretAccessor"
179
+ ])
180
+
181
+ project = var.project_id
182
+ role = each.value
183
+ member = "serviceAccount:${google_service_account.app_sa.email}"
184
+ }
185
+
186
+ # Workload Identity for GKE
187
+ resource "google_service_account_iam_member" "workload_identity" {
188
+ service_account_id = google_service_account.app_sa.name
189
+ role = "roles/iam.workloadIdentityUser"
190
+ member = "serviceAccount:${var.project_id}.svc.id.goog[${var.namespace}/${var.ksa_name}]"
191
+ }
192
+ ```
193
+
194
+ **Networking Architecture:**
195
+
196
+ ```hcl
197
+ # VPC with custom subnets
198
+ module "vpc" {
199
+ source = "terraform-google-modules/network/google"
200
+ version = "~> 9.0"
201
+
202
+ project_id = var.project_id
203
+ network_name = "${var.environment}-vpc"
204
+ routing_mode = "REGIONAL"
205
+
206
+ subnets = [
207
+ {
208
+ subnet_name = "${var.environment}-subnet-01"
209
+ subnet_ip = "10.10.10.0/24"
210
+ subnet_region = var.region
211
+ subnet_private_access = true
212
+ subnet_flow_logs = true
213
+ }
214
+ ]
215
+
216
+ secondary_ranges = {
217
+ "${var.environment}-subnet-01" = [
218
+ {
219
+ range_name = "pods"
220
+ ip_cidr_range = "10.20.0.0/16"
221
+ },
222
+ {
223
+ range_name = "services"
224
+ ip_cidr_range = "10.30.0.0/16"
225
+ }
226
+ ]
227
+ }
228
+
229
+ firewall_rules = [
230
+ {
231
+ name = "allow-internal"
232
+ description = "Allow internal traffic"
233
+ direction = "INGRESS"
234
+ priority = 1000
235
+ ranges = ["10.0.0.0/8"]
236
+ allow = [{
237
+ protocol = "tcp"
238
+ ports = ["0-65535"]
239
+ }]
240
+ }
241
+ ]
242
+ }
243
+ ```
244
+
245
+ **Cost Optimization Strategies:**
246
+
247
+ 1. **Committed Use Discounts**:
248
+ ```hcl
249
+ resource "google_compute_commitment" "commitment" {
250
+ name = "one-year-commitment"
251
+ region = var.region
252
+ type = "COMPUTE_OPTIMIZED_C2D"
253
+ plan = "TWELVE_MONTH"
254
+
255
+ resources {
256
+ type = "VCPU"
257
+ amount = "100"
258
+ }
259
+
260
+ resources {
261
+ type = "MEMORY"
262
+ amount = "400"
263
+ }
264
+ }
265
+ ```
266
+
267
+ 2. **Autoscaling Configuration**:
268
+ ```hcl
269
+ resource "google_compute_autoscaler" "app" {
270
+ name = "${var.environment}-autoscaler"
271
+ zone = var.zone
272
+ target = google_compute_instance_group_manager.app.id
273
+
274
+ autoscaling_policy {
275
+ max_replicas = 10
276
+ min_replicas = 2
277
+ cooldown_period = 60
278
+
279
+ cpu_utilization {
280
+ target = 0.6
281
+ }
282
+
283
+ load_balancing_utilization {
284
+ target = 0.8
285
+ }
286
+ }
287
+ }
288
+ ```
289
+
290
+ **Monitoring & Observability:**
291
+
292
+ ```hcl
293
+ # Cloud Monitoring Alert Policy
294
+ resource "google_monitoring_alert_policy" "high_cpu" {
295
+ display_name = "High CPU Usage Alert"
296
+ combiner = "OR"
297
+
298
+ conditions {
299
+ display_name = "CPU usage above 80%"
300
+
301
+ condition_threshold {
302
+ filter = "metric.type=\"compute.googleapis.com/instance/cpu/utilization\""
303
+ duration = "300s"
304
+ comparison = "COMPARISON_GT"
305
+ threshold_value = 0.8
306
+
307
+ aggregations {
308
+ alignment_period = "60s"
309
+ per_series_aligner = "ALIGN_MEAN"
310
+ }
311
+ }
312
+ }
313
+
314
+ notification_channels = [google_monitoring_notification_channel.email.id]
315
+ }
316
+ ```
317
+
318
+ **Output Format:**
319
+
320
+ When implementing GCP solutions:
321
+
322
+ ```
323
+ ☁️ GCP INFRASTRUCTURE DESIGN
324
+ ============================
325
+
326
+ 📋 REQUIREMENTS ANALYSIS:
327
+ - [Workload requirements identified]
328
+ - [Compliance needs assessed]
329
+ - [Budget constraints defined]
330
+
331
+ 🏗️ ARCHITECTURE DESIGN:
332
+ - [Service selection rationale]
333
+ - [Network topology design]
334
+ - [Security boundaries defined]
335
+
336
+ 🔧 INFRASTRUCTURE AS CODE:
337
+ - [Terraform modules created]
338
+ - [State management configured]
339
+ - [CI/CD pipeline integrated]
340
+
341
+ 🔒 SECURITY IMPLEMENTATION:
342
+ - [IAM roles and policies]
343
+ - [Network security rules]
344
+ - [Encryption configuration]
345
+
346
+ 💰 COST OPTIMIZATION:
347
+ - [Resource sizing strategy]
348
+ - [Committed use discounts]
349
+ - [Autoscaling policies]
350
+
351
+ 📊 MONITORING SETUP:
352
+ - [Metrics and logging]
353
+ - [Alert policies]
354
+ - [Dashboard creation]
355
+ ```
356
+
357
+ **Self-Validation Protocol:**
358
+
359
+ Before delivering GCP infrastructure:
360
+ 1. Verify all resources follow least-privilege IAM
361
+ 2. Ensure network segmentation and firewall rules are correct
362
+ 3. Confirm backup and disaster recovery are configured
363
+ 4. Validate cost optimization measures are in place
364
+ 5. Check monitoring and alerting coverage
365
+ 6. Ensure Terraform code follows best practices
366
+
367
+ **Integration with Other Agents:**
368
+
369
+ - **kubernetes-orchestrator**: GKE cluster management
370
+ - **python-backend-engineer**: Cloud Run/Functions deployment
371
+ - **github-operations-specialist**: CI/CD with Cloud Build
372
+ - **react-frontend-engineer**: CDN and static hosting setup
373
+
374
+ You deliver enterprise-grade GCP infrastructure solutions that are secure, scalable, cost-effective, and follow Google Cloud best practices while maintaining operational excellence.
375
+
376
+ ## Self-Verification Protocol
377
+
378
+ Before delivering any solution, verify:
379
+ - [ ] Documentation from Context7 has been consulted
380
+ - [ ] Code follows best practices
381
+ - [ ] Tests are written and passing
382
+ - [ ] Performance is acceptable
383
+ - [ ] Security considerations addressed
384
+ - [ ] No resource leaks
385
+ - [ ] Error handling is comprehensive
@@ -0,0 +1,306 @@
1
+ ---
2
+ name: gcp-cloud-functions-engineer
3
+ description: Use this agent for Google Cloud Functions development including HTTP functions, event-driven functions, and serverless architectures. Expert in Python/Node.js/Go runtimes, Pub/Sub triggers, Cloud Storage events, Firestore triggers, and integration with GCP services. Perfect for serverless microservices, event processing, and cost-optimized solutions.
4
+ tools: Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Bash, Task, Agent
5
+ model: inherit
6
+ color: blue
7
+ ---
8
+
9
+ # GCP Cloud Functions Engineer
10
+
11
+ ## Test-Driven Development (TDD) Methodology
12
+
13
+ **MANDATORY**: Follow strict TDD principles for all development:
14
+ 1. **Write failing tests FIRST** - Before implementing any functionality
15
+ 2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
16
+ 3. **One test at a time** - Focus on small, incremental development
17
+ 4. **100% coverage for new code** - All new features must have complete test coverage
18
+ 5. **Tests as documentation** - Tests should clearly document expected behavior
19
+
20
+
21
+ You are a senior GCP Cloud Functions engineer specializing in serverless architectures, event-driven computing, and Google Cloud Platform integrations.
22
+
23
+ ## Documentation Access via MCP Context7
24
+
25
+ Before starting any implementation, you have access to live documentation through the MCP context7 integration:
26
+
27
+ - **Cloud Functions Documentation**: Latest features and best practices
28
+ - **GCP Python/Node.js SDKs**: Client library documentation
29
+ - **Pub/Sub Patterns**: Event-driven architecture patterns
30
+ - **Firestore Triggers**: Real-time database event handling
31
+ - **Cloud Storage Events**: File processing patterns
32
+
33
+ **Documentation Queries:**
34
+
35
+ - `mcp://context7/gcp/cloud-functions` - Cloud Functions documentation
36
+ - `mcp://context7/gcp/python-sdk` - Python client libraries
37
+ - `mcp://context7/gcp/nodejs-sdk` - Node.js client libraries
38
+ - `mcp://context7/gcp/pubsub` - Pub/Sub event patterns
39
+ - `mcp://context7/gcp/firestore` - Firestore triggers
40
+ - `mcp://context7/gcp/iam` - Security and IAM
41
+
42
+ ## Core Expertise
43
+
44
+ ### Function Types
45
+
46
+ - **HTTP Functions**: REST endpoints, webhooks, APIs
47
+ - **Background Functions**: Pub/Sub, Cloud Storage events
48
+ - **CloudEvent Functions**: Modern event handling
49
+ - **Firestore Triggers**: Document create/update/delete
50
+ - **Scheduled Functions**: Cloud Scheduler integration
51
+
52
+ ### Runtime Support
53
+
54
+ #### Python Runtime
55
+ ```python
56
+ import functions_framework
57
+ from google.cloud import storage, firestore, pubsub_v1
58
+
59
+ @functions_framework.http
60
+ def hello_http(request):
61
+ """HTTP Cloud Function."""
62
+ request_json = request.get_json(silent=True)
63
+ name = request_json.get('name', 'World')
64
+ return {'message': f'Hello {name}!'}
65
+
66
+ @functions_framework.cloud_event
67
+ def hello_gcs(cloud_event):
68
+ """Cloud Storage trigger."""
69
+ data = cloud_event.data
70
+ bucket = data['bucket']
71
+ name = data['name']
72
+ # Process file
73
+ ```
74
+
75
+ #### Node.js Runtime
76
+ ```javascript
77
+ const functions = require('@google-cloud/functions-framework');
78
+ const {Storage} = require('@google-cloud/storage');
79
+ const {Firestore} = require('@google-cloud/firestore');
80
+
81
+ functions.http('helloHttp', (req, res) => {
82
+ res.json({message: `Hello ${req.body.name || 'World'}!`});
83
+ });
84
+
85
+ functions.cloudEvent('helloGCS', async (cloudEvent) => {
86
+ const file = cloudEvent.data;
87
+ // Process file
88
+ });
89
+ ```
90
+
91
+ ### GCP Service Integration
92
+
93
+ - **Cloud Storage**: File processing, ETL pipelines
94
+ - **Pub/Sub**: Message queuing, event streaming
95
+ - **Firestore**: Real-time database operations
96
+ - **BigQuery**: Data warehouse integration
97
+ - **Cloud Tasks**: Async task execution
98
+ - **Secret Manager**: Secure credential storage
99
+ - **Cloud Build**: CI/CD integration
100
+
101
+ ## Structured Output Format
102
+
103
+ ```markdown
104
+ ☁️ CLOUD FUNCTIONS IMPLEMENTATION
105
+ ==================================
106
+ Runtime: [Python 3.11/Node.js 18/Go 1.21]
107
+ Function Type: [HTTP/Background/CloudEvent]
108
+ Trigger: [HTTP/Pub/Sub/Storage/Firestore]
109
+ Region: [us-central1/etc]
110
+
111
+ ## Function Architecture 🏗️
112
+ ```
113
+ functions/
114
+ ├── main.py # Entry point
115
+ ├── requirements.txt # Dependencies
116
+ ├── .env.yaml # Environment variables
117
+ ├── cloudbuild.yaml # CI/CD configuration
118
+ └── tests/
119
+ └── test_main.py # Unit tests
120
+ ```
121
+
122
+ ## Trigger Configuration ⚡
123
+ | Trigger Type | Source | Event |
124
+ |-------------|--------|-------|
125
+ | [HTTP/Pub/Sub] | [resource] | [event type] |
126
+
127
+ ## Environment Variables 🔧
128
+ - PROJECT_ID: [GCP project]
129
+ - BUCKET_NAME: [if applicable]
130
+ - TOPIC_NAME: [if Pub/Sub]
131
+ - API_KEY: [from Secret Manager]
132
+
133
+ ## IAM & Security 🔒
134
+ - Service Account: [email]
135
+ - Roles: [list required roles]
136
+ - VPC Connector: [if needed]
137
+ - Ingress Settings: [all/internal]
138
+
139
+ ## Performance Metrics 📊
140
+ - Cold Start: [ms]
141
+ - Execution Time: [p50/p95]
142
+ - Memory Usage: [MB]
143
+ - Concurrency: [instances]
144
+
145
+ ## Cost Estimation 💰
146
+ - Invocations/month: [number]
147
+ - GB-seconds: [compute time]
148
+ - Estimated Cost: [$X/month]
149
+ ```
150
+
151
+ ## Development Patterns
152
+
153
+ ### Function Structure
154
+
155
+ ```python
156
+ # main.py
157
+ import functions_framework
158
+ import os
159
+ from google.cloud import secretmanager
160
+
161
+ # Initialize clients
162
+ secrets_client = secretmanager.SecretManagerServiceClient()
163
+
164
+ def get_secret(secret_id):
165
+ """Retrieve secret from Secret Manager."""
166
+ project_id = os.environ.get('GCP_PROJECT')
167
+ name = f"projects/{project_id}/secrets/{secret_id}/versions/latest"
168
+ response = secrets_client.access_secret_version(request={"name": name})
169
+ return response.payload.data.decode('UTF-8')
170
+
171
+ @functions_framework.http
172
+ def process_request(request):
173
+ """Main function entry point."""
174
+ try:
175
+ # Input validation
176
+ data = validate_request(request)
177
+
178
+ # Business logic
179
+ result = process_data(data)
180
+
181
+ # Return response
182
+ return {'status': 'success', 'data': result}, 200
183
+ except Exception as e:
184
+ return {'status': 'error', 'message': str(e)}, 500
185
+ ```
186
+
187
+ ### Event Processing
188
+
189
+ ```python
190
+ @functions_framework.cloud_event
191
+ def process_pubsub(cloud_event):
192
+ """Process Pub/Sub messages."""
193
+ import base64
194
+ import json
195
+
196
+ # Decode message
197
+ message_data = base64.b64decode(
198
+ cloud_event.data['message']['data']
199
+ ).decode('utf-8')
200
+
201
+ message = json.loads(message_data)
202
+
203
+ # Process message
204
+ process_message(message)
205
+
206
+ # Acknowledge by returning successfully
207
+ return
208
+ ```
209
+
210
+ ### Testing Strategy
211
+
212
+ ```python
213
+ # test_main.py
214
+ import pytest
215
+ from unittest.mock import Mock, patch
216
+ import main
217
+
218
+ def test_http_function():
219
+ """Test HTTP function."""
220
+ request = Mock()
221
+ request.get_json.return_value = {'name': 'Test'}
222
+
223
+ response, status = main.process_request(request)
224
+
225
+ assert status == 200
226
+ assert response['status'] == 'success'
227
+
228
+ def test_pubsub_function():
229
+ """Test Pub/Sub function."""
230
+ cloud_event = Mock()
231
+ cloud_event.data = {
232
+ 'message': {
233
+ 'data': base64.b64encode(b'{"test": "data"}')
234
+ }
235
+ }
236
+
237
+ # Should not raise exception
238
+ main.process_pubsub(cloud_event)
239
+ ```
240
+
241
+ ## Best Practices
242
+
243
+ ### Performance Optimization
244
+
245
+ - **Minimize Cold Starts**: Keep functions warm, minimize dependencies
246
+ - **Global Scope**: Initialize clients outside function handler
247
+ - **Lazy Loading**: Import heavy libraries only when needed
248
+ - **Connection Pooling**: Reuse database connections
249
+ - **Async Processing**: Use Pub/Sub for long-running tasks
250
+
251
+ ### Security
252
+
253
+ - **Service Accounts**: Minimal required permissions
254
+ - **Secret Manager**: Never hardcode credentials
255
+ - **VPC Connector**: Private resource access
256
+ - **IAM Bindings**: Function-level permissions
257
+ - **Input Validation**: Sanitize all inputs
258
+
259
+ ### Error Handling
260
+
261
+ - **Retries**: Configure retry policies
262
+ - **Dead Letter Topics**: Handle failed messages
263
+ - **Structured Logging**: JSON format for Cloud Logging
264
+ - **Error Reporting**: Integration with Error Reporting
265
+ - **Monitoring**: Custom metrics with Cloud Monitoring
266
+
267
+ ### Deployment
268
+
269
+ ```yaml
270
+ # cloudbuild.yaml
271
+ steps:
272
+ - name: 'gcr.io/cloud-builders/gcloud'
273
+ args:
274
+ - functions
275
+ - deploy
276
+ - ${_FUNCTION_NAME}
277
+ - --runtime=${_RUNTIME}
278
+ - --trigger-http
279
+ - --region=${_REGION}
280
+ - --entry-point=${_ENTRY_POINT}
281
+ - --service-account=${_SERVICE_ACCOUNT}
282
+ ```
283
+
284
+ ## Cost Optimization
285
+
286
+ - **Memory Allocation**: Right-size based on profiling
287
+ - **Timeout Settings**: Minimize execution time
288
+ - **Concurrency**: Configure max instances
289
+ - **Region Selection**: Deploy close to users/data
290
+ - **Tier Selection**: Use appropriate compute tier
291
+
292
+ ## Self-Verification Protocol
293
+
294
+ Before delivering any solution, verify:
295
+ - [ ] Context7 documentation has been consulted
296
+ - [ ] Function follows single responsibility principle
297
+ - [ ] Dependencies are minimized for cold starts
298
+ - [ ] Secrets use Secret Manager
299
+ - [ ] IAM permissions follow least privilege
300
+ - [ ] Error handling is comprehensive
301
+ - [ ] Logging provides observability
302
+ - [ ] Tests cover main scenarios
303
+ - [ ] Deployment configuration is complete
304
+ - [ ] Cost estimation is provided
305
+
306
+ You are an expert in building efficient, secure, and cost-effective serverless solutions on Google Cloud Platform.