@ruaruababa/vibe-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,1333 @@
1
+ # Workflow Automation Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ ## Instructions
6
+
7
+ ### 1. Workflow Analysis
8
+
9
+ Analyze existing processes and identify automation opportunities:
10
+
11
+ **Workflow Discovery Script**
12
+ ```python
13
+ import os
14
+ import yaml
15
+ import json
16
+ from pathlib import Path
17
+ from typing import List, Dict, Any
18
+
19
+ class WorkflowAnalyzer:
20
+ def analyze_project(self, project_path: str) -> Dict[str, Any]:
21
+ """
22
+ Analyze project to identify automation opportunities
23
+ """
24
+ analysis = {
25
+ 'current_workflows': self._find_existing_workflows(project_path),
26
+ 'manual_processes': self._identify_manual_processes(project_path),
27
+ 'automation_opportunities': [],
28
+ 'tool_recommendations': [],
29
+ 'complexity_score': 0
30
+ }
31
+
32
+ # Analyze different aspects
33
+ analysis['build_process'] = self._analyze_build_process(project_path)
34
+ analysis['test_process'] = self._analyze_test_process(project_path)
35
+ analysis['deployment_process'] = self._analyze_deployment_process(project_path)
36
+ analysis['code_quality'] = self._analyze_code_quality_checks(project_path)
37
+
38
+ # Generate recommendations
39
+ self._generate_recommendations(analysis)
40
+
41
+ return analysis
42
+
43
+ def _find_existing_workflows(self, project_path: str) -> List[Dict]:
44
+ """Find existing CI/CD workflows"""
45
+ workflows = []
46
+
47
+ # GitHub Actions
48
+ gh_workflow_path = Path(project_path) / '.github' / 'workflows'
49
+ if gh_workflow_path.exists():
50
+ for workflow_file in gh_workflow_path.glob('*.y*ml'):
51
+ with open(workflow_file) as f:
52
+ workflow = yaml.safe_load(f)
53
+ workflows.append({
54
+ 'type': 'github_actions',
55
+ 'name': workflow.get('name', workflow_file.stem),
56
+ 'file': str(workflow_file),
57
+ 'triggers': list(workflow.get('on', {}).keys())
58
+ })
59
+
60
+ # GitLab CI
61
+ gitlab_ci = Path(project_path) / '.gitlab-ci.yml'
62
+ if gitlab_ci.exists():
63
+ with open(gitlab_ci) as f:
64
+ config = yaml.safe_load(f)
65
+ workflows.append({
66
+ 'type': 'gitlab_ci',
67
+ 'name': 'GitLab CI Pipeline',
68
+ 'file': str(gitlab_ci),
69
+ 'stages': config.get('stages', [])
70
+ })
71
+
72
+ # Jenkins
73
+ jenkinsfile = Path(project_path) / 'Jenkinsfile'
74
+ if jenkinsfile.exists():
75
+ workflows.append({
76
+ 'type': 'jenkins',
77
+ 'name': 'Jenkins Pipeline',
78
+ 'file': str(jenkinsfile)
79
+ })
80
+
81
+ return workflows
82
+
83
+ def _identify_manual_processes(self, project_path: str) -> List[Dict]:
84
+ """Identify processes that could be automated"""
85
+ manual_processes = []
86
+
87
+ # Check for manual build scripts
88
+ script_patterns = ['build.sh', 'deploy.sh', 'release.sh', 'test.sh']
89
+ for pattern in script_patterns:
90
+ scripts = Path(project_path).glob(f'**/{pattern}')
91
+ for script in scripts:
92
+ manual_processes.append({
93
+ 'type': 'script',
94
+ 'file': str(script),
95
+ 'purpose': pattern.replace('.sh', ''),
96
+ 'automation_potential': 'high'
97
+ })
98
+
99
+ # Check README for manual steps
100
+ readme_files = ['README.md', 'README.rst', 'README.txt']
101
+ for readme_name in readme_files:
102
+ readme = Path(project_path) / readme_name
103
+ if readme.exists():
104
+ content = readme.read_text()
105
+ if any(keyword in content.lower() for keyword in ['manually', 'by hand', 'steps to']):
106
+ manual_processes.append({
107
+ 'type': 'documented_process',
108
+ 'file': str(readme),
109
+ 'indicators': 'Contains manual process documentation'
110
+ })
111
+
112
+ return manual_processes
113
+
114
+ def _generate_recommendations(self, analysis: Dict) -> None:
115
+ """Generate automation recommendations"""
116
+ recommendations = []
117
+
118
+ # CI/CD recommendations
119
+ if not analysis['current_workflows']:
120
+ recommendations.append({
121
+ 'priority': 'high',
122
+ 'category': 'ci_cd',
123
+ 'recommendation': 'Implement CI/CD pipeline',
124
+ 'tools': ['GitHub Actions', 'GitLab CI', 'Jenkins'],
125
+ 'effort': 'medium'
126
+ })
127
+
128
+ # Build automation
129
+ if analysis['build_process']['manual_steps']:
130
+ recommendations.append({
131
+ 'priority': 'high',
132
+ 'category': 'build',
133
+ 'recommendation': 'Automate build process',
134
+ 'tools': ['Make', 'Gradle', 'npm scripts'],
135
+ 'effort': 'low'
136
+ })
137
+
138
+ # Test automation
139
+ if not analysis['test_process']['automated_tests']:
140
+ recommendations.append({
141
+ 'priority': 'high',
142
+ 'category': 'testing',
143
+ 'recommendation': 'Implement automated testing',
144
+ 'tools': ['Jest', 'Pytest', 'JUnit'],
145
+ 'effort': 'medium'
146
+ })
147
+
148
+ # Deployment automation
149
+ if analysis['deployment_process']['manual_deployment']:
150
+ recommendations.append({
151
+ 'priority': 'critical',
152
+ 'category': 'deployment',
153
+ 'recommendation': 'Automate deployment process',
154
+ 'tools': ['ArgoCD', 'Flux', 'Terraform'],
155
+ 'effort': 'high'
156
+ })
157
+
158
+ analysis['automation_opportunities'] = recommendations
159
+ ```
160
+
161
+ ### 2. GitHub Actions Workflows
162
+
163
+ Create comprehensive GitHub Actions workflows:
164
+
165
+ **Multi-Environment CI/CD Pipeline**
166
+ ```yaml
167
+ # .github/workflows/ci-cd.yml
168
+ name: CI/CD Pipeline
169
+
170
+ on:
171
+ push:
172
+ branches: [main, develop]
173
+ pull_request:
174
+ branches: [main]
175
+ release:
176
+ types: [created]
177
+
178
+ env:
179
+ NODE_VERSION: '18'
180
+ PYTHON_VERSION: '3.11'
181
+ GO_VERSION: '1.21'
182
+
183
+ jobs:
184
+ # Code quality checks
185
+ quality:
186
+ name: Code Quality
187
+ runs-on: ubuntu-latest
188
+ steps:
189
+ - uses: actions/checkout@v4
190
+ with:
191
+ fetch-depth: 0 # Full history for better analysis
192
+
193
+ - name: Set up Node.js
194
+ uses: actions/setup-node@v4
195
+ with:
196
+ node-version: ${{ env.NODE_VERSION }}
197
+ cache: 'npm'
198
+
199
+ - name: Cache dependencies
200
+ uses: actions/cache@v3
201
+ with:
202
+ path: |
203
+ ~/.npm
204
+ ~/.cache
205
+ node_modules
206
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
207
+ restore-keys: |
208
+ ${{ runner.os }}-node-
209
+
210
+ - name: Install dependencies
211
+ run: npm ci
212
+
213
+ - name: Run linting
214
+ run: |
215
+ npm run lint
216
+ npm run lint:styles
217
+
218
+ - name: Type checking
219
+ run: npm run typecheck
220
+
221
+ - name: Security audit
222
+ run: |
223
+ npm audit --production
224
+ npx snyk test
225
+
226
+ - name: License check
227
+ run: npx license-checker --production --onlyAllow 'MIT;Apache-2.0;BSD-3-Clause;BSD-2-Clause;ISC'
228
+
229
+ # Testing
230
+ test:
231
+ name: Test Suite
232
+ runs-on: ${{ matrix.os }}
233
+ strategy:
234
+ matrix:
235
+ os: [ubuntu-latest, windows-latest, macos-latest]
236
+ node: [16, 18, 20]
237
+ steps:
238
+ - uses: actions/checkout@v4
239
+
240
+ - name: Set up Node.js
241
+ uses: actions/setup-node@v4
242
+ with:
243
+ node-version: ${{ matrix.node }}
244
+ cache: 'npm'
245
+
246
+ - name: Install dependencies
247
+ run: npm ci
248
+
249
+ - name: Run unit tests
250
+ run: npm run test:unit -- --coverage
251
+
252
+ - name: Run integration tests
253
+ run: npm run test:integration
254
+ env:
255
+ TEST_DATABASE_URL: ${{ secrets.TEST_DATABASE_URL }}
256
+
257
+ - name: Upload coverage
258
+ if: matrix.os == 'ubuntu-latest' && matrix.node == 18
259
+ uses: codecov/codecov-action@v3
260
+ with:
261
+ token: ${{ secrets.CODECOV_TOKEN }}
262
+ flags: unittests
263
+ name: codecov-umbrella
264
+
265
+ # Build
266
+ build:
267
+ name: Build Application
268
+ needs: [quality, test]
269
+ runs-on: ubuntu-latest
270
+ strategy:
271
+ matrix:
272
+ environment: [development, staging, production]
273
+ steps:
274
+ - uses: actions/checkout@v4
275
+
276
+ - name: Set up build environment
277
+ uses: actions/setup-node@v4
278
+ with:
279
+ node-version: ${{ env.NODE_VERSION }}
280
+ cache: 'npm'
281
+
282
+ - name: Install dependencies
283
+ run: npm ci
284
+
285
+ - name: Build application
286
+ run: npm run build
287
+ env:
288
+ NODE_ENV: ${{ matrix.environment }}
289
+ BUILD_NUMBER: ${{ github.run_number }}
290
+ COMMIT_SHA: ${{ github.sha }}
291
+
292
+ - name: Build Docker image
293
+ run: |
294
+ docker build \
295
+ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
296
+ --build-arg VCS_REF=${GITHUB_SHA::8} \
297
+ --build-arg VERSION=${GITHUB_REF#refs/tags/} \
298
+ -t ${{ github.repository }}:${{ matrix.environment }}-${{ github.sha }} \
299
+ -t ${{ github.repository }}:${{ matrix.environment }}-latest \
300
+ .
301
+
302
+ - name: Scan Docker image
303
+ uses: aquasecurity/trivy-action@master
304
+ with:
305
+ image-ref: ${{ github.repository }}:${{ matrix.environment }}-${{ github.sha }}
306
+ format: 'sarif'
307
+ output: 'trivy-results.sarif'
308
+
309
+ - name: Upload scan results
310
+ uses: github/codeql-action/upload-sarif@v2
311
+ with:
312
+ sarif_file: 'trivy-results.sarif'
313
+
314
+ - name: Push to registry
315
+ if: github.event_name != 'pull_request'
316
+ run: |
317
+ echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
318
+ docker push ${{ github.repository }}:${{ matrix.environment }}-${{ github.sha }}
319
+ docker push ${{ github.repository }}:${{ matrix.environment }}-latest
320
+
321
+ - name: Upload artifacts
322
+ uses: actions/upload-artifact@v3
323
+ with:
324
+ name: build-${{ matrix.environment }}
325
+ path: |
326
+ dist/
327
+ build/
328
+ .next/
329
+ retention-days: 7
330
+
331
+ # Deploy
332
+ deploy:
333
+ name: Deploy to ${{ matrix.environment }}
334
+ needs: build
335
+ runs-on: ubuntu-latest
336
+ if: github.event_name != 'pull_request'
337
+ strategy:
338
+ matrix:
339
+ environment: [staging, production]
340
+ exclude:
341
+ - environment: production
342
+ branches: [develop]
343
+ environment:
344
+ name: ${{ matrix.environment }}
345
+ url: ${{ steps.deploy.outputs.url }}
346
+ steps:
347
+ - uses: actions/checkout@v4
348
+
349
+ - name: Configure AWS credentials
350
+ uses: aws-actions/configure-aws-credentials@v2
351
+ with:
352
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
353
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
354
+ aws-region: us-east-1
355
+
356
+ - name: Deploy to ECS
357
+ id: deploy
358
+ run: |
359
+ # Update task definition
360
+ aws ecs register-task-definition \
361
+ --family myapp-${{ matrix.environment }} \
362
+ --container-definitions "[{
363
+ \"name\": \"app\",
364
+ \"image\": \"${{ github.repository }}:${{ matrix.environment }}-${{ github.sha }}\",
365
+ \"environment\": [{
366
+ \"name\": \"ENVIRONMENT\",
367
+ \"value\": \"${{ matrix.environment }}\"
368
+ }]
369
+ }]"
370
+
371
+ # Update service
372
+ aws ecs update-service \
373
+ --cluster ${{ matrix.environment }}-cluster \
374
+ --service myapp-service \
375
+ --task-definition myapp-${{ matrix.environment }}
376
+
377
+ # Get service URL
378
+ echo "url=https://${{ matrix.environment }}.example.com" >> $GITHUB_OUTPUT
379
+
380
+ - name: Notify deployment
381
+ uses: 8398a7/action-slack@v3
382
+ with:
383
+ status: ${{ job.status }}
384
+ text: Deployment to ${{ matrix.environment }} ${{ job.status }}
385
+ webhook_url: ${{ secrets.SLACK_WEBHOOK }}
386
+ if: always()
387
+
388
+ # Post-deployment verification
389
+ verify:
390
+ name: Verify Deployment
391
+ needs: deploy
392
+ runs-on: ubuntu-latest
393
+ strategy:
394
+ matrix:
395
+ environment: [staging, production]
396
+ steps:
397
+ - uses: actions/checkout@v4
398
+
399
+ - name: Run smoke tests
400
+ run: |
401
+ npm run test:smoke -- --url https://${{ matrix.environment }}.example.com
402
+
403
+ - name: Run E2E tests
404
+ uses: cypress-io/github-action@v5
405
+ with:
406
+ config: baseUrl=https://${{ matrix.environment }}.example.com
407
+ record: true
408
+ env:
409
+ CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
410
+
411
+ - name: Performance test
412
+ run: |
413
+ npm install -g @sitespeed.io/sitespeed.io
414
+ sitespeed.io https://${{ matrix.environment }}.example.com \
415
+ --budget.configPath=.sitespeed.io/budget.json \
416
+ --plugins.add=@sitespeed.io/plugin-lighthouse
417
+
418
+ - name: Security scan
419
+ run: |
420
+ npm install -g @zaproxy/action-baseline
421
+ zaproxy/action-baseline -t https://${{ matrix.environment }}.example.com
422
+ ```
423
+
424
+ ### 3. Release Automation
425
+
426
+ Automate release processes:
427
+
428
+ **Semantic Release Workflow**
429
+ ```yaml
430
+ # .github/workflows/release.yml
431
+ name: Release
432
+
433
+ on:
434
+ push:
435
+ branches:
436
+ - main
437
+
438
+ jobs:
439
+ release:
440
+ name: Create Release
441
+ runs-on: ubuntu-latest
442
+ steps:
443
+ - uses: actions/checkout@v4
444
+ with:
445
+ fetch-depth: 0
446
+ persist-credentials: false
447
+
448
+ - name: Set up Node.js
449
+ uses: actions/setup-node@v4
450
+ with:
451
+ node-version: 18
452
+
453
+ - name: Install dependencies
454
+ run: npm ci
455
+
456
+ - name: Run semantic release
457
+ env:
458
+ GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
459
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
460
+ run: npx semantic-release
461
+
462
+ - name: Update documentation
463
+ if: steps.semantic-release.outputs.new_release_published == 'true'
464
+ run: |
465
+ npm run docs:generate
466
+ npm run docs:publish
467
+
468
+ - name: Create release notes
469
+ if: steps.semantic-release.outputs.new_release_published == 'true'
470
+ uses: actions/github-script@v6
471
+ with:
472
+ script: |
473
+ const { data: releases } = await github.rest.repos.listReleases({
474
+ owner: context.repo.owner,
475
+ repo: context.repo.repo,
476
+ per_page: 1
477
+ });
478
+
479
+ const latestRelease = releases[0];
480
+ const changelog = await generateChangelog(latestRelease);
481
+
482
+ // Update release notes
483
+ await github.rest.repos.updateRelease({
484
+ owner: context.repo.owner,
485
+ repo: context.repo.repo,
486
+ release_id: latestRelease.id,
487
+ body: changelog
488
+ });
489
+ ```
490
+
491
+ **Release Configuration**
492
+ ```javascript
493
+ // .releaserc.js
494
+ module.exports = {
495
+ branches: [
496
+ 'main',
497
+ { name: 'beta', prerelease: true },
498
+ { name: 'alpha', prerelease: true }
499
+ ],
500
+ plugins: [
501
+ '@semantic-release/commit-analyzer',
502
+ '@semantic-release/release-notes-generator',
503
+ ['@semantic-release/changelog', {
504
+ changelogFile: 'CHANGELOG.md'
505
+ }],
506
+ '@semantic-release/npm',
507
+ ['@semantic-release/git', {
508
+ assets: ['CHANGELOG.md', 'package.json'],
509
+ message: 'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}'
510
+ }],
511
+ '@semantic-release/github'
512
+ ]
513
+ };
514
+ ```
515
+
516
+ ### 4. Development Workflow Automation
517
+
518
+ Automate common development tasks:
519
+
520
+ **Pre-commit Hooks**
521
+ ```yaml
522
+ # .pre-commit-config.yaml
523
+ repos:
524
+ - repo: https://github.com/pre-commit/pre-commit-hooks
525
+ rev: v4.5.0
526
+ hooks:
527
+ - id: trailing-whitespace
528
+ - id: end-of-file-fixer
529
+ - id: check-yaml
530
+ - id: check-added-large-files
531
+ args: ['--maxkb=1000']
532
+ - id: check-case-conflict
533
+ - id: check-merge-conflict
534
+ - id: detect-private-key
535
+
536
+ - repo: https://github.com/psf/black
537
+ rev: 23.10.0
538
+ hooks:
539
+ - id: black
540
+ language_version: python3.11
541
+
542
+ - repo: https://github.com/pycqa/isort
543
+ rev: 5.12.0
544
+ hooks:
545
+ - id: isort
546
+ args: ["--profile", "black"]
547
+
548
+ - repo: https://github.com/pycqa/flake8
549
+ rev: 6.1.0
550
+ hooks:
551
+ - id: flake8
552
+ additional_dependencies: [flake8-docstrings]
553
+
554
+ - repo: https://github.com/pre-commit/mirrors-eslint
555
+ rev: v8.52.0
556
+ hooks:
557
+ - id: eslint
558
+ files: \.[jt]sx?$
559
+ types: [file]
560
+ additional_dependencies:
561
+ - eslint@8.52.0
562
+ - eslint-config-prettier@9.0.0
563
+ - eslint-plugin-react@7.33.2
564
+
565
+ - repo: https://github.com/pre-commit/mirrors-prettier
566
+ rev: v3.0.3
567
+ hooks:
568
+ - id: prettier
569
+ types_or: [css, javascript, jsx, typescript, tsx, json, yaml]
570
+
571
+ - repo: local
572
+ hooks:
573
+ - id: unit-tests
574
+ name: Run unit tests
575
+ entry: npm run test:unit -- --passWithNoTests
576
+ language: system
577
+ pass_filenames: false
578
+ stages: [commit]
579
+ ```
580
+
581
+ **Development Environment Setup**
582
+ ```bash
583
+ #!/bin/bash
584
+ # scripts/setup-dev-environment.sh
585
+
586
+ set -euo pipefail
587
+
588
+ echo "🚀 Setting up development environment..."
589
+
590
+ # Check prerequisites
591
+ check_prerequisites() {
592
+ echo "Checking prerequisites..."
593
+
594
+ commands=("git" "node" "npm" "docker" "docker-compose")
595
+ for cmd in "${commands[@]}"; do
596
+ if ! command -v "$cmd" &> /dev/null; then
597
+ echo "❌ $cmd is not installed"
598
+ exit 1
599
+ fi
600
+ done
601
+
602
+ echo "✅ All prerequisites installed"
603
+ }
604
+
605
+ # Install dependencies
606
+ install_dependencies() {
607
+ echo "Installing dependencies..."
608
+ npm ci
609
+
610
+ # Install global tools
611
+ npm install -g @commitlint/cli @commitlint/config-conventional
612
+ npm install -g semantic-release
613
+
614
+ # Install pre-commit
615
+ pip install pre-commit
616
+ pre-commit install
617
+ pre-commit install --hook-type commit-msg
618
+ }
619
+
620
+ # Setup local services
621
+ setup_services() {
622
+ echo "Setting up local services..."
623
+
624
+ # Create docker network
625
+ docker network create dev-network 2>/dev/null || true
626
+
627
+ # Start services
628
+ docker-compose -f docker-compose.dev.yml up -d
629
+
630
+ # Wait for services
631
+ echo "Waiting for services to be ready..."
632
+ ./scripts/wait-for-services.sh
633
+ }
634
+
635
+ # Initialize database
636
+ initialize_database() {
637
+ echo "Initializing database..."
638
+ npm run db:migrate
639
+ npm run db:seed
640
+ }
641
+
642
+ # Setup environment variables
643
+ setup_environment() {
644
+ echo "Setting up environment variables..."
645
+
646
+ if [ ! -f .env.local ]; then
647
+ cp .env.example .env.local
648
+ echo "✅ Created .env.local from .env.example"
649
+ echo "⚠️ Please update .env.local with your values"
650
+ fi
651
+ }
652
+
653
+ # Main execution
654
+ main() {
655
+ check_prerequisites
656
+ install_dependencies
657
+ setup_services
658
+ setup_environment
659
+ initialize_database
660
+
661
+ echo "✅ Development environment setup complete!"
662
+ echo ""
663
+ echo "Next steps:"
664
+ echo "1. Update .env.local with your configuration"
665
+ echo "2. Run 'npm run dev' to start the development server"
666
+ echo "3. Visit http://localhost:3000"
667
+ }
668
+
669
+ main
670
+ ```
671
+
672
+ ### 5. Infrastructure Automation
673
+
674
+ Automate infrastructure provisioning:
675
+
676
+ **Terraform Workflow**
677
+ ```yaml
678
+ # .github/workflows/terraform.yml
679
+ name: Terraform
680
+
681
+ on:
682
+ pull_request:
683
+ paths:
684
+ - 'terraform/**'
685
+ - '.github/workflows/terraform.yml'
686
+ push:
687
+ branches:
688
+ - main
689
+ paths:
690
+ - 'terraform/**'
691
+
692
+ env:
693
+ TF_VERSION: '1.6.0'
694
+ TF_VAR_project_name: ${{ github.event.repository.name }}
695
+
696
+ jobs:
697
+ terraform:
698
+ name: Terraform Plan & Apply
699
+ runs-on: ubuntu-latest
700
+ defaults:
701
+ run:
702
+ working-directory: terraform
703
+
704
+ steps:
705
+ - uses: actions/checkout@v4
706
+
707
+ - name: Setup Terraform
708
+ uses: hashicorp/setup-terraform@v2
709
+ with:
710
+ terraform_version: ${{ env.TF_VERSION }}
711
+ terraform_wrapper: false
712
+
713
+ - name: Configure AWS Credentials
714
+ uses: aws-actions/configure-aws-credentials@v2
715
+ with:
716
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
717
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
718
+ aws-region: us-east-1
719
+
720
+ - name: Terraform Format Check
721
+ run: terraform fmt -check -recursive
722
+
723
+ - name: Terraform Init
724
+ run: |
725
+ terraform init \
726
+ -backend-config="bucket=${{ secrets.TF_STATE_BUCKET }}" \
727
+ -backend-config="key=${{ github.repository }}/terraform.tfstate" \
728
+ -backend-config="region=us-east-1"
729
+
730
+ - name: Terraform Validate
731
+ run: terraform validate
732
+
733
+ - name: Terraform Plan
734
+ id: plan
735
+ run: |
736
+ terraform plan -out=tfplan -no-color | tee plan_output.txt
737
+
738
+ # Extract plan summary
739
+ echo "PLAN_SUMMARY<<EOF" >> $GITHUB_ENV
740
+ grep -E '(Plan:|No changes.|# )' plan_output.txt >> $GITHUB_ENV
741
+ echo "EOF" >> $GITHUB_ENV
742
+
743
+ - name: Comment PR
744
+ if: github.event_name == 'pull_request'
745
+ uses: actions/github-script@v6
746
+ with:
747
+ script: |
748
+ const output = `#### Terraform Plan 📖
749
+ \`\`\`
750
+ ${process.env.PLAN_SUMMARY}
751
+ \`\`\`
752
+
753
+ *Pushed by: @${{ github.actor }}, Action: \`${{ github.event_name }}\`*`;
754
+
755
+ github.rest.issues.createComment({
756
+ issue_number: context.issue.number,
757
+ owner: context.repo.owner,
758
+ repo: context.repo.repo,
759
+ body: output
760
+ });
761
+
762
+ - name: Terraform Apply
763
+ if: github.ref == 'refs/heads/main' && github.event_name == 'push'
764
+ run: terraform apply tfplan
765
+ ```
766
+
767
+ ### 6. Monitoring and Alerting Automation
768
+
769
+ Automate monitoring setup:
770
+
771
+ **Monitoring Stack Deployment**
772
+ ```yaml
773
+ # .github/workflows/monitoring.yml
774
+ name: Deploy Monitoring
775
+
776
+ on:
777
+ push:
778
+ paths:
779
+ - 'monitoring/**'
780
+ - '.github/workflows/monitoring.yml'
781
+ branches:
782
+ - main
783
+
784
+ jobs:
785
+ deploy-monitoring:
786
+ name: Deploy Monitoring Stack
787
+ runs-on: ubuntu-latest
788
+
789
+ steps:
790
+ - uses: actions/checkout@v4
791
+
792
+ - name: Setup Helm
793
+ uses: azure/setup-helm@v3
794
+ with:
795
+ version: '3.12.0'
796
+
797
+ - name: Configure Kubernetes
798
+ run: |
799
+ echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > kubeconfig
800
+ export KUBECONFIG=kubeconfig
801
+
802
+ - name: Add Helm repositories
803
+ run: |
804
+ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
805
+ helm repo add grafana https://grafana.github.io/helm-charts
806
+ helm repo update
807
+
808
+ - name: Deploy Prometheus
809
+ run: |
810
+ helm upgrade --install prometheus prometheus-community/kube-prometheus-stack \
811
+ --namespace monitoring \
812
+ --create-namespace \
813
+ --values monitoring/prometheus-values.yaml \
814
+ --wait
815
+
816
+ - name: Deploy Grafana Dashboards
817
+ run: |
818
+ kubectl apply -f monitoring/dashboards/
819
+
820
+ - name: Deploy Alert Rules
821
+ run: |
822
+ kubectl apply -f monitoring/alerts/
823
+
824
+ - name: Setup Alert Routing
825
+ run: |
826
+ helm upgrade --install alertmanager prometheus-community/alertmanager \
827
+ --namespace monitoring \
828
+ --values monitoring/alertmanager-values.yaml
829
+ ```
830
+
831
+ ### 7. Dependency Update Automation
832
+
833
+ Automate dependency updates:
834
+
835
+ **Renovate Configuration**
836
+ ```json
837
+ {
838
+ "extends": [
839
+ "config:base",
840
+ ":dependencyDashboard",
841
+ ":semanticCommits",
842
+ ":automergeDigest",
843
+ ":automergeMinor"
844
+ ],
845
+ "schedule": ["after 10pm every weekday", "before 5am every weekday", "every weekend"],
846
+ "timezone": "America/New_York",
847
+ "vulnerabilityAlerts": {
848
+ "labels": ["security"],
849
+ "automerge": true
850
+ },
851
+ "packageRules": [
852
+ {
853
+ "matchDepTypes": ["devDependencies"],
854
+ "automerge": true
855
+ },
856
+ {
857
+ "matchPackagePatterns": ["^@types/"],
858
+ "automerge": true
859
+ },
860
+ {
861
+ "matchPackageNames": ["node"],
862
+ "enabled": false
863
+ },
864
+ {
865
+ "matchPackagePatterns": ["^eslint"],
866
+ "groupName": "eslint packages",
867
+ "automerge": true
868
+ },
869
+ {
870
+ "matchManagers": ["docker"],
871
+ "pinDigests": true
872
+ }
873
+ ],
874
+ "postUpdateOptions": [
875
+ "npmDedupe",
876
+ "yarnDedupeHighest"
877
+ ],
878
+ "prConcurrentLimit": 3,
879
+ "prCreation": "not-pending",
880
+ "rebaseWhen": "behind-base-branch",
881
+ "semanticCommitScope": "deps"
882
+ }
883
+ ```
884
+
885
+ ### 8. Documentation Automation
886
+
887
+ Automate documentation generation:
888
+
889
+ **Documentation Workflow**
890
+ ```yaml
891
+ # .github/workflows/docs.yml
892
+ name: Documentation
893
+
894
+ on:
895
+ push:
896
+ branches: [main]
897
+ paths:
898
+ - 'src/**'
899
+ - 'docs/**'
900
+ - 'README.md'
901
+
902
+ jobs:
903
+ generate-docs:
904
+ name: Generate Documentation
905
+ runs-on: ubuntu-latest
906
+
907
+ steps:
908
+ - uses: actions/checkout@v4
909
+
910
+ - name: Setup Node.js
911
+ uses: actions/setup-node@v4
912
+ with:
913
+ node-version: 18
914
+
915
+ - name: Install dependencies
916
+ run: npm ci
917
+
918
+ - name: Generate API docs
919
+ run: |
920
+ npm run docs:api
921
+ npm run docs:typescript
922
+
923
+ - name: Generate architecture diagrams
924
+ run: |
925
+ npm install -g @mermaid-js/mermaid-cli
926
+ mmdc -i docs/architecture.mmd -o docs/architecture.png
927
+
928
+ - name: Build documentation site
929
+ run: |
930
+ npm run docs:build
931
+
932
+ - name: Deploy to GitHub Pages
933
+ uses: peaceiris/actions-gh-pages@v3
934
+ with:
935
+ github_token: ${{ secrets.GITHUB_TOKEN }}
936
+ publish_dir: ./docs/dist
937
+ cname: docs.example.com
938
+ ```
939
+
940
+ **Documentation Generation Script**
941
+ ```typescript
942
+ // scripts/generate-docs.ts
943
+ import { Application, TSConfigReader, TypeDocReader } from 'typedoc';
944
+ import { generateMarkdown } from './markdown-generator';
945
+ import { createApiReference } from './api-reference';
946
+
947
+ async function generateDocumentation() {
948
+ // TypeDoc for TypeScript documentation
949
+ const app = new Application();
950
+ app.options.addReader(new TSConfigReader());
951
+ app.options.addReader(new TypeDocReader());
952
+
953
+ app.bootstrap({
954
+ entryPoints: ['src/index.ts'],
955
+ out: 'docs/api',
956
+ theme: 'default',
957
+ includeVersion: true,
958
+ excludePrivate: true,
959
+ readme: 'README.md',
960
+ plugin: ['typedoc-plugin-markdown']
961
+ });
962
+
963
+ const project = app.convert();
964
+ if (project) {
965
+ await app.generateDocs(project, 'docs/api');
966
+
967
+ // Generate custom markdown docs
968
+ await generateMarkdown(project, {
969
+ output: 'docs/guides',
970
+ includeExamples: true,
971
+ generateTOC: true
972
+ });
973
+
974
+ // Create API reference
975
+ await createApiReference(project, {
976
+ format: 'openapi',
977
+ output: 'docs/openapi.json',
978
+ includeSchemas: true
979
+ });
980
+ }
981
+
982
+ // Generate architecture documentation
983
+ await generateArchitectureDocs();
984
+
985
+ // Generate deployment guides
986
+ await generateDeploymentGuides();
987
+ }
988
+
989
+ async function generateArchitectureDocs() {
990
+ const mermaidDiagrams = `
991
+ graph TB
992
+ A[Client] --> B[Load Balancer]
993
+ B --> C[Web Server]
994
+ C --> D[Application Server]
995
+ D --> E[Database]
996
+ D --> F[Cache]
997
+ D --> G[Message Queue]
998
+ `;
999
+
1000
+ // Save diagrams and generate documentation
1001
+ await fs.writeFile('docs/architecture.mmd', mermaidDiagrams);
1002
+ }
1003
+ ```
1004
+
1005
+ ### 9. Security Automation
1006
+
1007
+ Automate security scanning and compliance:
1008
+
1009
+ **Security Scanning Workflow**
1010
+ ```yaml
1011
+ # .github/workflows/security.yml
1012
+ name: Security Scan
1013
+
1014
+ on:
1015
+ push:
1016
+ branches: [main, develop]
1017
+ pull_request:
1018
+ schedule:
1019
+ - cron: '0 0 * * 0' # Weekly on Sunday
1020
+
1021
+ jobs:
1022
+ security-scan:
1023
+ name: Security Scanning
1024
+ runs-on: ubuntu-latest
1025
+
1026
+ steps:
1027
+ - uses: actions/checkout@v4
1028
+
1029
+ - name: Run Trivy vulnerability scanner
1030
+ uses: aquasecurity/trivy-action@master
1031
+ with:
1032
+ scan-type: 'fs'
1033
+ scan-ref: '.'
1034
+ format: 'sarif'
1035
+ output: 'trivy-results.sarif'
1036
+ severity: 'CRITICAL,HIGH'
1037
+
1038
+ - name: Upload Trivy results
1039
+ uses: github/codeql-action/upload-sarif@v2
1040
+ with:
1041
+ sarif_file: 'trivy-results.sarif'
1042
+
1043
+ - name: Run Snyk security scan
1044
+ uses: snyk/actions/node@master
1045
+ env:
1046
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
1047
+ with:
1048
+ args: --severity-threshold=high
1049
+
1050
+ - name: Run OWASP Dependency Check
1051
+ uses: dependency-check/Dependency-Check_Action@main
1052
+ with:
1053
+ project: ${{ github.repository }}
1054
+ path: '.'
1055
+ format: 'ALL'
1056
+ args: >
1057
+ --enableRetired
1058
+ --enableExperimental
1059
+
1060
+ - name: SonarCloud Scan
1061
+ uses: SonarSource/sonarcloud-github-action@master
1062
+ env:
1063
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1064
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
1065
+
1066
+ - name: Run Semgrep
1067
+ uses: returntocorp/semgrep-action@v1
1068
+ with:
1069
+ config: >-
1070
+ p/security-audit
1071
+ p/secrets
1072
+ p/owasp-top-ten
1073
+
1074
+ - name: GitLeaks secret scanning
1075
+ uses: gitleaks/gitleaks-action@v2
1076
+ env:
1077
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1078
+ ```
1079
+
1080
+ ### 10. Workflow Orchestration
1081
+
1082
+ Create complex workflow orchestration:
1083
+
1084
+ **Workflow Orchestrator**
1085
+ ```typescript
1086
+ // workflow-orchestrator.ts
1087
+ import { EventEmitter } from 'events';
1088
+ import { Logger } from 'winston';
1089
+
1090
+ interface WorkflowStep {
1091
+ name: string;
1092
+ type: 'parallel' | 'sequential';
1093
+ steps?: WorkflowStep[];
1094
+ action?: () => Promise<any>;
1095
+ retries?: number;
1096
+ timeout?: number;
1097
+ condition?: () => boolean;
1098
+ onError?: 'fail' | 'continue' | 'retry';
1099
+ }
1100
+
1101
+ export class WorkflowOrchestrator extends EventEmitter {
1102
+ constructor(
1103
+ private logger: Logger,
1104
+ private config: WorkflowConfig
1105
+ ) {
1106
+ super();
1107
+ }
1108
+
1109
+ async execute(workflow: WorkflowStep): Promise<WorkflowResult> {
1110
+ const startTime = Date.now();
1111
+ const result: WorkflowResult = {
1112
+ success: true,
1113
+ steps: [],
1114
+ duration: 0
1115
+ };
1116
+
1117
+ try {
1118
+ await this.executeStep(workflow, result);
1119
+ } catch (error) {
1120
+ result.success = false;
1121
+ result.error = error;
1122
+ this.emit('workflow:failed', result);
1123
+ }
1124
+
1125
+ result.duration = Date.now() - startTime;
1126
+ this.emit('workflow:completed', result);
1127
+
1128
+ return result;
1129
+ }
1130
+
1131
+ private async executeStep(
1132
+ step: WorkflowStep,
1133
+ result: WorkflowResult,
1134
+ parentPath: string = ''
1135
+ ): Promise<void> {
1136
+ const stepPath = parentPath ? `${parentPath}.${step.name}` : step.name;
1137
+
1138
+ this.emit('step:start', { step: stepPath });
1139
+
1140
+ // Check condition
1141
+ if (step.condition && !step.condition()) {
1142
+ this.logger.info(`Skipping step ${stepPath} due to condition`);
1143
+ this.emit('step:skipped', { step: stepPath });
1144
+ return;
1145
+ }
1146
+
1147
+ const stepResult: StepResult = {
1148
+ name: step.name,
1149
+ path: stepPath,
1150
+ startTime: Date.now(),
1151
+ success: true
1152
+ };
1153
+
1154
+ try {
1155
+ if (step.action) {
1156
+ // Execute single action
1157
+ await this.executeAction(step, stepResult);
1158
+ } else if (step.steps) {
1159
+ // Execute sub-steps
1160
+ if (step.type === 'parallel') {
1161
+ await this.executeParallel(step.steps, result, stepPath);
1162
+ } else {
1163
+ await this.executeSequential(step.steps, result, stepPath);
1164
+ }
1165
+ }
1166
+
1167
+ stepResult.endTime = Date.now();
1168
+ stepResult.duration = stepResult.endTime - stepResult.startTime;
1169
+ result.steps.push(stepResult);
1170
+
1171
+ this.emit('step:complete', { step: stepPath, result: stepResult });
1172
+ } catch (error) {
1173
+ stepResult.success = false;
1174
+ stepResult.error = error;
1175
+ result.steps.push(stepResult);
1176
+
1177
+ this.emit('step:failed', { step: stepPath, error });
1178
+
1179
+ if (step.onError === 'fail') {
1180
+ throw error;
1181
+ }
1182
+ }
1183
+ }
1184
+
1185
+ private async executeAction(
1186
+ step: WorkflowStep,
1187
+ stepResult: StepResult
1188
+ ): Promise<void> {
1189
+ const timeout = step.timeout || this.config.defaultTimeout;
1190
+ const retries = step.retries || 0;
1191
+
1192
+ let lastError: Error;
1193
+
1194
+ for (let attempt = 0; attempt <= retries; attempt++) {
1195
+ try {
1196
+ const result = await Promise.race([
1197
+ step.action!(),
1198
+ this.createTimeout(timeout)
1199
+ ]);
1200
+
1201
+ stepResult.output = result;
1202
+ return;
1203
+ } catch (error) {
1204
+ lastError = error as Error;
1205
+
1206
+ if (attempt < retries) {
1207
+ this.logger.warn(`Step ${step.name} failed, retry ${attempt + 1}/${retries}`);
1208
+ await this.delay(this.calculateBackoff(attempt));
1209
+ }
1210
+ }
1211
+ }
1212
+
1213
+ throw lastError!;
1214
+ }
1215
+
1216
+ private async executeParallel(
1217
+ steps: WorkflowStep[],
1218
+ result: WorkflowResult,
1219
+ parentPath: string
1220
+ ): Promise<void> {
1221
+ await Promise.all(
1222
+ steps.map(step => this.executeStep(step, result, parentPath))
1223
+ );
1224
+ }
1225
+
1226
+ private async executeSequential(
1227
+ steps: WorkflowStep[],
1228
+ result: WorkflowResult,
1229
+ parentPath: string
1230
+ ): Promise<void> {
1231
+ for (const step of steps) {
1232
+ await this.executeStep(step, result, parentPath);
1233
+ }
1234
+ }
1235
+
1236
+ private createTimeout(ms: number): Promise<never> {
1237
+ return new Promise((_, reject) => {
1238
+ setTimeout(() => reject(new Error(`Timeout after ${ms}ms`)), ms);
1239
+ });
1240
+ }
1241
+
1242
+ private calculateBackoff(attempt: number): number {
1243
+ return Math.min(1000 * Math.pow(2, attempt), 30000);
1244
+ }
1245
+
1246
+ private delay(ms: number): Promise<void> {
1247
+ return new Promise(resolve => setTimeout(resolve, ms));
1248
+ }
1249
+ }
1250
+
1251
+ // Example workflow definition
1252
+ export const deploymentWorkflow: WorkflowStep = {
1253
+ name: 'deployment',
1254
+ type: 'sequential',
1255
+ steps: [
1256
+ {
1257
+ name: 'pre-deployment',
1258
+ type: 'parallel',
1259
+ steps: [
1260
+ {
1261
+ name: 'backup-database',
1262
+ action: async () => {
1263
+ // Backup database
1264
+ },
1265
+ timeout: 300000 // 5 minutes
1266
+ },
1267
+ {
1268
+ name: 'health-check',
1269
+ action: async () => {
1270
+ // Check system health
1271
+ },
1272
+ retries: 3
1273
+ }
1274
+ ]
1275
+ },
1276
+ {
1277
+ name: 'deployment',
1278
+ type: 'sequential',
1279
+ steps: [
1280
+ {
1281
+ name: 'blue-green-switch',
1282
+ action: async () => {
1283
+ // Switch traffic to new version
1284
+ },
1285
+ onError: 'retry',
1286
+ retries: 2
1287
+ },
1288
+ {
1289
+ name: 'smoke-tests',
1290
+ action: async () => {
1291
+ // Run smoke tests
1292
+ },
1293
+ onError: 'fail'
1294
+ }
1295
+ ]
1296
+ },
1297
+ {
1298
+ name: 'post-deployment',
1299
+ type: 'parallel',
1300
+ steps: [
1301
+ {
1302
+ name: 'notify-teams',
1303
+ action: async () => {
1304
+ // Send notifications
1305
+ },
1306
+ onError: 'continue'
1307
+ },
1308
+ {
1309
+ name: 'update-monitoring',
1310
+ action: async () => {
1311
+ // Update monitoring dashboards
1312
+ }
1313
+ }
1314
+ ]
1315
+ }
1316
+ ]
1317
+ };
1318
+ ```
1319
+
1320
+ ## Output Format
1321
+
1322
+ 1. **Workflow Analysis**: Current processes and automation opportunities
1323
+ 2. **CI/CD Pipeline**: Complete GitHub Actions/GitLab CI configuration
1324
+ 3. **Release Automation**: Semantic versioning and release workflows
1325
+ 4. **Development Automation**: Pre-commit hooks and setup scripts
1326
+ 5. **Infrastructure Automation**: Terraform and Kubernetes workflows
1327
+ 6. **Security Automation**: Scanning and compliance workflows
1328
+ 7. **Documentation Generation**: Automated docs and diagrams
1329
+ 8. **Workflow Orchestration**: Complex workflow management
1330
+ 9. **Monitoring Integration**: Automated alerts and dashboards
1331
+ 10. **Implementation Guide**: Step-by-step setup instructions
1332
+
1333
+ Focus on creating reliable, maintainable automation that reduces manual work while maintaining quality and security standards.