moai-adk 0.35.1__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 (502) hide show
  1. moai_adk/__init__.py +10 -0
  2. moai_adk/__main__.py +199 -0
  3. moai_adk/cli/__init__.py +6 -0
  4. moai_adk/cli/commands/__init__.py +17 -0
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +272 -0
  7. moai_adk/cli/commands/init.py +372 -0
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +104 -0
  10. moai_adk/cli/commands/update.py +2686 -0
  11. moai_adk/cli/main.py +13 -0
  12. moai_adk/cli/prompts/__init__.py +5 -0
  13. moai_adk/cli/prompts/init_prompts.py +219 -0
  14. moai_adk/cli/spec_status.py +263 -0
  15. moai_adk/cli/ui/__init__.py +44 -0
  16. moai_adk/cli/ui/progress.py +422 -0
  17. moai_adk/cli/ui/prompts.py +389 -0
  18. moai_adk/cli/ui/theme.py +129 -0
  19. moai_adk/cli/worktree/__init__.py +27 -0
  20. moai_adk/cli/worktree/__main__.py +31 -0
  21. moai_adk/cli/worktree/cli.py +683 -0
  22. moai_adk/cli/worktree/exceptions.py +89 -0
  23. moai_adk/cli/worktree/manager.py +493 -0
  24. moai_adk/cli/worktree/models.py +65 -0
  25. moai_adk/cli/worktree/registry.py +422 -0
  26. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  27. moai_adk/core/__init__.py +1 -0
  28. moai_adk/core/analysis/__init__.py +9 -0
  29. moai_adk/core/analysis/session_analyzer.py +400 -0
  30. moai_adk/core/claude_integration.py +393 -0
  31. moai_adk/core/command_helpers.py +270 -0
  32. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  33. moai_adk/core/config/__init__.py +19 -0
  34. moai_adk/core/config/auto_spec_config.py +340 -0
  35. moai_adk/core/config/migration.py +244 -0
  36. moai_adk/core/config/unified.py +436 -0
  37. moai_adk/core/context_manager.py +273 -0
  38. moai_adk/core/diagnostics/__init__.py +19 -0
  39. moai_adk/core/diagnostics/slash_commands.py +159 -0
  40. moai_adk/core/enterprise_features.py +1404 -0
  41. moai_adk/core/error_recovery_system.py +1902 -0
  42. moai_adk/core/event_driven_hook_system.py +1371 -0
  43. moai_adk/core/git/__init__.py +31 -0
  44. moai_adk/core/git/branch.py +25 -0
  45. moai_adk/core/git/branch_manager.py +129 -0
  46. moai_adk/core/git/checkpoint.py +134 -0
  47. moai_adk/core/git/commit.py +67 -0
  48. moai_adk/core/git/conflict_detector.py +413 -0
  49. moai_adk/core/git/event_detector.py +79 -0
  50. moai_adk/core/git/manager.py +216 -0
  51. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  52. moai_adk/core/input_validation_middleware.py +1006 -0
  53. moai_adk/core/integration/__init__.py +22 -0
  54. moai_adk/core/integration/engine.py +157 -0
  55. moai_adk/core/integration/integration_tester.py +226 -0
  56. moai_adk/core/integration/models.py +88 -0
  57. moai_adk/core/integration/utils.py +211 -0
  58. moai_adk/core/issue_creator.py +305 -0
  59. moai_adk/core/jit_context_loader.py +956 -0
  60. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  61. moai_adk/core/language_config.py +202 -0
  62. moai_adk/core/language_config_resolver.py +572 -0
  63. moai_adk/core/language_validator.py +543 -0
  64. moai_adk/core/mcp/setup.py +116 -0
  65. moai_adk/core/merge/__init__.py +9 -0
  66. moai_adk/core/merge/analyzer.py +605 -0
  67. moai_adk/core/migration/__init__.py +18 -0
  68. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  69. moai_adk/core/migration/backup_manager.py +277 -0
  70. moai_adk/core/migration/custom_element_scanner.py +358 -0
  71. moai_adk/core/migration/file_migrator.py +209 -0
  72. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  73. moai_adk/core/migration/selective_restorer.py +470 -0
  74. moai_adk/core/migration/template_utils.py +74 -0
  75. moai_adk/core/migration/user_selection_ui.py +338 -0
  76. moai_adk/core/migration/version_detector.py +139 -0
  77. moai_adk/core/migration/version_migrator.py +228 -0
  78. moai_adk/core/performance/__init__.py +6 -0
  79. moai_adk/core/performance/cache_system.py +316 -0
  80. moai_adk/core/performance/parallel_processor.py +116 -0
  81. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  82. moai_adk/core/project/__init__.py +1 -0
  83. moai_adk/core/project/backup_utils.py +70 -0
  84. moai_adk/core/project/checker.py +300 -0
  85. moai_adk/core/project/detector.py +293 -0
  86. moai_adk/core/project/initializer.py +387 -0
  87. moai_adk/core/project/phase_executor.py +716 -0
  88. moai_adk/core/project/validator.py +139 -0
  89. moai_adk/core/quality/__init__.py +6 -0
  90. moai_adk/core/quality/trust_checker.py +377 -0
  91. moai_adk/core/quality/validators/__init__.py +6 -0
  92. moai_adk/core/quality/validators/base_validator.py +19 -0
  93. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  94. moai_adk/core/robust_json_parser.py +611 -0
  95. moai_adk/core/rollback_manager.py +918 -0
  96. moai_adk/core/session_manager.py +651 -0
  97. moai_adk/core/skill_loading_system.py +579 -0
  98. moai_adk/core/spec/confidence_scoring.py +680 -0
  99. moai_adk/core/spec/ears_template_engine.py +1247 -0
  100. moai_adk/core/spec/quality_validator.py +687 -0
  101. moai_adk/core/spec_status_manager.py +478 -0
  102. moai_adk/core/template/__init__.py +7 -0
  103. moai_adk/core/template/backup.py +174 -0
  104. moai_adk/core/template/config.py +191 -0
  105. moai_adk/core/template/languages.py +43 -0
  106. moai_adk/core/template/merger.py +233 -0
  107. moai_adk/core/template/processor.py +1200 -0
  108. moai_adk/core/template_engine.py +310 -0
  109. moai_adk/core/template_variable_synchronizer.py +417 -0
  110. moai_adk/core/unified_permission_manager.py +745 -0
  111. moai_adk/core/user_behavior_analytics.py +851 -0
  112. moai_adk/core/version_sync.py +429 -0
  113. moai_adk/foundation/__init__.py +56 -0
  114. moai_adk/foundation/backend.py +1027 -0
  115. moai_adk/foundation/database.py +1115 -0
  116. moai_adk/foundation/devops.py +1585 -0
  117. moai_adk/foundation/ears.py +431 -0
  118. moai_adk/foundation/frontend.py +870 -0
  119. moai_adk/foundation/git/commit_templates.py +557 -0
  120. moai_adk/foundation/git.py +376 -0
  121. moai_adk/foundation/langs.py +484 -0
  122. moai_adk/foundation/ml_ops.py +1162 -0
  123. moai_adk/foundation/testing.py +1524 -0
  124. moai_adk/foundation/trust/trust_principles.py +676 -0
  125. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  126. moai_adk/project/__init__.py +0 -0
  127. moai_adk/project/configuration.py +1084 -0
  128. moai_adk/project/documentation.py +566 -0
  129. moai_adk/project/schema.py +447 -0
  130. moai_adk/statusline/__init__.py +38 -0
  131. moai_adk/statusline/alfred_detector.py +105 -0
  132. moai_adk/statusline/config.py +376 -0
  133. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  134. moai_adk/statusline/git_collector.py +190 -0
  135. moai_adk/statusline/main.py +322 -0
  136. moai_adk/statusline/metrics_tracker.py +78 -0
  137. moai_adk/statusline/renderer.py +343 -0
  138. moai_adk/statusline/update_checker.py +129 -0
  139. moai_adk/statusline/version_reader.py +741 -0
  140. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
  141. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  142. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  143. moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
  144. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  145. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  146. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  147. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  148. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  149. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  150. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  151. moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
  152. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  153. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  154. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  155. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  156. moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
  157. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  158. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  159. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  160. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  161. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  164. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  165. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  166. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  167. moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
  168. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  169. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  170. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  171. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  172. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  173. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  185. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  186. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  187. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  188. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  189. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
  190. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  191. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  192. moai_adk/templates/.claude/settings.json +172 -0
  193. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
  194. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  195. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  196. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  200. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  201. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  202. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  203. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  204. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  205. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
  206. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  207. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  210. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  211. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  212. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  213. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  214. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  215. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
  216. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  217. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  221. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  222. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  223. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  224. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  230. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  231. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  232. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  233. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  280. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  281. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  282. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  283. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  284. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
  285. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
  286. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  287. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  288. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  289. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  290. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
  291. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  292. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  293. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
  294. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  295. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
  297. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  298. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
  304. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
  305. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
  306. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  307. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  308. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
  309. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  310. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  311. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
  312. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  313. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  314. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
  315. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  316. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  318. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  319. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  320. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  321. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  331. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  332. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  333. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  334. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  338. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  339. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  340. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  341. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  342. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  343. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  344. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  345. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  346. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
  347. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  348. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  349. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  350. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  351. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  352. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  353. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  354. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  355. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  356. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  357. moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
  358. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
  359. moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
  360. moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
  361. moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
  362. moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
  363. moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
  364. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
  365. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
  366. moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
  367. moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
  368. moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
  369. moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
  370. moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
  371. moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
  372. moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
  373. moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
  374. moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
  375. moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
  376. moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
  377. moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
  378. moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
  379. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
  380. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
  381. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
  382. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
  383. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
  384. moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
  385. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
  386. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
  387. moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
  388. moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
  389. moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
  390. moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
  391. moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  433. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  458. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  459. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  460. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  461. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  462. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  463. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  464. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  465. moai_adk/templates/.git-hooks/pre-commit +128 -0
  466. moai_adk/templates/.git-hooks/pre-push +365 -0
  467. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  468. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  469. moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
  470. moai_adk/templates/.gitignore +222 -0
  471. moai_adk/templates/.mcp.json +13 -0
  472. moai_adk/templates/.moai/config/config.yaml +58 -0
  473. moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
  474. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  475. moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
  476. moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
  477. moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
  478. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
  479. moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
  480. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  481. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  482. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  483. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  484. moai_adk/templates/.moai/config/sections/system.yaml +24 -0
  485. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  486. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  487. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  488. moai_adk/templates/CLAUDE.md +642 -0
  489. moai_adk/utils/__init__.py +30 -0
  490. moai_adk/utils/banner.py +38 -0
  491. moai_adk/utils/common.py +294 -0
  492. moai_adk/utils/link_validator.py +241 -0
  493. moai_adk/utils/logger.py +147 -0
  494. moai_adk/utils/safe_file_reader.py +206 -0
  495. moai_adk/utils/timeout.py +160 -0
  496. moai_adk/utils/toon_utils.py +256 -0
  497. moai_adk/version.py +22 -0
  498. moai_adk-0.35.1.dist-info/METADATA +3018 -0
  499. moai_adk-0.35.1.dist-info/RECORD +502 -0
  500. moai_adk-0.35.1.dist-info/WHEEL +4 -0
  501. moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
  502. moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,270 @@
