@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,1052 @@
1
+ # Code Migration Assistant Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Code Migration Assistant
6
+
7
+ You are a code migration expert specializing in transitioning codebases between frameworks, languages, versions, and platforms. Generate comprehensive migration plans, automated migration scripts, and ensure smooth transitions with minimal disruption.
8
+
9
+ ## Context
10
+ The user needs to migrate code from one technology stack to another, upgrade to newer versions, or transition between platforms. Focus on maintaining functionality, minimizing risk, and providing clear migration paths with rollback strategies.
11
+
12
+ ## Requirements
13
+ $ARGUMENTS
14
+
15
+ ## Instructions
16
+
17
+ ### 1. Migration Assessment
18
+
19
+ Analyze the current codebase and migration requirements:
20
+
21
+ **Migration Analyzer**
22
+ ```python
23
+ import os
24
+ import json
25
+ import ast
26
+ import re
27
+ from pathlib import Path
28
+ from collections import defaultdict
29
+
30
+ class MigrationAnalyzer:
31
+ def __init__(self, source_path, target_tech):
32
+ self.source_path = Path(source_path)
33
+ self.target_tech = target_tech
34
+ self.analysis = defaultdict(dict)
35
+
36
+ def analyze_migration(self):
37
+ """
38
+ Comprehensive migration analysis
39
+ """
40
+ self.analysis['source'] = self._analyze_source()
41
+ self.analysis['complexity'] = self._assess_complexity()
42
+ self.analysis['dependencies'] = self._analyze_dependencies()
43
+ self.analysis['risks'] = self._identify_risks()
44
+ self.analysis['effort'] = self._estimate_effort()
45
+ self.analysis['strategy'] = self._recommend_strategy()
46
+
47
+ return self.analysis
48
+
49
+ def _analyze_source(self):
50
+ """Analyze source codebase characteristics"""
51
+ stats = {
52
+ 'files': 0,
53
+ 'lines': 0,
54
+ 'components': 0,
55
+ 'patterns': [],
56
+ 'frameworks': set(),
57
+ 'languages': defaultdict(int)
58
+ }
59
+
60
+ for file_path in self.source_path.rglob('*'):
61
+ if file_path.is_file() and not self._is_ignored(file_path):
62
+ stats['files'] += 1
63
+ ext = file_path.suffix
64
+ stats['languages'][ext] += 1
65
+
66
+ with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
67
+ content = f.read()
68
+ stats['lines'] += len(content.splitlines())
69
+
70
+ # Detect frameworks and patterns
71
+ self._detect_patterns(content, stats)
72
+
73
+ return stats
74
+
75
+ def _assess_complexity(self):
76
+ """Assess migration complexity"""
77
+ factors = {
78
+ 'size': self._calculate_size_complexity(),
79
+ 'architectural': self._calculate_architectural_complexity(),
80
+ 'dependency': self._calculate_dependency_complexity(),
81
+ 'business_logic': self._calculate_logic_complexity(),
82
+ 'data': self._calculate_data_complexity()
83
+ }
84
+
85
+ overall = sum(factors.values()) / len(factors)
86
+
87
+ return {
88
+ 'factors': factors,
89
+ 'overall': overall,
90
+ 'level': self._get_complexity_level(overall)
91
+ }
92
+
93
+ def _identify_risks(self):
94
+ """Identify migration risks"""
95
+ risks = []
96
+
97
+ # Check for high-risk patterns
98
+ risk_patterns = {
99
+ 'global_state': {
100
+ 'pattern': r'(global|window)\.\w+\s*=',
101
+ 'severity': 'high',
102
+ 'description': 'Global state management needs careful migration'
103
+ },
104
+ 'direct_dom': {
105
+ 'pattern': r'document\.(getElementById|querySelector)',
106
+ 'severity': 'medium',
107
+ 'description': 'Direct DOM manipulation needs framework adaptation'
108
+ },
109
+ 'async_patterns': {
110
+ 'pattern': r'(callback|setTimeout|setInterval)',
111
+ 'severity': 'medium',
112
+ 'description': 'Async patterns may need modernization'
113
+ },
114
+ 'deprecated_apis': {
115
+ 'pattern': r'(componentWillMount|componentWillReceiveProps)',
116
+ 'severity': 'high',
117
+ 'description': 'Deprecated APIs need replacement'
118
+ }
119
+ }
120
+
121
+ for risk_name, risk_info in risk_patterns.items():
122
+ occurrences = self._count_pattern_occurrences(risk_info['pattern'])
123
+ if occurrences > 0:
124
+ risks.append({
125
+ 'type': risk_name,
126
+ 'severity': risk_info['severity'],
127
+ 'description': risk_info['description'],
128
+ 'occurrences': occurrences,
129
+ 'mitigation': self._suggest_mitigation(risk_name)
130
+ })
131
+
132
+ return sorted(risks, key=lambda x: {'high': 0, 'medium': 1, 'low': 2}[x['severity']])
133
+ ```
134
+
135
+ ### 2. Migration Planning
136
+
137
+ Create detailed migration plans:
138
+
139
+ **Migration Planner**
140
+ ```python
141
+ class MigrationPlanner:
142
+ def create_migration_plan(self, analysis):
143
+ """
144
+ Create comprehensive migration plan
145
+ """
146
+ plan = {
147
+ 'phases': self._define_phases(analysis),
148
+ 'timeline': self._estimate_timeline(analysis),
149
+ 'resources': self._calculate_resources(analysis),
150
+ 'milestones': self._define_milestones(analysis),
151
+ 'success_criteria': self._define_success_criteria()
152
+ }
153
+
154
+ return self._format_plan(plan)
155
+
156
+ def _define_phases(self, analysis):
157
+ """Define migration phases"""
158
+ complexity = analysis['complexity']['overall']
159
+
160
+ if complexity < 3:
161
+ # Simple migration
162
+ return [
163
+ {
164
+ 'name': 'Preparation',
165
+ 'duration': '1 week',
166
+ 'tasks': [
167
+ 'Setup new project structure',
168
+ 'Install dependencies',
169
+ 'Configure build tools',
170
+ 'Setup testing framework'
171
+ ]
172
+ },
173
+ {
174
+ 'name': 'Core Migration',
175
+ 'duration': '2-3 weeks',
176
+ 'tasks': [
177
+ 'Migrate utility functions',
178
+ 'Port components/modules',
179
+ 'Update data models',
180
+ 'Migrate business logic'
181
+ ]
182
+ },
183
+ {
184
+ 'name': 'Testing & Refinement',
185
+ 'duration': '1 week',
186
+ 'tasks': [
187
+ 'Unit testing',
188
+ 'Integration testing',
189
+ 'Performance testing',
190
+ 'Bug fixes'
191
+ ]
192
+ }
193
+ ]
194
+ else:
195
+ # Complex migration
196
+ return [
197
+ {
198
+ 'name': 'Phase 0: Foundation',
199
+ 'duration': '2 weeks',
200
+ 'tasks': [
201
+ 'Architecture design',
202
+ 'Proof of concept',
203
+ 'Tool selection',
204
+ 'Team training'
205
+ ]
206
+ },
207
+ {
208
+ 'name': 'Phase 1: Infrastructure',
209
+ 'duration': '3 weeks',
210
+ 'tasks': [
211
+ 'Setup build pipeline',
212
+ 'Configure development environment',
213
+ 'Implement core abstractions',
214
+ 'Setup automated testing'
215
+ ]
216
+ },
217
+ {
218
+ 'name': 'Phase 2: Incremental Migration',
219
+ 'duration': '6-8 weeks',
220
+ 'tasks': [
221
+ 'Migrate shared utilities',
222
+ 'Port feature modules',
223
+ 'Implement adapters/bridges',
224
+ 'Maintain dual runtime'
225
+ ]
226
+ },
227
+ {
228
+ 'name': 'Phase 3: Cutover',
229
+ 'duration': '2 weeks',
230
+ 'tasks': [
231
+ 'Complete remaining migrations',
232
+ 'Remove legacy code',
233
+ 'Performance optimization',
234
+ 'Final testing'
235
+ ]
236
+ }
237
+ ]
238
+
239
+ def _format_plan(self, plan):
240
+ """Format migration plan as markdown"""
241
+ output = "# Migration Plan\n\n"
242
+
243
+ # Executive Summary
244
+ output += "## Executive Summary\n\n"
245
+ output += f"- **Total Duration**: {plan['timeline']['total']}\n"
246
+ output += f"- **Team Size**: {plan['resources']['team_size']}\n"
247
+ output += f"- **Risk Level**: {plan['timeline']['risk_buffer']}\n\n"
248
+
249
+ # Phases
250
+ output += "## Migration Phases\n\n"
251
+ for i, phase in enumerate(plan['phases']):
252
+ output += f"### {phase['name']}\n"
253
+ output += f"**Duration**: {phase['duration']}\n\n"
254
+ output += "**Tasks**:\n"
255
+ for task in phase['tasks']:
256
+ output += f"- {task}\n"
257
+ output += "\n"
258
+
259
+ # Milestones
260
+ output += "## Key Milestones\n\n"
261
+ for milestone in plan['milestones']:
262
+ output += f"- **{milestone['name']}**: {milestone['criteria']}\n"
263
+
264
+ return output
265
+ ```
266
+
267
+ ### 3. Framework Migrations
268
+
269
+ Handle specific framework migrations:
270
+
271
+ **React to Vue Migration**
272
+ ```javascript
273
+ class ReactToVueMigrator {
274
+ migrateComponent(reactComponent) {
275
+ // Parse React component
276
+ const ast = parseReactComponent(reactComponent);
277
+
278
+ // Extract component structure
279
+ const componentInfo = {
280
+ name: this.extractComponentName(ast),
281
+ props: this.extractProps(ast),
282
+ state: this.extractState(ast),
283
+ methods: this.extractMethods(ast),
284
+ lifecycle: this.extractLifecycle(ast),
285
+ render: this.extractRender(ast)
286
+ };
287
+
288
+ // Generate Vue component
289
+ return this.generateVueComponent(componentInfo);
290
+ }
291
+
292
+ generateVueComponent(info) {
293
+ return `
294
+ <template>
295
+ ${this.convertJSXToTemplate(info.render)}
296
+ </template>
297
+
298
+ <script>
299
+ export default {
300
+ name: '${info.name}',
301
+ props: ${this.convertProps(info.props)},
302
+ data() {
303
+ return ${this.convertState(info.state)}
304
+ },
305
+ methods: ${this.convertMethods(info.methods)},
306
+ ${this.convertLifecycle(info.lifecycle)}
307
+ }
308
+ </script>
309
+
310
+ <style scoped>
311
+ /* Component styles */
312
+ </style>
313
+ `;
314
+ }
315
+
316
+ convertJSXToTemplate(jsx) {
317
+ // Convert JSX to Vue template syntax
318
+ let template = jsx;
319
+
320
+ // Convert className to class
321
+ template = template.replace(/className=/g, 'class=');
322
+
323
+ // Convert onClick to @click
324
+ template = template.replace(/onClick={/g, '@click="');
325
+ template = template.replace(/on(\w+)={this\.(\w+)}/g, '@$1="$2"');
326
+
327
+ // Convert conditional rendering
328
+ template = template.replace(/{(\w+) && (.+?)}/g, '<template v-if="$1">$2</template>');
329
+ template = template.replace(/{(\w+) \? (.+?) : (.+?)}/g,
330
+ '<template v-if="$1">$2</template><template v-else>$3</template>');
331
+
332
+ // Convert map iterations
333
+ template = template.replace(
334
+ /{(\w+)\.map\(\((\w+), (\w+)\) => (.+?)\)}/g,
335
+ '<template v-for="($2, $3) in $1" :key="$3">$4</template>'
336
+ );
337
+
338
+ return template;
339
+ }
340
+
341
+ convertLifecycle(lifecycle) {
342
+ const vueLifecycle = {
343
+ 'componentDidMount': 'mounted',
344
+ 'componentDidUpdate': 'updated',
345
+ 'componentWillUnmount': 'beforeDestroy',
346
+ 'getDerivedStateFromProps': 'computed'
347
+ };
348
+
349
+ let result = '';
350
+ for (const [reactHook, vueHook] of Object.entries(vueLifecycle)) {
351
+ if (lifecycle[reactHook]) {
352
+ result += `${vueHook}() ${lifecycle[reactHook].body},\n`;
353
+ }
354
+ }
355
+
356
+ return result;
357
+ }
358
+ }
359
+ ```
360
+
361
+ ### 4. Language Migrations
362
+
363
+ Handle language version upgrades:
364
+
365
+ **Python 2 to 3 Migration**
366
+ ```python
367
+ class Python2to3Migrator:
368
+ def __init__(self):
369
+ self.transformations = {
370
+ 'print_statement': self.transform_print,
371
+ 'unicode_literals': self.transform_unicode,
372
+ 'division': self.transform_division,
373
+ 'imports': self.transform_imports,
374
+ 'iterators': self.transform_iterators,
375
+ 'exceptions': self.transform_exceptions
376
+ }
377
+
378
+ def migrate_file(self, file_path):
379
+ """Migrate single Python file from 2 to 3"""
380
+ with open(file_path, 'r') as f:
381
+ content = f.read()
382
+
383
+ # Parse AST
384
+ try:
385
+ tree = ast.parse(content)
386
+ except SyntaxError:
387
+ # Try with 2to3 lib for syntax conversion first
388
+ content = self._basic_syntax_conversion(content)
389
+ tree = ast.parse(content)
390
+
391
+ # Apply transformations
392
+ transformer = Python3Transformer()
393
+ new_tree = transformer.visit(tree)
394
+
395
+ # Generate new code
396
+ return astor.to_source(new_tree)
397
+
398
+ def transform_print(self, content):
399
+ """Transform print statements to functions"""
400
+ # Simple regex for basic cases
401
+ content = re.sub(
402
+ r'print\s+([^(].*?)$',
403
+ r'print(\1)',
404
+ content,
405
+ flags=re.MULTILINE
406
+ )
407
+
408
+ # Handle print with >>
409
+ content = re.sub(
410
+ r'print\s*>>\s*(\w+),\s*(.+?)$',
411
+ r'print(\2, file=\1)',
412
+ content,
413
+ flags=re.MULTILINE
414
+ )
415
+
416
+ return content
417
+
418
+ def transform_unicode(self, content):
419
+ """Handle unicode literals"""
420
+ # Remove u prefix from strings
421
+ content = re.sub(r'u"([^"]*)"', r'"\1"', content)
422
+ content = re.sub(r"u'([^']*)'", r"'\1'", content)
423
+
424
+ # Convert unicode() to str()
425
+ content = re.sub(r'\bunicode\(', 'str(', content)
426
+
427
+ return content
428
+
429
+ def transform_iterators(self, content):
430
+ """Transform iterator methods"""
431
+ replacements = {
432
+ '.iteritems()': '.items()',
433
+ '.iterkeys()': '.keys()',
434
+ '.itervalues()': '.values()',
435
+ 'xrange': 'range',
436
+ '.has_key(': ' in '
437
+ }
438
+
439
+ for old, new in replacements.items():
440
+ content = content.replace(old, new)
441
+
442
+ return content
443
+
444
+ class Python3Transformer(ast.NodeTransformer):
445
+ """AST transformer for Python 3 migration"""
446
+
447
+ def visit_Raise(self, node):
448
+ """Transform raise statements"""
449
+ if node.exc and node.cause:
450
+ # raise Exception, args -> raise Exception(args)
451
+ if isinstance(node.cause, ast.Str):
452
+ node.exc = ast.Call(
453
+ func=node.exc,
454
+ args=[node.cause],
455
+ keywords=[]
456
+ )
457
+ node.cause = None
458
+
459
+ return node
460
+
461
+ def visit_ExceptHandler(self, node):
462
+ """Transform except clauses"""
463
+ if node.type and node.name:
464
+ # except Exception, e -> except Exception as e
465
+ if isinstance(node.name, ast.Name):
466
+ node.name = node.name.id
467
+
468
+ return node
469
+ ```
470
+
471
+ ### 5. API Migration
472
+
473
+ Migrate between API paradigms:
474
+
475
+ **REST to GraphQL Migration**
476
+ ```javascript
477
+ class RESTToGraphQLMigrator {
478
+ constructor(restEndpoints) {
479
+ this.endpoints = restEndpoints;
480
+ this.schema = {
481
+ types: {},
482
+ queries: {},
483
+ mutations: {}
484
+ };
485
+ }
486
+
487
+ generateGraphQLSchema() {
488
+ // Analyze REST endpoints
489
+ this.analyzeEndpoints();
490
+
491
+ // Generate type definitions
492
+ const typeDefs = this.generateTypeDefs();
493
+
494
+ // Generate resolvers
495
+ const resolvers = this.generateResolvers();
496
+
497
+ return { typeDefs, resolvers };
498
+ }
499
+
500
+ analyzeEndpoints() {
501
+ for (const endpoint of this.endpoints) {
502
+ const { method, path, response, params } = endpoint;
503
+
504
+ // Extract resource type
505
+ const resourceType = this.extractResourceType(path);
506
+
507
+ // Build GraphQL type
508
+ if (!this.schema.types[resourceType]) {
509
+ this.schema.types[resourceType] = this.buildType(response);
510
+ }
511
+
512
+ // Map to GraphQL operations
513
+ if (method === 'GET') {
514
+ this.addQuery(resourceType, path, params);
515
+ } else if (['POST', 'PUT', 'PATCH'].includes(method)) {
516
+ this.addMutation(resourceType, path, params, method);
517
+ }
518
+ }
519
+ }
520
+
521
+ generateTypeDefs() {
522
+ let schema = 'type Query {\n';
523
+
524
+ // Add queries
525
+ for (const [name, query] of Object.entries(this.schema.queries)) {
526
+ schema += ` ${name}${this.generateArgs(query.args)}: ${query.returnType}\n`;
527
+ }
528
+
529
+ schema += '}\n\ntype Mutation {\n';
530
+
531
+ // Add mutations
532
+ for (const [name, mutation] of Object.entries(this.schema.mutations)) {
533
+ schema += ` ${name}${this.generateArgs(mutation.args)}: ${mutation.returnType}\n`;
534
+ }
535
+
536
+ schema += '}\n\n';
537
+
538
+ // Add types
539
+ for (const [typeName, fields] of Object.entries(this.schema.types)) {
540
+ schema += `type ${typeName} {\n`;
541
+ for (const [fieldName, fieldType] of Object.entries(fields)) {
542
+ schema += ` ${fieldName}: ${fieldType}\n`;
543
+ }
544
+ schema += '}\n\n';
545
+ }
546
+
547
+ return schema;
548
+ }
549
+
550
+ generateResolvers() {
551
+ const resolvers = {
552
+ Query: {},
553
+ Mutation: {}
554
+ };
555
+
556
+ // Generate query resolvers
557
+ for (const [name, query] of Object.entries(this.schema.queries)) {
558
+ resolvers.Query[name] = async (parent, args, context) => {
559
+ // Transform GraphQL args to REST params
560
+ const restParams = this.transformArgs(args, query.paramMapping);
561
+
562
+ // Call REST endpoint
563
+ const response = await fetch(
564
+ this.buildUrl(query.endpoint, restParams),
565
+ { method: 'GET' }
566
+ );
567
+
568
+ return response.json();
569
+ };
570
+ }
571
+
572
+ // Generate mutation resolvers
573
+ for (const [name, mutation] of Object.entries(this.schema.mutations)) {
574
+ resolvers.Mutation[name] = async (parent, args, context) => {
575
+ const { input } = args;
576
+
577
+ const response = await fetch(
578
+ mutation.endpoint,
579
+ {
580
+ method: mutation.method,
581
+ headers: { 'Content-Type': 'application/json' },
582
+ body: JSON.stringify(input)
583
+ }
584
+ );
585
+
586
+ return response.json();
587
+ };
588
+ }
589
+
590
+ return resolvers;
591
+ }
592
+ }
593
+ ```
594
+
595
+ ### 6. Database Migration
596
+
597
+ Migrate between database systems:
598
+
599
+ **SQL to NoSQL Migration**
600
+ ```python
601
+ class SQLToNoSQLMigrator:
602
+ def __init__(self, source_db, target_db):
603
+ self.source = source_db
604
+ self.target = target_db
605
+ self.schema_mapping = {}
606
+
607
+ def analyze_schema(self):
608
+ """Analyze SQL schema for NoSQL conversion"""
609
+ tables = self.get_sql_tables()
610
+
611
+ for table in tables:
612
+ # Get table structure
613
+ columns = self.get_table_columns(table)
614
+ relationships = self.get_table_relationships(table)
615
+
616
+ # Design document structure
617
+ doc_structure = self.design_document_structure(
618
+ table, columns, relationships
619
+ )
620
+
621
+ self.schema_mapping[table] = doc_structure
622
+
623
+ return self.schema_mapping
624
+
625
+ def design_document_structure(self, table, columns, relationships):
626
+ """Design NoSQL document structure from SQL table"""
627
+ structure = {
628
+ 'collection': self.to_collection_name(table),
629
+ 'fields': {},
630
+ 'embedded': [],
631
+ 'references': []
632
+ }
633
+
634
+ # Map columns to fields
635
+ for col in columns:
636
+ structure['fields'][col['name']] = {
637
+ 'type': self.map_sql_type_to_nosql(col['type']),
638
+ 'required': not col['nullable'],
639
+ 'indexed': col.get('is_indexed', False)
640
+ }
641
+
642
+ # Handle relationships
643
+ for rel in relationships:
644
+ if rel['type'] == 'one-to-one' or self.should_embed(rel):
645
+ structure['embedded'].append({
646
+ 'field': rel['field'],
647
+ 'collection': rel['related_table']
648
+ })
649
+ else:
650
+ structure['references'].append({
651
+ 'field': rel['field'],
652
+ 'collection': rel['related_table'],
653
+ 'type': rel['type']
654
+ })
655
+
656
+ return structure
657
+
658
+ def generate_migration_script(self):
659
+ """Generate migration script"""
660
+ script = """
661
+ import asyncio
662
+ from datetime import datetime
663
+
664
+ class DatabaseMigrator:
665
+ def __init__(self, sql_conn, nosql_conn):
666
+ self.sql = sql_conn
667
+ self.nosql = nosql_conn
668
+ self.batch_size = 1000
669
+
670
+ async def migrate(self):
671
+ start_time = datetime.now()
672
+
673
+ # Create indexes
674
+ await self.create_indexes()
675
+
676
+ # Migrate data
677
+ for table, mapping in schema_mapping.items():
678
+ await self.migrate_table(table, mapping)
679
+
680
+ # Verify migration
681
+ await self.verify_migration()
682
+
683
+ elapsed = datetime.now() - start_time
684
+ print(f"Migration completed in {elapsed}")
685
+
686
+ async def migrate_table(self, table, mapping):
687
+ print(f"Migrating {table}...")
688
+
689
+ total_rows = await self.get_row_count(table)
690
+ migrated = 0
691
+
692
+ async for batch in self.read_in_batches(table):
693
+ documents = []
694
+
695
+ for row in batch:
696
+ doc = self.transform_row_to_document(row, mapping)
697
+
698
+ # Handle embedded documents
699
+ for embed in mapping['embedded']:
700
+ related_data = await self.fetch_related(
701
+ row, embed['field'], embed['collection']
702
+ )
703
+ doc[embed['field']] = related_data
704
+
705
+ documents.append(doc)
706
+
707
+ # Bulk insert
708
+ await self.nosql[mapping['collection']].insert_many(documents)
709
+
710
+ migrated += len(batch)
711
+ progress = (migrated / total_rows) * 100
712
+ print(f" Progress: {progress:.1f}% ({migrated}/{total_rows})")
713
+
714
+ def transform_row_to_document(self, row, mapping):
715
+ doc = {}
716
+
717
+ for field, config in mapping['fields'].items():
718
+ value = row.get(field)
719
+
720
+ # Type conversion
721
+ if value is not None:
722
+ doc[field] = self.convert_value(value, config['type'])
723
+ elif config['required']:
724
+ doc[field] = self.get_default_value(config['type'])
725
+
726
+ # Add metadata
727
+ doc['_migrated_at'] = datetime.now()
728
+ doc['_source_table'] = mapping['collection']
729
+
730
+ return doc
731
+ """
732
+ return script
733
+ ```
734
+
735
+ ### 7. Testing Strategy
736
+
737
+ Ensure migration correctness:
738
+
739
+ **Migration Testing Framework**
740
+ ```python
741
+ class MigrationTester:
742
+ def __init__(self, original_app, migrated_app):
743
+ self.original = original_app
744
+ self.migrated = migrated_app
745
+ self.test_results = []
746
+
747
+ def run_comparison_tests(self):
748
+ """Run side-by-side comparison tests"""
749
+ test_suites = [
750
+ self.test_functionality,
751
+ self.test_performance,
752
+ self.test_data_integrity,
753
+ self.test_api_compatibility,
754
+ self.test_user_flows
755
+ ]
756
+
757
+ for suite in test_suites:
758
+ results = suite()
759
+ self.test_results.extend(results)
760
+
761
+ return self.generate_report()
762
+
763
+ def test_functionality(self):
764
+ """Test functional equivalence"""
765
+ results = []
766
+
767
+ test_cases = self.generate_test_cases()
768
+
769
+ for test in test_cases:
770
+ original_result = self.execute_on_original(test)
771
+ migrated_result = self.execute_on_migrated(test)
772
+
773
+ comparison = self.compare_results(
774
+ original_result,
775
+ migrated_result
776
+ )
777
+
778
+ results.append({
779
+ 'test': test['name'],
780
+ 'status': 'PASS' if comparison['equivalent'] else 'FAIL',
781
+ 'details': comparison['details']
782
+ })
783
+
784
+ return results
785
+
786
+ def test_performance(self):
787
+ """Compare performance metrics"""
788
+ metrics = ['response_time', 'throughput', 'cpu_usage', 'memory_usage']
789
+ results = []
790
+
791
+ for metric in metrics:
792
+ original_perf = self.measure_performance(self.original, metric)
793
+ migrated_perf = self.measure_performance(self.migrated, metric)
794
+
795
+ regression = ((migrated_perf - original_perf) / original_perf) * 100
796
+
797
+ results.append({
798
+ 'metric': metric,
799
+ 'original': original_perf,
800
+ 'migrated': migrated_perf,
801
+ 'regression': regression,
802
+ 'acceptable': abs(regression) <= 10 # 10% threshold
803
+ })
804
+
805
+ return results
806
+ ```
807
+
808
+ ### 8. Rollback Planning
809
+
810
+ Implement safe rollback strategies:
811
+
812
+ ```python
813
+ class RollbackManager:
814
+ def create_rollback_plan(self, migration_type):
815
+ """Create comprehensive rollback plan"""
816
+ plan = {
817
+ 'triggers': self.define_rollback_triggers(),
818
+ 'procedures': self.define_rollback_procedures(migration_type),
819
+ 'verification': self.define_verification_steps(),
820
+ 'communication': self.define_communication_plan()
821
+ }
822
+
823
+ return self.format_rollback_plan(plan)
824
+
825
+ def define_rollback_triggers(self):
826
+ """Define conditions that trigger rollback"""
827
+ return [
828
+ {
829
+ 'condition': 'Critical functionality broken',
830
+ 'threshold': 'Any P0 feature non-functional',
831
+ 'detection': 'Automated monitoring + user reports'
832
+ },
833
+ {
834
+ 'condition': 'Performance degradation',
835
+ 'threshold': '>50% increase in response time',
836
+ 'detection': 'APM metrics'
837
+ },
838
+ {
839
+ 'condition': 'Data corruption',
840
+ 'threshold': 'Any data integrity issues',
841
+ 'detection': 'Data validation checks'
842
+ },
843
+ {
844
+ 'condition': 'High error rate',
845
+ 'threshold': '>5% error rate increase',
846
+ 'detection': 'Error tracking system'
847
+ }
848
+ ]
849
+
850
+ def define_rollback_procedures(self, migration_type):
851
+ """Define step-by-step rollback procedures"""
852
+ if migration_type == 'blue_green':
853
+ return self._blue_green_rollback()
854
+ elif migration_type == 'canary':
855
+ return self._canary_rollback()
856
+ elif migration_type == 'feature_flag':
857
+ return self._feature_flag_rollback()
858
+ else:
859
+ return self._standard_rollback()
860
+
861
+ def _blue_green_rollback(self):
862
+ return [
863
+ "1. Verify green environment is problematic",
864
+ "2. Update load balancer to route 100% to blue",
865
+ "3. Monitor blue environment stability",
866
+ "4. Notify stakeholders of rollback",
867
+ "5. Begin root cause analysis",
868
+ "6. Keep green environment for debugging"
869
+ ]
870
+ ```
871
+
872
+ ### 9. Migration Automation
873
+
874
+ Create automated migration tools:
875
+
876
+ ```python
877
+ def create_migration_cli():
878
+ """Generate CLI tool for migration"""
879
+ return '''
880
+ #!/usr/bin/env python3
881
+ import click
882
+ import json
883
+ from pathlib import Path
884
+
885
+ @click.group()
886
+ def cli():
887
+ """Code Migration Tool"""
888
+ pass
889
+
890
+ @cli.command()
891
+ @click.option('--source', required=True, help='Source directory')
892
+ @click.option('--target', required=True, help='Target technology')
893
+ @click.option('--output', default='migration-plan.json', help='Output file')
894
+ def analyze(source, target, output):
895
+ """Analyze codebase for migration"""
896
+ analyzer = MigrationAnalyzer(source, target)
897
+ analysis = analyzer.analyze_migration()
898
+
899
+ with open(output, 'w') as f:
900
+ json.dump(analysis, f, indent=2)
901
+
902
+ click.echo(f"Analysis complete. Results saved to {output}")
903
+
904
+ @cli.command()
905
+ @click.option('--plan', required=True, help='Migration plan file')
906
+ @click.option('--phase', help='Specific phase to execute')
907
+ @click.option('--dry-run', is_flag=True, help='Simulate migration')
908
+ def migrate(plan, phase, dry_run):
909
+ """Execute migration based on plan"""
910
+ with open(plan) as f:
911
+ migration_plan = json.load(f)
912
+
913
+ migrator = CodeMigrator(migration_plan)
914
+
915
+ if dry_run:
916
+ click.echo("Running migration in dry-run mode...")
917
+ results = migrator.dry_run(phase)
918
+ else:
919
+ click.echo("Executing migration...")
920
+ results = migrator.execute(phase)
921
+
922
+ # Display results
923
+ for result in results:
924
+ status = "āœ“" if result['success'] else "āœ—"
925
+ click.echo(f"{status} {result['task']}: {result['message']}")
926
+
927
+ @cli.command()
928
+ @click.option('--original', required=True, help='Original codebase')
929
+ @click.option('--migrated', required=True, help='Migrated codebase')
930
+ def test(original, migrated):
931
+ """Test migration results"""
932
+ tester = MigrationTester(original, migrated)
933
+ results = tester.run_comparison_tests()
934
+
935
+ # Display test results
936
+ passed = sum(1 for r in results if r['status'] == 'PASS')
937
+ total = len(results)
938
+
939
+ click.echo(f"\\nTest Results: {passed}/{total} passed")
940
+
941
+ for result in results:
942
+ if result['status'] == 'FAIL':
943
+ click.echo(f"\\nāŒ {result['test']}")
944
+ click.echo(f" {result['details']}")
945
+
946
+ if __name__ == '__main__':
947
+ cli()
948
+ '''
949
+ ```
950
+
951
+ ### 10. Progress Monitoring
952
+
953
+ Track migration progress:
954
+
955
+ ```python
956
+ class MigrationMonitor:
957
+ def __init__(self, migration_id):
958
+ self.migration_id = migration_id
959
+ self.metrics = defaultdict(list)
960
+ self.checkpoints = []
961
+
962
+ def create_dashboard(self):
963
+ """Create migration monitoring dashboard"""
964
+ return f"""
965
+ <!DOCTYPE html>
966
+ <html>
967
+ <head>
968
+ <title>Migration Dashboard - {self.migration_id}</title>
969
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
970
+ <style>
971
+ .metric-card {{
972
+ background: #f5f5f5;
973
+ padding: 20px;
974
+ margin: 10px;
975
+ border-radius: 8px;
976
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
977
+ }}
978
+ .progress-bar {{
979
+ width: 100%;
980
+ height: 30px;
981
+ background: #e0e0e0;
982
+ border-radius: 15px;
983
+ overflow: hidden;
984
+ }}
985
+ .progress-fill {{
986
+ height: 100%;
987
+ background: #4CAF50;
988
+ transition: width 0.5s;
989
+ }}
990
+ </style>
991
+ </head>
992
+ <body>
993
+ <h1>Migration Progress Dashboard</h1>
994
+
995
+ <div class="metric-card">
996
+ <h2>Overall Progress</h2>
997
+ <div class="progress-bar">
998
+ <div class="progress-fill" style="width: {self.calculate_progress()}%"></div>
999
+ </div>
1000
+ <p>{self.calculate_progress()}% Complete</p>
1001
+ </div>
1002
+
1003
+ <div class="metric-card">
1004
+ <h2>Phase Status</h2>
1005
+ <canvas id="phaseChart"></canvas>
1006
+ </div>
1007
+
1008
+ <div class="metric-card">
1009
+ <h2>Migration Metrics</h2>
1010
+ <canvas id="metricsChart"></canvas>
1011
+ </div>
1012
+
1013
+ <div class="metric-card">
1014
+ <h2>Recent Activities</h2>
1015
+ <ul id="activities">
1016
+ {self.format_recent_activities()}
1017
+ </ul>
1018
+ </div>
1019
+
1020
+ <script>
1021
+ // Update dashboard every 30 seconds
1022
+ setInterval(() => location.reload(), 30000);
1023
+
1024
+ // Phase chart
1025
+ new Chart(document.getElementById('phaseChart'), {{
1026
+ type: 'doughnut',
1027
+ data: {self.get_phase_chart_data()}
1028
+ }});
1029
+
1030
+ // Metrics chart
1031
+ new Chart(document.getElementById('metricsChart'), {{
1032
+ type: 'line',
1033
+ data: {self.get_metrics_chart_data()}
1034
+ }});
1035
+ </script>
1036
+ </body>
1037
+ </html>
1038
+ """
1039
+ ```
1040
+
1041
+ ## Output Format
1042
+
1043
+ 1. **Migration Analysis**: Comprehensive analysis of source codebase
1044
+ 2. **Risk Assessment**: Identified risks with mitigation strategies
1045
+ 3. **Migration Plan**: Phased approach with timeline and milestones
1046
+ 4. **Code Examples**: Automated migration scripts and transformations
1047
+ 5. **Testing Strategy**: Comparison tests and validation approach
1048
+ 6. **Rollback Plan**: Detailed procedures for safe rollback
1049
+ 7. **Progress Tracking**: Real-time migration monitoring
1050
+ 8. **Documentation**: Migration guide and runbooks
1051
+
1052
+ Focus on minimizing disruption, maintaining functionality, and providing clear paths for successful code migration with comprehensive testing and rollback strategies.