moai-adk 0.25.4__py3-none-any.whl → 0.32.8__py3-none-any.whl

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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,334 @@
1
+ # Error Handling and Resilience
2
+
3
+ ## Overview
4
+ Comprehensive error handling framework for MCP integrations featuring retry logic, circuit breakers, fault tolerance, and graceful degradation strategies.
5
+
6
+ ## Quick Implementation
7
+
8
+ ### Robust Error Management
9
+
10
+ ```python
11
+ class ErrorHandler:
12
+ def __init__(self):
13
+ self.retry_config = {
14
+ 'max_retries': 3,
15
+ 'backoff_factor': 2,
16
+ 'retryable_errors': ['timeout', 'rate_limit', 'temporary_failure']
17
+ }
18
+
19
+ async def handle_api_error(self, service: str, error: Exception, attempt: int = 1) -> dict:
20
+ """Handle API errors with retry logic."""
21
+ error_type = self.classify_error(error)
22
+
23
+ if error_type in self.retry_config['retryable_errors'] and attempt <= self.retry_config['max_retries']:
24
+ wait_time = self.retry_config['backoff_factor'] attempt
25
+ await asyncio.sleep(wait_time)
26
+
27
+ return {
28
+ 'should_retry': True,
29
+ 'wait_time': wait_time,
30
+ 'attempt': attempt + 1
31
+ }
32
+
33
+ return {
34
+ 'should_retry': False,
35
+ 'error_type': error_type,
36
+ 'message': str(error),
37
+ 'attempt': attempt
38
+ }
39
+
40
+ def classify_error(self, error: Exception) -> str:
41
+ """Classify error type for retry determination."""
42
+ if 'rate limit' in str(error).lower():
43
+ return 'rate_limit'
44
+ elif 'timeout' in str(error).lower():
45
+ return 'timeout'
46
+ elif 'temporary' in str(error).lower():
47
+ return 'temporary_failure'
48
+ else:
49
+ return 'permanent_error'
50
+ ```
51
+
52
+ ### Circuit Breaker Pattern
53
+
54
+ ```python
55
+ class CircuitBreaker:
56
+ def __init__(self, failure_threshold=5, timeout=60, expected_exception=Exception):
57
+ self.failure_threshold = failure_threshold
58
+ self.timeout = timeout
59
+ self.expected_exception = expected_exception
60
+ self.failure_count = 0
61
+ self.last_failure_time = None
62
+ self.state = 'CLOSED' # CLOSED, OPEN, HALF_OPEN
63
+
64
+ async def call(self, func, *args, kwargs):
65
+ """Execute function with circuit breaker protection."""
66
+ if self.state == 'OPEN':
67
+ if self._should_attempt_reset():
68
+ self.state = 'HALF_OPEN'
69
+ else:
70
+ raise Exception("Circuit breaker is OPEN")
71
+
72
+ try:
73
+ result = await func(*args, kwargs)
74
+ self._on_success()
75
+ return result
76
+
77
+ except self.expected_exception as e:
78
+ self._on_failure()
79
+ raise e
80
+
81
+ def _should_attempt_reset(self):
82
+ """Check if circuit breaker should attempt to reset."""
83
+ return time.time() - self.last_failure_time >= self.timeout
84
+
85
+ def _on_success(self):
86
+ """Handle successful operation."""
87
+ self.failure_count = 0
88
+ self.state = 'CLOSED'
89
+
90
+ def _on_failure(self):
91
+ """Handle failed operation."""
92
+ self.failure_count += 1
93
+ self.last_failure_time = time.time()
94
+
95
+ if self.failure_count >= self.failure_threshold:
96
+ self.state = 'OPEN'
97
+
98
+ # Usage example
99
+ class ResilientAPIClient:
100
+ def __init__(self, api_client):
101
+ self.api_client = api_client
102
+ self.circuit_breaker = CircuitBreaker(
103
+ failure_threshold=5,
104
+ timeout=60
105
+ )
106
+
107
+ async def make_request(self, endpoint, kwargs):
108
+ """Make API request with circuit breaker protection."""
109
+ return await self.circuit_breaker.call(
110
+ self.api_client.request,
111
+ endpoint,
112
+ kwargs
113
+ )
114
+ ```
115
+
116
+ ### Retry with Exponential Backoff
117
+
118
+ ```python
119
+ class RetryManager:
120
+ def __init__(self, max_retries=3, base_delay=1, max_delay=60):
121
+ self.max_retries = max_retries
122
+ self.base_delay = base_delay
123
+ self.max_delay = max_delay
124
+
125
+ async def retry_with_backoff(self, func, *args, kwargs):
126
+ """Execute function with exponential backoff retry."""
127
+ last_exception = None
128
+
129
+ for attempt in range(self.max_retries + 1):
130
+ try:
131
+ return await func(*args, kwargs)
132
+
133
+ except Exception as e:
134
+ last_exception = e
135
+
136
+ if attempt < self.max_retries and self._should_retry(e):
137
+ delay = self._calculate_delay(attempt)
138
+ await asyncio.sleep(delay)
139
+ else:
140
+ break
141
+
142
+ raise last_exception
143
+
144
+ def _should_retry(self, exception: Exception) -> bool:
145
+ """Determine if exception is retryable."""
146
+ retryable_errors = [
147
+ 'timeout',
148
+ 'rate limit',
149
+ 'temporary',
150
+ 'connection',
151
+ 'network'
152
+ ]
153
+
154
+ error_str = str(exception).lower()
155
+ return any(error in error_str for error in retryable_errors)
156
+
157
+ def _calculate_delay(self, attempt: int) -> float:
158
+ """Calculate exponential backoff delay."""
159
+ delay = self.base_delay * (2 attempt)
160
+ jitter = random.uniform(0, 0.1) * delay # Add jitter
161
+ return min(delay + jitter, self.max_delay)
162
+
163
+ # Usage example
164
+ class RetryableServiceClient:
165
+ def __init__(self):
166
+ self.retry_manager = RetryManager(
167
+ max_retries=3,
168
+ base_delay=1,
169
+ max_delay=30
170
+ )
171
+
172
+ async def get_resource(self, resource_id: str):
173
+ """Get resource with retry logic."""
174
+ return await self.retry_manager.retry_with_backoff(
175
+ self._fetch_resource,
176
+ resource_id
177
+ )
178
+
179
+ async def _fetch_resource(self, resource_id: str):
180
+ """Actual resource fetching logic."""
181
+ # Implementation that might fail
182
+ pass
183
+ ```
184
+
185
+ ## Key Features
186
+
187
+ ### 1. Error Classification
188
+ - Automatic error type detection
189
+ - Retryable vs non-retryable errors
190
+ - Service-specific error handling
191
+ - Custom error categories
192
+
193
+ ### 2. Retry Strategies
194
+ - Exponential backoff with jitter
195
+ - Linear backoff
196
+ - Custom retry policies
197
+ - Maximum retry limits
198
+
199
+ ### 3. Circuit Breaker Pattern
200
+ - Failure threshold management
201
+ - Automatic state transitions
202
+ - Half-open state testing
203
+ - Service isolation
204
+
205
+ ### 4. Fault Tolerance
206
+ - Graceful degradation
207
+ - Fallback mechanisms
208
+ - Bulkhead isolation
209
+ - Timeout management
210
+
211
+ ## Resilience Patterns
212
+
213
+ ### 1. Bulkhead Pattern
214
+ ```python
215
+ class Bulkhead:
216
+ def __init__(self, max_concurrent_calls=10):
217
+ self.semaphore = asyncio.Semaphore(max_concurrent_calls)
218
+ self.active_calls = 0
219
+
220
+ async def execute(self, func, *args, kwargs):
221
+ """Execute function with bulkhead protection."""
222
+ async with self.semaphore:
223
+ self.active_calls += 1
224
+ try:
225
+ return await func(*args, kwargs)
226
+ finally:
227
+ self.active_calls -= 1
228
+ ```
229
+
230
+ ### 2. Timeout Management
231
+ ```python
232
+ class TimeoutManager:
233
+ def __init__(self, default_timeout=30):
234
+ self.default_timeout = default_timeout
235
+
236
+ async def execute_with_timeout(self, func, timeout=None, *args, kwargs):
237
+ """Execute function with timeout protection."""
238
+ timeout = timeout or self.default_timeout
239
+ try:
240
+ return await asyncio.wait_for(
241
+ func(*args, kwargs),
242
+ timeout=timeout
243
+ )
244
+ except asyncio.TimeoutError:
245
+ raise Exception(f"Operation timed out after {timeout} seconds")
246
+ ```
247
+
248
+ ### 3. Fallback Mechanisms
249
+ ```python
250
+ class FallbackManager:
251
+ def __init__(self):
252
+ self.fallback_strategies = {}
253
+
254
+ def register_fallback(self, operation: str, fallback_func):
255
+ """Register fallback strategy for operation."""
256
+ self.fallback_strategies[operation] = fallback_func
257
+
258
+ async def execute_with_fallback(self, operation: str, primary_func, *args, kwargs):
259
+ """Execute operation with fallback support."""
260
+ try:
261
+ return await primary_func(*args, kwargs)
262
+ except Exception as e:
263
+ if operation in self.fallback_strategies:
264
+ logging.warning(f"Primary operation failed, using fallback: {e}")
265
+ return await self.fallback_strategies[operation](*args, kwargs)
266
+ else:
267
+ raise e
268
+ ```
269
+
270
+ ## Monitoring and Observability
271
+
272
+ ### Error Metrics
273
+ ```python
274
+ class ErrorMetrics:
275
+ def __init__(self):
276
+ self.error_counts = {}
277
+ self.retry_counts = {}
278
+ self.circuit_breaker_events = {}
279
+
280
+ def record_error(self, service: str, error_type: str):
281
+ """Record error occurrence."""
282
+ key = f"{service}:{error_type}"
283
+ self.error_counts[key] = self.error_counts.get(key, 0) + 1
284
+
285
+ def record_retry(self, service: str):
286
+ """Record retry attempt."""
287
+ self.retry_counts[service] = self.retry_counts.get(service, 0) + 1
288
+
289
+ def record_circuit_breaker_event(self, service: str, event: str):
290
+ """Record circuit breaker state change."""
291
+ key = f"{service}:{event}"
292
+ self.circuit_breaker_events[key] = self.circuit_breaker_events.get(key, 0) + 1
293
+
294
+ def get_metrics_summary(self) -> dict:
295
+ """Get summary of all metrics."""
296
+ return {
297
+ 'error_counts': self.error_counts,
298
+ 'retry_counts': self.retry_counts,
299
+ 'circuit_breaker_events': self.circuit_breaker_events
300
+ }
301
+ ```
302
+
303
+ ## Best Practices
304
+
305
+ ### 1. Error Handling Strategy
306
+ - Implement comprehensive error classification
307
+ - Use appropriate retry policies
308
+ - Set realistic timeout values
309
+ - Monitor and adjust thresholds
310
+
311
+ ### 2. Circuit Breaker Configuration
312
+ - Set appropriate failure thresholds
313
+ - Configure reasonable timeout periods
314
+ - Implement proper state transitions
315
+ - Monitor circuit breaker states
316
+
317
+ ### 3. Retry Policy Design
318
+ - Use exponential backoff with jitter
319
+ - Implement retry limits
320
+ - Handle different error types appropriately
321
+ - Consider service-specific requirements
322
+
323
+ ### 4. Monitoring and Alerting
324
+ - Track error rates and patterns
325
+ - Monitor circuit breaker states
326
+ - Set up appropriate alerts
327
+ - Regular review and adjustment
328
+
329
+ ## Integration Points
330
+ - External API clients
331
+ - Database connections
332
+ - Message queue systems
333
+ - File system operations
334
+ - Network communications
@@ -0,0 +1,310 @@
1
+ # Advanced Integration Patterns
2
+
3
+ ## Overview
4
+ Sophisticated integration patterns for multi-service orchestration, resource management, and complex workflows across Figma, Notion, Nano-Banana, and custom services.
5
+
6
+ ## Quick Implementation
7
+
8
+ ### Multi-Service Orchestration
9
+
10
+ ```python
11
+ class ServiceOrchestrator:
12
+ def __init__(self, mcp_server: UniversalMCPServer):
13
+ self.mcp_server = mcp_server
14
+ self.workflow_engine = WorkflowEngine()
15
+
16
+ def register_orchestration_tools(self):
17
+ @self.mcp_server.server.tool()
18
+ async def design_to_code_workflow(
19
+ figma_file_id: str,
20
+ component_library: str = "shadcn"
21
+ ) -> dict:
22
+ """Complete design-to-code workflow from Figma to React components."""
23
+
24
+ # Step 1: Extract components from Figma
25
+ figma_result = await self.mcp_server.server.invoke_tool(
26
+ "extract_figma_components",
27
+ {"file_id": figma_file_id}
28
+ )
29
+
30
+ # Step 2: Generate React components
31
+ components = figma_result["components"]
32
+ generated_code = []
33
+
34
+ for component in components:
35
+ ai_prompt = f"""
36
+ Generate a React component using {component_library} for this Figma design:
37
+ Component Name: {component['name']}
38
+ Design: {component['design_data']}
39
+ Tokens: {component['tokens']}
40
+
41
+ Requirements:
42
+ - Use TypeScript
43
+ - Include proper props interface
44
+ - Apply design tokens
45
+ - Make responsive with Tailwind CSS
46
+ - Include accessibility attributes
47
+ """
48
+
49
+ ai_result = await self.mcp_server.server.invoke_tool(
50
+ "generate_ai_content",
51
+ {"prompt": ai_prompt, "max_tokens": 2000}
52
+ )
53
+
54
+ generated_code.append({
55
+ "name": component['name'],
56
+ "code": ai_result["content"],
57
+ "tokens": component['tokens']
58
+ })
59
+
60
+ # Step 3: Create documentation
61
+ doc_prompt = f"""
62
+ Create comprehensive documentation for these React components:
63
+ {json.dumps([c['name'] for c in components], indent=2)}
64
+
65
+ Include:
66
+ - Component descriptions
67
+ - Props documentation
68
+ - Usage examples
69
+ - Design token references
70
+ """
71
+
72
+ docs = await self.mcp_server.server.invoke_tool(
73
+ "generate_ai_content",
74
+ {"prompt": doc_prompt, "max_tokens": 3000}
75
+ )
76
+
77
+ return {
78
+ "components": generated_code,
79
+ "documentation": docs["content"],
80
+ "workflow_status": "completed",
81
+ "generated_files": len(generated_code)
82
+ }
83
+
84
+ @self.mcp_server.server.tool()
85
+ async def knowledge_extraction_workflow(
86
+ notion_database_id: str,
87
+ analysis_goal: str = "extract_best_practices"
88
+ ) -> dict:
89
+ """Extract knowledge from Notion and create structured documentation."""
90
+
91
+ # Step 1: Query Notion database
92
+ notion_result = await self.mcp_server.server.invoke_tool(
93
+ "query_notion_database",
94
+ {"database_id": notion_database_id}
95
+ )
96
+
97
+ # Step 2: Analyze content with AI
98
+ all_content = "\n\n".join([
99
+ self.extract_text_from_page(page)
100
+ for page in notion_result["results"]
101
+ ])
102
+
103
+ analysis_prompt = f"""
104
+ Analyze this content for {analysis_goal}:
105
+
106
+ Content:
107
+ {all_content[:8000]} # Limit content length
108
+
109
+ Please provide:
110
+ 1. Key insights and patterns
111
+ 2. Structured summary
112
+ 3. Actionable recommendations
113
+ 4. Categorization of information
114
+ """
115
+
116
+ analysis = await self.mcp_server.server.invoke_tool(
117
+ "analyze_with_ai",
118
+ {"content": all_content, "analysis_type": analysis_goal}
119
+ )
120
+
121
+ # Step 3: Create structured knowledge base
122
+ knowledge_base = self.structure_knowledge(
123
+ analysis["analysis"],
124
+ notion_result["results"]
125
+ )
126
+
127
+ return {
128
+ "analysis": analysis["analysis"],
129
+ "knowledge_base": knowledge_base,
130
+ "source_count": len(notion_result["results"]),
131
+ "workflow_status": "completed"
132
+ }
133
+ ```
134
+
135
+ ### Workflow Engine
136
+
137
+ ```python
138
+ class WorkflowEngine:
139
+ def __init__(self):
140
+ self.active_workflows = {}
141
+ self.workflow_templates = {}
142
+
143
+ def create_workflow_template(self, name: str, steps: List[Dict]):
144
+ """Create reusable workflow template."""
145
+ self.workflow_templates[name] = {
146
+ "name": name,
147
+ "steps": steps,
148
+ "created_at": datetime.now()
149
+ }
150
+
151
+ async def execute_workflow(self, template_name: str, params: Dict) -> Dict:
152
+ """Execute workflow from template."""
153
+ if template_name not in self.workflow_templates:
154
+ raise ValueError(f"Workflow template '{template_name}' not found")
155
+
156
+ workflow_id = str(uuid.uuid4())
157
+ template = self.workflow_templates[template_name]
158
+
159
+ try:
160
+ self.active_workflows[workflow_id] = {
161
+ "template": template_name,
162
+ "params": params,
163
+ "status": "running",
164
+ "started_at": datetime.now()
165
+ }
166
+
167
+ results = []
168
+ for step in template["steps"]:
169
+ step_result = await self.execute_step(step, params)
170
+ results.append(step_result)
171
+
172
+ # Update workflow status
173
+ self.active_workflows[workflow_id]["status"] = "completed"
174
+ self.active_workflows[workflow_id]["results"] = results
175
+
176
+ return {
177
+ "workflow_id": workflow_id,
178
+ "status": "completed",
179
+ "results": results
180
+ }
181
+
182
+ except Exception as e:
183
+ self.active_workflows[workflow_id]["status"] = "failed"
184
+ self.active_workflows[workflow_id]["error"] = str(e)
185
+ raise
186
+
187
+ async def execute_step(self, step: Dict, params: Dict) -> Dict:
188
+ """Execute individual workflow step."""
189
+ step_type = step["type"]
190
+
191
+ if step_type == "tool_call":
192
+ return await self.execute_tool_call(step["tool"], step["params"], params)
193
+ elif step_type == "condition":
194
+ return await self.execute_condition(step["condition"], params)
195
+ elif step_type == "parallel":
196
+ return await self.execute_parallel_steps(step["steps"], params)
197
+ else:
198
+ raise ValueError(f"Unknown step type: {step_type}")
199
+ ```
200
+
201
+ ## Key Features
202
+
203
+ ### 1. Multi-Service Workflows
204
+ - Sequential and parallel execution
205
+ - Error handling and rollback
206
+ - State management and persistence
207
+ - Template-based workflow creation
208
+
209
+ ### 2. Resource Management
210
+ - Connection pooling for APIs
211
+ - Rate limiting and throttling
212
+ - Caching and optimization
213
+ - Resource cleanup and garbage collection
214
+
215
+ ### 3. Data Flow Integration
216
+ - Data transformation pipelines
217
+ - Format conversion utilities
218
+ - Validation and sanitization
219
+ - Conflict resolution strategies
220
+
221
+ ### 4. Advanced Patterns
222
+ - Saga pattern for distributed transactions
223
+ - Circuit breaker for fault tolerance
224
+ - Event-driven architecture
225
+ - Message queue integration
226
+
227
+ ## Integration Patterns
228
+
229
+ ### 1. Request-Response Pattern
230
+ ```python
231
+ # Simple synchronous integration
232
+ result = await mcp_server.invoke_tool("extract_figma_components", params)
233
+ ```
234
+
235
+ ### 2. Pipeline Pattern
236
+ ```python
237
+ # Sequential data processing
238
+ pipeline = Pipeline([
239
+ extract_from_figma,
240
+ transform_with_ai,
241
+ generate_code,
242
+ create_documentation
243
+ ])
244
+ result = await pipeline.execute(input_data)
245
+ ```
246
+
247
+ ### 3. Fan-Out/Fan-In Pattern
248
+ ```python
249
+ # Parallel processing
250
+ parallel_tasks = [
251
+ process_component(component)
252
+ for component in components
253
+ ]
254
+ results = await asyncio.gather(*parallel_tasks)
255
+ ```
256
+
257
+ ### 4. Event-Driven Pattern
258
+ ```python
259
+ # Reactive integration
260
+ @event_handler("figma_file_updated")
261
+ async def handle_figma_update(event):
262
+ await design_to_code_workflow(event.file_id)
263
+ ```
264
+
265
+ ## Error Handling Strategies
266
+
267
+ ### 1. Retry Logic
268
+ - Exponential backoff
269
+ - Circuit breaker patterns
270
+ - Dead letter queues
271
+ - Graceful degradation
272
+
273
+ ### 2. Fallback Mechanisms
274
+ - Alternative service providers
275
+ - Cached responses
276
+ - Default behavior
277
+ - Manual intervention points
278
+
279
+ ### 3. Monitoring and Alerting
280
+ - Real-time status tracking
281
+ - Performance metrics
282
+ - Error rate monitoring
283
+ - Automated recovery
284
+
285
+ ## Performance Optimization
286
+
287
+ ### 1. Connection Management
288
+ - Connection pooling
289
+ - Keep-alive connections
290
+ - HTTP/2 support
291
+ - Multiplexing
292
+
293
+ ### 2. Caching Strategies
294
+ - Response caching
295
+ - Result memoization
296
+ - Distributed caching
297
+ - Cache invalidation
298
+
299
+ ### 3. Resource Optimization
300
+ - Memory management
301
+ - CPU utilization
302
+ - Network optimization
303
+ - Storage efficiency
304
+
305
+ ## Integration Points
306
+ - External API services
307
+ - Internal microservices
308
+ - Message queues (Redis, RabbitMQ)
309
+ - Database systems
310
+ - File storage systems