1
+ # Example Diagrams - All 21 Types
2
+
3
+ Quick reference examples for each Mermaid diagram type.
4
+
5
+ ## 1. Flowchart Example
6
+
7
+ ```mermaid
8
+ flowchart TD
9
+ Start([Start]) --> Input[Input Data]
10
+ Input --> Process{Validation}
11
+ Process -->|Valid| Calculate[Calculate Result]
12
+ Process -->|Invalid| Error[Error Handler]
13
+ Calculate --> Output[Output]
14
+ Error --> Output
15
+ Output --> End([End])
16
+
17
+ style Start fill:#90EE90
18
+ style End fill:#FFB6C6
19
+ style Error fill:#FFB6C6
20
+ ```
21
+
22
+ ## 2. Sequence Diagram Example
23
+
24
+ ```mermaid
25
+ sequenceDiagram
26
+ participant User
27
+ participant API
28
+ participant Database
29
+
30
+ User->>API: GET /users
31
+ API->>Database: SELECT * FROM users
32
+ Database-->>API: User records
33
+ API-->>User: JSON response
34
+ ```
35
+
36
+ ## 3. Class Diagram Example
37
+
38
+ ```mermaid
39
+ classDiagram
40
+ class Animal {
41
+ string name
42
+ eat()
43
+ }
44
+ class Dog {
45
+ bark()
46
+ }
47
+ Animal <|-- Dog
48
+ ```
49
+
50
+ ## 4. State Diagram Example
51
+
52
+ ```mermaid
53
+ stateDiagram-v2
54
+ [*] --> Idle
55
+ Idle --> Working: start
56
+ Working --> Idle: complete
57
+ Working --> Error: fail
58
+ Error --> Idle: reset
59
+ Idle --> [*]
60
+ ```
61
+
62
+ ## 5. ER Diagram Example
63
+
64
+ ```mermaid
65
+ erDiagram
66
+ CUSTOMER ||--o{ ORDER : places
67
+ ORDER ||--|{ ORDER-ITEM : contains
68
+ PRODUCT ||--o{ ORDER-ITEM : "included in"
69
+
70
+ CUSTOMER {
71
+ int id PK
72
+ string email
73
+ }
74
+ ```
75
+
76
+ ## 6. Gantt Chart Example
77
+
78
+ ```mermaid
79
+ gantt
80
+ title Project Schedule
81
+ dateFormat YYYY-MM-DD
82
+
83
+ section Phase 1
84
+ Design :des, 2025-01-01, 30d
85
+ Implementation :impl, after:des, 45d
86
+ Testing :test, after:impl, 20d
87
+ ```
88
+
89
+ ## 7. Mindmap Example
90
+
91
+ ```mermaid
92
+ mindmap
93
+ root((Project))
94
+ Planning
95
+ Timeline
96
+ Resources
97
+ Execution
98
+ Development
99
+ Testing
100
+ Delivery
101
+ Deployment
102
+ Documentation
103
+ ```
104
+
105
+ ## 8. Timeline Example
106
+
107
+ ```mermaid
108
+ timeline
109
+ title Development Timeline
110
+ 2025-01 : Project Start : Team Assembled
111
+ 2025-02 : Development
112
+ 2025-03 : Testing
113
+ 2025-04 : Launch
114
+ ```
115
+
116
+ ## 9. Git Graph Example
117
+
118
+ ```mermaid
119
+ gitGraph
120
+ commit id: "Initial"
121
+ branch develop
122
+ commit id: "Feature 1"
123
+ checkout main
124
+ merge develop
125
+ commit id: "v1.0"
126
+ ```
127
+
128
+ ## 10. C4 Diagram Example
129
+
130
+ ```mermaid
131
+ C4Context
132
+ title System Context
133
+ Person(user, "User", "Needs service")
134
+ System(system, "System", "Provides service")
135
+ Rel(user, system, "Uses")
136
+ ```
137
+
138
+ ## 11. User Journey Example
139
+
140
+ ```mermaid
141
+ journey
142
+ title Onboarding
143
+ section Sign Up
144
+ Form : 4 : User
145
+ Verify : 3 : User
146
+ section Setup
147
+ Profile : 5 : User
148
+ ```
149
+
150
+ ## 12. Requirement Diagram Example
151
+
152
+ ```mermaid
153
+ requirementDiagram
154
+ requirement REQ1 {
155
+ id: 1
156
+ text: Authentication
157
+ risk: High
158
+ }
159
+ element webapp {
160
+ type: Software
161
+ }
162
+ REQ1 - satisfies - webapp
163
+ ```
164
+
165
+ ## 13. Pie Chart Example
166
+
167
+ ```mermaid
168
+ pie title Stack Distribution
169
+ "Frontend" : 40
170
+ "Backend" : 35
171
+ "DevOps" : 25
172
+ ```
173
+
174
+ ## 14. Quadrant Chart Example
175
+
176
+ ```mermaid
177
+ quadrantChart
178
+ title Priority Matrix
179
+ x-axis Low --> High
180
+ y-axis Low --> High
181
+ Task A: [0.2, 0.8]
182
+ Task B: [0.8, 0.2]
183
+ ```
184
+
185
+ ## 15. XY Chart Example
186
+
187
+ ```mermaid
188
+ xychart-beta
189
+ title Performance
190
+ x-axis [Jan, Feb, Mar]
191
+ y-axis "Response Time" 0 --> 300
192
+ line [150, 160, 145]
193
+ ```
194
+
195
+ ## 16. Block Diagram Example
196
+
197
+ ```mermaid
198
+ block-beta
199
+ columns 3
200
+ A["Input"]
201
+ B["Process"]
202
+ C["Output"]
203
+ A --> B --> C
204
+ ```
205
+
206
+ ## 17. Kanban Example
207
+
208
+ ```mermaid
209
+ kanban
210
+ section Todo
211
+ Task 1
212
+ Task 2
213
+
214
+ section Doing
215
+ Task 3
216
+
217
+ section Done
218
+ Task 4
219
+ ```
220
+
221
+ ## 18. Sankey Diagram Example
222
+
223
+ ```mermaid
224
+ sankey-beta
225
+ Users, 100
226
+ Users, Development, 60
227
+ Users, QA, 40
228
+ Development, Production, 60
229
+ QA, Production, 40
230
+ ```
231
+
232
+ ## 19. Packet Diagram Example
233
+
234
+ ```mermaid
235
+ packet-beta
236
+ 0-7: Source Port
237
+ 8-15: Dest Port
238
+ 16-31: Sequence
239
+ 32-47: ACK
240
+ ```
241
+
242
+ ## 20. Radar Chart Example
243
+
244
+ ```mermaid
245
+ radar
246
+ title Skills
247
+ Frontend: 90
248
+ Backend: 85
249
+ DevOps: 75
250
+ Design: 70
251
+ max: 100
252
+ ```
253
+
254
+ ## 21. Architecture Diagram Example
255
+
256
+ ```mermaid
257
+ graph TB
258
+ Web["Web App"]
259
+ API["API Server"]
260
+ DB["Database"]
261
+ Cache["Redis"]
262
+
263
+ Web --> API
264
+ API --> DB
265
+ API --> Cache
266
+ ```
267
+
268
+ ---
269
+
270
+ For more examples, visit [mermaid.live](https://mermaid.live)
@@ -0,0 +1,440 @@
1
+ ---
2
+ name: moai-library-mermaid/optimization
3
+ description: Performance optimization, rendering strategies, and SVG generation for Mermaid diagrams
4
+ ---
5
+
6
+ # Mermaid Diagram Optimization (v6.0.0)
7
+
8
+ ## Rendering Performance
9
+
10
+ ### 1. Mermaid Rendering Strategies
11
+
12
+ Strategy 1: Server-Side Rendering (SSR)
13
+ ```javascript
14
+ // Node.js server with mermaid-cli
15
+ const { execSync } = require('child_process');
16
+ const fs = require('fs');
17
+
18
+ function generateSVG(mermaidCode, outputPath) {
19
+ const tempFile = '/tmp/diagram.mmd';
20
+ fs.writeFileSync(tempFile, mermaidCode);
21
+
22
+ try {
23
+ // Use mermaid-cli for server-side rendering
24
+ execSync(`mmdc -i ${tempFile} -o ${outputPath} -t dark -s 4`);
25
+
26
+ return {
27
+ status: 'success',
28
+ path: outputPath,
29
+ size: fs.statSync(outputPath).size
30
+ };
31
+ } catch (error) {
32
+ return {
33
+ status: 'error',
34
+ message: error.message
35
+ };
36
+ }
37
+ }
38
+
39
+ // Cache generated diagrams
40
+ const diagrams = new Map();
41
+
42
+ app.get('/diagram/:id.svg', (req, res) => {
43
+ const cacheKey = `diagram-${req.params.id}`;
44
+
45
+ if (diagrams.has(cacheKey)) {
46
+ return res.sendFile(diagrams.get(cacheKey));
47
+ }
48
+
49
+ const mermaidCode = getMermaidCode(req.params.id);
50
+ const outputPath = generateSVG(mermaidCode, `/tmp/${cacheKey}.svg`);
51
+
52
+ diagrams.set(cacheKey, outputPath);
53
+ res.sendFile(outputPath);
54
+ });
55
+ ```
56
+
57
+ Strategy 2: Client-Side Rendering (CSR)
58
+ ```typescript
59
+ // React component with lazy loading
60
+ import mermaid from 'mermaid';
61
+
62
+ export const MermaidDiagram = ({ code, theme = 'default' }: Props) => {
63
+ const ref = useRef<HTMLDivElement>(null);
64
+
65
+ useEffect(() => {
66
+ // Initialize mermaid with optimized settings
67
+ mermaid.initialize({
68
+ startOnLoad: false,
69
+ theme: theme,
70
+ securityLevel: 'antiscript', // Prevent XSS
71
+ flowchart: { useMaxWidth: true },
72
+ // Disable animations for better performance
73
+ gantt: { useWidth: undefined }
74
+ });
75
+
76
+ // Render only visible diagrams
77
+ if (ref.current && isInViewport(ref.current)) {
78
+ mermaid.contentLoaderAsync();
79
+ }
80
+ }, [code, theme]);
81
+
82
+ return <div ref={ref} className="mermaid">{code}</div>;
83
+ };
84
+
85
+ // Intersection Observer for lazy loading
86
+ const useVisibilityObserver = (ref) => {
87
+ const [isVisible, setIsVisible] = useState(false);
88
+
89
+ useEffect(() => {
90
+ const observer = new IntersectionObserver(([entry]) => {
91
+ if (entry.isIntersecting) {
92
+ setIsVisible(true);
93
+ observer.unobserve(entry.target);
94
+ }
95
+ }, { threshold: 0.1 });
96
+
97
+ if (ref.current) observer.observe(ref.current);
98
+ return () => observer.disconnect();
99
+ }, [ref]);
100
+
101
+ return isVisible;
102
+ };
103
+ ```
104
+
105
+ Strategy 3: Hybrid Rendering
106
+ ```typescript
107
+ // Use SSR for complex diagrams, CSR for simple ones
108
+ interface DiagramConfig {
109
+ complexity: 'simple' | 'medium' | 'complex';
110
+ data: string;
111
+ format: 'svg' | 'png';
112
+ }
113
+
114
+ async function renderDiagram(config: DiagramConfig) {
115
+ if (config.complexity === 'simple') {
116
+ // Client-side for fast rendering
117
+ return renderClientSide(config.data);
118
+ } else if (config.complexity === 'complex') {
119
+ // Server-side for reliability
120
+ return await renderServerSide(config.data, config.format);
121
+ } else {
122
+ // Hybrid: SSR with caching
123
+ const cached = await checkCache(config.data);
124
+ if (cached) return cached;
125
+
126
+ const svg = await renderServerSide(config.data, 'svg');
127
+ await cache(config.data, svg);
128
+ return svg;
129
+ }
130
+ }
131
+ ```
132
+
133
+ ## Caching Strategies
134
+
135
+ ### 1. Multi-Layer Caching
136
+
137
+ ```typescript
138
+ class DiagramCache {
139
+ private memoryCache = new Map<string, CacheEntry>();
140
+ private redisClient = createRedisClient();
141
+ private S3Bucket = createS3Bucket();
142
+
143
+ async get(diagramId: string): Promise<SVG | null> {
144
+ // Layer 1: Memory cache (milliseconds)
145
+ let cached = this.memoryCache.get(diagramId);
146
+ if (cached && !this.isExpired(cached)) {
147
+ metrics.increment('cache.memory.hit');
148
+ return cached.svg;
149
+ }
150
+
151
+ // Layer 2: Redis cache (seconds/minutes)
152
+ try {
153
+ cached = await this.redisClient.get(diagramId);
154
+ if (cached) {
155
+ metrics.increment('cache.redis.hit');
156
+ // Populate memory cache
157
+ this.memoryCache.set(diagramId, cached);
158
+ return cached.svg;
159
+ }
160
+ } catch (error) {
161
+ logger.warn('Redis cache miss', { diagramId });
162
+ }
163
+
164
+ // Layer 3: S3 cache (permanent)
165
+ try {
166
+ cached = await this.S3Bucket.get(`diagrams/${diagramId}.svg`);
167
+ if (cached) {
168
+ metrics.increment('cache.s3.hit');
169
+ // Populate Redis and memory
170
+ await this.redisClient.set(diagramId, cached, 3600); // 1 hour TTL
171
+ this.memoryCache.set(diagramId, cached);
172
+ return cached.svg;
173
+ }
174
+ } catch (error) {
175
+ logger.warn('S3 cache miss', { diagramId });
176
+ }
177
+
178
+ // Cache miss - generate new
179
+ metrics.increment('cache.miss');
180
+ return null;
181
+ }
182
+
183
+ async set(diagramId: string, svg: SVG, ttl: number = 3600) {
184
+ const entry = { svg, timestamp: Date.now(), ttl };
185
+
186
+ // All layers
187
+ this.memoryCache.set(diagramId, entry);
188
+ await this.redisClient.set(diagramId, entry, ttl);
189
+ await this.S3Bucket.put(`diagrams/${diagramId}.svg`, svg);
190
+ }
191
+
192
+ invalidate(diagramId: string) {
193
+ this.memoryCache.delete(diagramId);
194
+ this.redisClient.del(diagramId);
195
+ // Keep S3 for history
196
+ }
197
+ }
198
+ ```
199
+
200
+ ### 2. Cache Invalidation Strategies
201
+
202
+ ```typescript
203
+ // Event-based cache invalidation
204
+ class CacheInvalidator {
205
+ async invalidateOnDiagramUpdate(diagramId: string) {
206
+ // Publish invalidation event
207
+ await eventBus.publish('diagram.updated', { diagramId });
208
+
209
+ // Subscribe to updates
210
+ eventBus.subscribe('diagram.updated', async (event) => {
211
+ await this.cache.invalidate(event.diagramId);
212
+
213
+ // Pre-generate for frequently accessed diagrams
214
+ if (await this.isFavorite(event.diagramId)) {
215
+ await this.preGenerateSVG(event.diagramId);
216
+ }
217
+ });
218
+ }
219
+
220
+ // Time-based TTL
221
+ setTTL(diagramId: string, category: string) {
222
+ const ttls = {
223
+ 'architecture': 86400, // 24 hours
224
+ 'sequence': 3600, // 1 hour
225
+ 'temporary': 600, // 10 minutes
226
+ 'frequently_accessed': 0 // Never expire
227
+ };
228
+ return ttls[category] || 3600;
229
+ }
230
+ }
231
+ ```
232
+
233
+ ## SVG Optimization
234
+
235
+ ### 1. SVG Size Reduction
236
+
237
+ ```typescript
238
+ import { minify } from 'svgo';
239
+
240
+ class SVGOptimizer {
241
+ async optimize(svg: string): Promise<string> {
242
+ const optimized = minify(svg, {
243
+ plugins: [
244
+ {
245
+ name: 'preset-default',
246
+ params: {
247
+ overrides: {
248
+ cleanupIds: { minify: true },
249
+ removeViewBox: false, // Keep for responsiveness
250
+ removeHiddenElems: true,
251
+ removeEmptyContainers: true,
252
+ convertStyleToAttrs: true,
253
+ removeEmptyAttrs: true,
254
+ removeUnknownsAndDefaults: true,
255
+ removeUselessDefs: true,
256
+ removeUselessStrokeAndFill: true,
257
+ }
258
+ }
259
+ },
260
+ 'convertColors',
261
+ 'removeDoctype'
262
+ ]
263
+ });
264
+
265
+ return optimized.data;
266
+ }
267
+
268
+ // Measure compression ratio
269
+ measureCompression(original: string, optimized: string) {
270
+ const ratio = ((original.length - optimized.length) / original.length * 100).toFixed(2);
271
+ return {
272
+ original: `${(original.length / 1024).toFixed(2)}KB`,
273
+ optimized: `${(optimized.length / 1024).toFixed(2)}KB`,
274
+ saved: `${ratio}%`
275
+ };
276
+ }
277
+ }
278
+
279
+ // Usage
280
+ const optimizer = new SVGOptimizer();
281
+ const original = generateMermaidSVG(code);
282
+ const optimized = await optimizer.optimize(original);
283
+ const stats = optimizer.measureCompression(original, optimized);
284
+ console.log(`Optimized: ${stats.saved}% reduction`);
285
+ ```
286
+
287
+ ### 2. Responsive SVG
288
+
289
+ ```typescript
290
+ function createResponsiveSVG(width: number, height: number) {
291
+ return `
292
+ <svg
293
+ viewBox="0 0 ${width} ${height}"
294
+ preserveAspectRatio="xMidYMid meet"
295
+ class="mermaid-responsive"
296
+ style="width: 100%; height: auto; max-width: 100%;"
297
+ >
298
+ <!-- diagram content -->
299
+ </svg>
300
+ `;
301
+ }
302
+
303
+ // CSS for responsive behavior
304
+ const styles = `
305
+ .mermaid-responsive {
306
+ display: block;
307
+ margin: 0 auto;
308
+ }
309
+
310
+ @media (max-width: 768px) {
311
+ .mermaid-responsive {
312
+ font-size: 12px;
313
+ }
314
+
315
+ .mermaid-node text {
316
+ font-size: 10px;
317
+ }
318
+ }
319
+ `;
320
+ ```
321
+
322
+ ## Performance Monitoring
323
+
324
+ ### 1. Metrics Collection
325
+
326
+ ```typescript
327
+ class DiagramMetrics {
328
+ async trackRendering(diagramId: string, code: string) {
329
+ const startTime = performance.now();
330
+
331
+ const svg = await renderDiagram(code);
332
+
333
+ const duration = performance.now() - startTime;
334
+ const nodeCount = svg.match(/<g class="node"/g)?.length || 0;
335
+ const edgeCount = svg.match(/<line/g)?.length || 0;
336
+ const svgSize = new Blob([svg]).size;
337
+
338
+ // Send to metrics service
339
+ await metrics.record({
340
+ type: 'diagram.render',
341
+ diagramId,
342
+ duration_ms: duration,
343
+ node_count: nodeCount,
344
+ edge_count: edgeCount,
345
+ svg_size_bytes: svgSize,
346
+ complexity: this.calculateComplexity(nodeCount, edgeCount),
347
+ timestamp: new Date().toISOString()
348
+ });
349
+
350
+ return {
351
+ duration_ms: duration,
352
+ metrics: { nodeCount, edgeCount, svgSize }
353
+ };
354
+ }
355
+
356
+ calculateComplexity(nodes: number, edges: number): string {
357
+ const score = nodes + edges;
358
+ if (score < 20) return 'simple';
359
+ if (score < 50) return 'medium';
360
+ if (score < 100) return 'complex';
361
+ return 'very-complex';
362
+ }
363
+ }
364
+ ```
365
+
366
+ ### 2. Performance Budgets
367
+
368
+ ```typescript
369
+ interface PerformanceBudget {
370
+ renderTime_ms: number;
371
+ svgSize_bytes: number;
372
+ nodeCount: number;
373
+ memory_mb: number;
374
+ }
375
+
376
+ const budgets: Record<string, PerformanceBudget> = {
377
+ 'simple': {
378
+ renderTime_ms: 100,
379
+ svgSize_bytes: 10000,
380
+ nodeCount: 20,
381
+ memory_mb: 10
382
+ },
383
+ 'medium': {
384
+ renderTime_ms: 500,
385
+ svgSize_bytes: 100000,
386
+ nodeCount: 50,
387
+ memory_mb: 50
388
+ },
389
+ 'complex': {
390
+ renderTime_ms: 2000,
391
+ svgSize_bytes: 500000,
392
+ nodeCount: 150,
393
+ memory_mb: 200
394
+ }
395
+ };
396
+
397
+ async function validatePerformance(diagramId: string, metrics: DiagramMetrics) {
398
+ const complexity = metrics.complexity;
399
+ const budget = budgets[complexity];
400
+
401
+ const issues = [];
402
+ if (metrics.duration_ms > budget.renderTime_ms) {
403
+ issues.push(`Render time exceeded: ${metrics.duration_ms}ms > ${budget.renderTime_ms}ms`);
404
+ }
405
+ if (metrics.svgSize_bytes > budget.svgSize_bytes) {
406
+ issues.push(`SVG size exceeded: ${metrics.svgSize_bytes}B > ${budget.svgSize_bytes}B`);
407
+ }
408
+
409
+ if (issues.length > 0) {
410
+ logger.warn('Performance budget exceeded', { diagramId, issues });
411
+ await metrics.alert('diagram.performance.budget_exceeded', { diagramId, issues });
412
+ }
413
+
414
+ return issues.length === 0;
415
+ }
416
+ ```
417
+
418
+ ## Optimization Checklist
419
+
420
+ - [ ] Caching: Implement multi-layer caching (memory → Redis → S3)
421
+ - [ ] SVG Optimization: Minify SVG using SVGO with proper configuration
422
+ - [ ] Lazy Loading: Use Intersection Observer for diagrams below fold
423
+ - [ ] Code Splitting: Load mermaid library asynchronously
424
+ - [ ] Performance Monitoring: Track render times and SVG sizes
425
+ - [ ] Responsive Design: Use viewBox and preserveAspectRatio for scaling
426
+ - [ ] Content Delivery: Use CDN for cached SVG files
427
+ - [ ] Browser Compatibility: Test with Chrome, Firefox, Safari, Edge
428
+
429
+ ## Best Practices for Large-Scale Deployments
430
+
431
+ 1. Pre-generate Common Diagrams: Generate popular diagrams during off-peak hours
432
+ 2. CDN Distribution: Cache SVGs on CDN for global delivery
433
+ 3. Rate Limiting: Limit diagram generation requests per user/IP
434
+ 4. Queue Processing: Use job queues for complex diagram generation
435
+ 5. Error Recovery: Implement graceful degradation (show placeholder if rendering fails)
436
+ 6. Monitoring: Alert on rendering failures or performance degradation
437
+
438
+ ---
439
+
440
+ Version: 6.0.0 | Last Updated: 2025-11-22 | Enterprise Ready: