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,665 @@
1
+ # Modular System - File Organization
2
+
3
+ Purpose: Scalable file structure enabling unlimited content depth while maintaining clean, navigable, and maintainable skill architecture.
4
+
5
+ Version: 1.0.0
6
+ Last Updated: 2025-11-25
7
+
8
+ ---
9
+
10
+ ## Quick Reference (30 seconds)
11
+
12
+ Modular System = Organized file structure for scalable skills and documentation.
13
+
14
+ Standard Structure:
15
+ ```
16
+ .claude/skills/skill-name/
17
+ SKILL.md # Core entry (≤500 lines, mandatory)
18
+ modules/ # Extended content (unlimited, optional)
19
+ pattern-a.md
20
+ pattern-b.md
21
+ pattern-c.md
22
+ examples.md # Working code samples (optional)
23
+ reference.md # External links/API docs (optional)
24
+ scripts/ # Utility scripts (optional)
25
+ helper.sh
26
+ templates/ # Templates (optional)
27
+ template.md
28
+ ```
29
+
30
+ File Principles:
31
+ 1. SKILL.md ≤500 lines (hard limit)
32
+ 2. modules/ = Topic-focused, self-contained
33
+ 3. examples.md = Copy-paste ready
34
+ 4. reference.md = External resources
35
+
36
+ Cross-Reference Syntax:
37
+ ```markdown
38
+ Details: [Module](modules/patterns.md)
39
+ Examples: [Examples](examples.md#auth)
40
+ External: [Reference](reference.md#api)
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Implementation Guide (5 minutes)
46
+
47
+ ### Standard File Structure
48
+
49
+ Tier 1: Mandatory Files
50
+
51
+ .claude/skills/skill-name/SKILL.md (Required, ≤500 lines):
52
+
53
+ ```markdown
54
+ ---
55
+ name: skill-name
56
+ description: Brief description (max 1024 chars)
57
+ tools: Read, Bash, Grep, Glob
58
+ ---
59
+
60
+ # Skill Name
61
+
62
+ Entry point with progressive disclosure structure.
63
+
64
+ ## Quick Reference (30s)
65
+ [Core principles]
66
+
67
+ ## Implementation Guide (5min)
68
+ [Practical patterns with cross-references]
69
+
70
+ ## Advanced Patterns (10+min)
71
+ [Brief intros with links to modules/]
72
+
73
+ ## Works Well With
74
+ [Integration points]
75
+ ```
76
+
77
+ Tier 2: Extended Content (Optional)
78
+
79
+ modules/ Directory:
80
+ - Purpose: Deep dives on specific topics
81
+ - Structure: Self-contained, topic-focused
82
+ - Limits: No line limits (can be 1000+ lines)
83
+ - Naming: Descriptive kebab-case (e.g., `advanced-patterns.md`)
84
+
85
+ Example modules/ structure:
86
+ ```
87
+ modules/
88
+ trust-5-framework.md # Quality assurance deep dive
89
+ spec-first-tdd.md # TDD workflow detailed guide
90
+ delegation-patterns.md # Agent orchestration patterns
91
+ token-optimization.md # Budget management strategies
92
+ progressive-disclosure.md # Content architecture
93
+ modular-system.md # File organization (this file)
94
+ ```
95
+
96
+ Tier 3: Supporting Files (Optional)
97
+
98
+ examples.md:
99
+ ```markdown
100
+ # Working Examples
101
+
102
+ ## Example 1: Basic Usage
103
+ ```python
104
+ # Copy-paste ready code
105
+ def basic_example():
106
+ result = skill_function()
107
+ return result
108
+ ```
109
+
110
+ ## Example 2: Advanced Usage
111
+ ```python
112
+ # Complex scenario
113
+ def advanced_example():
114
+ # Detailed implementation
115
+ pass
116
+ ```
117
+ ```
118
+
119
+ reference.md:
120
+ ```markdown
121
+ # External Resources
122
+
123
+ ## Official Documentation
124
+ - [Library Docs](https://docs.example.com)
125
+ - [API Reference](https://api.example.com)
126
+
127
+ ## Related Standards
128
+ - [RFC 5322](https://tools.ietf.org/html/rfc5322)
129
+ - [OWASP Top 10](https://owasp.org/Top10/)
130
+
131
+ ## Tools and Libraries
132
+ - [pytest](https://docs.pytest.org/)
133
+ - [black](https://black.readthedocs.io/)
134
+ ```
135
+
136
+ scripts/ Directory:
137
+ ```bash
138
+ # scripts/helper.sh
139
+ #!/bin/bash
140
+ # Utility script for skill operations
141
+
142
+ function validate_skill() {
143
+ # Validation logic
144
+ echo "Validating skill structure..."
145
+ }
146
+ ```
147
+
148
+ templates/ Directory:
149
+ ```markdown
150
+ <!-- templates/template.md -->
151
+ # Template Name
152
+
153
+ [Template content with placeholders]
154
+
155
+ Variables:
156
+ - {{skill_name}}
157
+ - {{description}}
158
+ - {{tools}}
159
+ ```
160
+
161
+ ---
162
+
163
+ ### File Splitting Strategy
164
+
165
+ When to Split SKILL.md:
166
+
167
+ ```python
168
+ class FileSplittingDecision:
169
+ """Determine when and how to split SKILL.md."""
170
+
171
+ MAX_SKILL_LINES = 500
172
+
173
+ def should_split(self, skill_md_path: str) -> dict:
174
+ """Analyze if SKILL.md needs splitting."""
175
+
176
+ with open(skill_md_path) as f:
177
+ lines = f.readlines()
178
+
179
+ line_count = len(lines)
180
+
181
+ if line_count <= self.MAX_SKILL_LINES:
182
+ return {
183
+ "split_needed": False,
184
+ "line_count": line_count,
185
+ "remaining": self.MAX_SKILL_LINES - line_count
186
+ }
187
+
188
+ # Analyze sections for splitting
189
+ sections = self._analyze_sections(lines)
190
+
191
+ split_recommendations = []
192
+
193
+ # Advanced Patterns → modules/advanced-patterns.md
194
+ if sections["advanced_patterns"] > 100:
195
+ split_recommendations.append({
196
+ "source": "Advanced Patterns section",
197
+ "target": "modules/advanced-patterns.md",
198
+ "lines": sections["advanced_patterns"],
199
+ "keep_intro": 20 # Keep brief intro in SKILL.md
200
+ })
201
+
202
+ # Code Examples → examples.md
203
+ if sections["code_examples"] > 80:
204
+ split_recommendations.append({
205
+ "source": "Code examples",
206
+ "target": "examples.md",
207
+ "lines": sections["code_examples"],
208
+ "keep_intro": 10 # Keep key example in SKILL.md
209
+ })
210
+
211
+ # References → reference.md
212
+ if sections["references"] > 50:
213
+ split_recommendations.append({
214
+ "source": "References section",
215
+ "target": "reference.md",
216
+ "lines": sections["references"],
217
+ "keep_intro": 5
218
+ })
219
+
220
+ # Topic-specific deep dives → modules/[topic].md
221
+ for topic, topic_lines in sections["topics"].items():
222
+ if topic_lines > 150:
223
+ split_recommendations.append({
224
+ "source": f"{topic} section",
225
+ "target": f"modules/{topic}.md",
226
+ "lines": topic_lines,
227
+ "keep_intro": 30
228
+ })
229
+
230
+ return {
231
+ "split_needed": True,
232
+ "line_count": line_count,
233
+ "overflow": line_count - self.MAX_SKILL_LINES,
234
+ "recommendations": split_recommendations,
235
+ "estimated_final_size": line_count - sum(
236
+ r["lines"] - r["keep_intro"] for r in split_recommendations
237
+ )
238
+ }
239
+
240
+ def execute_split(self, skill_path: str, recommendations: list):
241
+ """Execute file splitting based on recommendations."""
242
+
243
+ skill_md_path = f"{skill_path}/SKILL.md"
244
+
245
+ with open(skill_md_path) as f:
246
+ content = f.read()
247
+
248
+ for rec in recommendations:
249
+ # Extract content for splitting
250
+ section_content = self._extract_section_content(
251
+ content,
252
+ rec["source"]
253
+ )
254
+
255
+ # Create target file
256
+ target_path = f"{skill_path}/{rec['target']}"
257
+ os.makedirs(os.path.dirname(target_path), exist_ok=True)
258
+
259
+ with open(target_path, 'w') as f:
260
+ f.write(section_content)
261
+
262
+ # Replace in SKILL.md with brief intro + cross-reference
263
+ brief_intro = section_content[:rec["keep_intro"]] + "\n\n"
264
+ cross_ref = f"[Full details]({rec['target']})\n"
265
+
266
+ content = content.replace(
267
+ section_content,
268
+ brief_intro + cross_ref
269
+ )
270
+
271
+ # Write updated SKILL.md
272
+ with open(skill_md_path, 'w') as f:
273
+ f.write(content)
274
+
275
+ # Usage
276
+ splitter = FileSplittingDecision()
277
+
278
+ decision = splitter.should_split(".claude/skills/moai-foundation-core/SKILL.md")
279
+
280
+ if decision["split_needed"]:
281
+ print(f" SKILL.md needs splitting: {decision['line_count']} lines")
282
+ print(f" Overflow: {decision['overflow']} lines")
283
+
284
+ for rec in decision["recommendations"]:
285
+ print(f" → Split '{rec['source']}' to {rec['target']}")
286
+
287
+ # Execute splitting
288
+ splitter.execute_split(
289
+ ".claude/skills/moai-foundation-core",
290
+ decision["recommendations"]
291
+ )
292
+
293
+ print(f" Final SKILL.md size: {decision['estimated_final_size']} lines")
294
+ ```
295
+
296
+ ---
297
+
298
+ ### Cross-Reference Patterns
299
+
300
+ Effective Cross-Linking Strategy:
301
+
302
+ Pattern 1: Module Cross-References:
303
+ ```markdown
304
+ <!-- In SKILL.md -->
305
+ ## Implementation Guide (5 minutes)
306
+
307
+ ### Pattern 1: Quality Framework
308
+
309
+ Quick overview of TRUST 5 framework.
310
+
311
+ Detailed Implementation: [TRUST 5 Module](modules/trust-5-framework.md)
312
+
313
+ Key principles:
314
+ - Test-first ≥85%
315
+ - Readable code
316
+ - Unified patterns
317
+ - Secured (OWASP)
318
+ - Trackable commits
319
+
320
+ For advanced patterns, validation frameworks, and CI/CD integration, see the [full module](modules/trust-5-framework.md#advanced-implementation).
321
+ ```
322
+
323
+ Pattern 2: Section Anchors:
324
+ ```markdown
325
+ <!-- In SKILL.md -->
326
+ Quick Access:
327
+ - Quality framework → [TRUST 5](modules/trust-5-framework.md#quick-reference)
328
+ - TDD workflow → [SPEC-First](modules/spec-first-tdd.md#phase-2-test-driven-development)
329
+ - Agent patterns → [Delegation](modules/delegation-patterns.md#pattern-1-sequential-delegation)
330
+
331
+ <!-- In module -->
332
+ ## Advanced Implementation (10+ minutes)
333
+
334
+ ### Pattern Optimization {#pattern-optimization}
335
+
336
+ [Content accessible via anchor link]
337
+ ```
338
+
339
+ Pattern 3: Example Links:
340
+ ```markdown
341
+ <!-- In SKILL.md -->
342
+ ## Implementation Guide
343
+
344
+ ```python
345
+ # Basic example
346
+ def basic_usage():
347
+ result = process()
348
+ return result
349
+ ```
350
+
351
+ More Examples: [examples.md](examples.md)
352
+ - [Authentication Example](examples.md#auth-example)
353
+ - [API Integration](examples.md#api-integration)
354
+ - [Error Handling](examples.md#error-handling)
355
+ ```
356
+
357
+ Pattern 4: External References:
358
+ ```markdown
359
+ <!-- In SKILL.md -->
360
+ ## Quick Reference
361
+
362
+ Official Documentation: [reference.md](reference.md#official-docs)
363
+ Related Standards: [reference.md](reference.md#standards)
364
+ Tools: [reference.md](reference.md#tools)
365
+ ```
366
+
367
+ ---
368
+
369
+ ## Advanced Implementation (10+ minutes)
370
+
371
+ ### Automated File Organization
372
+
373
+ Skill Organizer Tool:
374
+
375
+ ```python
376
+ from pathlib import Path
377
+ import os
378
+ import re
379
+
380
+ class SkillOrganizer:
381
+ """Organize skill files according to modular system standards."""
382
+
383
+ def __init__(self, skill_path: Path):
384
+ self.skill_path = Path(skill_path)
385
+ self.structure = {
386
+ "SKILL.md": True, # Mandatory
387
+ "modules/": False,
388
+ "examples.md": False,
389
+ "reference.md": False,
390
+ "scripts/": False,
391
+ "templates/": False
392
+ }
393
+
394
+ def validate_structure(self) -> dict:
395
+ """Validate skill directory structure."""
396
+
397
+ validation = {}
398
+
399
+ # Check mandatory files
400
+ skill_md = self.skill_path / "SKILL.md"
401
+ if not skill_md.exists():
402
+ validation["SKILL.md"] = {
403
+ "status": "MISSING",
404
+ "severity": "ERROR",
405
+ "action": "Create SKILL.md file"
406
+ }
407
+ else:
408
+ # Validate SKILL.md content
409
+ with open(skill_md) as f:
410
+ lines = f.readlines()
411
+
412
+ line_count = len(lines)
413
+
414
+ validation["SKILL.md"] = {
415
+ "status": "OK" if line_count <= 500 else "OVERFLOW",
416
+ "severity": "WARNING" if line_count > 500 else "OK",
417
+ "line_count": line_count,
418
+ "action": "Split to modules" if line_count > 500 else None
419
+ }
420
+
421
+ # Check optional directories
422
+ for dir_name in ["modules", "scripts", "templates"]:
423
+ dir_path = self.skill_path / dir_name
424
+ if dir_path.exists():
425
+ validation[f"{dir_name}/"] = {
426
+ "status": "PRESENT",
427
+ "files": list(dir_path.glob("*"))
428
+ }
429
+
430
+ # Check optional files
431
+ for file_name in ["examples.md", "reference.md"]:
432
+ file_path = self.skill_path / file_name
433
+ if file_path.exists():
434
+ validation[file_name] = {
435
+ "status": "PRESENT",
436
+ "size": file_path.stat().st_size
437
+ }
438
+
439
+ return validation
440
+
441
+ def organize_skill(self):
442
+ """Organize skill files according to standards."""
443
+
444
+ # Create modules/ directory if needed
445
+ modules_dir = self.skill_path / "modules"
446
+ if not modules_dir.exists():
447
+ modules_dir.mkdir()
448
+
449
+ # Move advanced content to modules/
450
+ self._move_advanced_content_to_modules()
451
+
452
+ # Extract examples to examples.md
453
+ self._extract_examples()
454
+
455
+ # Extract references to reference.md
456
+ self._extract_references()
457
+
458
+ # Create scripts/ if utility scripts exist
459
+ self._organize_scripts()
460
+
461
+ # Validate final structure
462
+ return self.validate_structure()
463
+
464
+ def _move_advanced_content_to_modules(self):
465
+ """Move advanced patterns to modules/."""
466
+
467
+ skill_md = self.skill_path / "SKILL.md"
468
+
469
+ with open(skill_md) as f:
470
+ content = f.read()
471
+
472
+ # Extract Advanced Patterns section
473
+ advanced_match = re.search(
474
+ r'## Advanced (Implementation|Patterns).*?(?=##|$)',
475
+ content,
476
+ re.DOTALL
477
+ )
478
+
479
+ if advanced_match and len(advanced_match.group(0)) > 500:
480
+ advanced_content = advanced_match.group(0)
481
+
482
+ # Save to module
483
+ module_path = self.skill_path / "modules" / "advanced-patterns.md"
484
+ with open(module_path, 'w') as f:
485
+ f.write(f"# Advanced Patterns\n\n{advanced_content}")
486
+
487
+ # Replace with brief intro in SKILL.md
488
+ brief_intro = advanced_content[:200] + "\n\n"
489
+ cross_ref = "[Full advanced patterns](modules/advanced-patterns.md)\n"
490
+
491
+ content = content.replace(
492
+ advanced_content,
493
+ brief_intro + cross_ref
494
+ )
495
+
496
+ # Write updated SKILL.md
497
+ with open(skill_md, 'w') as f:
498
+ f.write(content)
499
+
500
+ def generate_navigation(self) -> str:
501
+ """Generate navigation structure for skill."""
502
+
503
+ navigation = []
504
+ navigation.append("# Skill Navigation\n")
505
+
506
+ # SKILL.md sections
507
+ navigation.append("## Core Content (SKILL.md)\n")
508
+ navigation.append("- [Quick Reference](SKILL.md#quick-reference)\n")
509
+ navigation.append("- [Implementation Guide](SKILL.md#implementation-guide)\n")
510
+ navigation.append("- [Advanced Patterns](SKILL.md#advanced-patterns)\n\n")
511
+
512
+ # Modules
513
+ modules_dir = self.skill_path / "modules"
514
+ if modules_dir.exists():
515
+ navigation.append("## Extended Content (modules/)\n")
516
+ for module in sorted(modules_dir.glob("*.md")):
517
+ module_name = module.stem.replace("-", " ").title()
518
+ navigation.append(f"- [{module_name}](modules/{module.name})\n")
519
+ navigation.append("\n")
520
+
521
+ # Examples
522
+ if (self.skill_path / "examples.md").exists():
523
+ navigation.append("## Working Examples\n")
524
+ navigation.append("- [examples.md](examples.md)\n\n")
525
+
526
+ # Reference
527
+ if (self.skill_path / "reference.md").exists():
528
+ navigation.append("## External Resources\n")
529
+ navigation.append("- [reference.md](reference.md)\n\n")
530
+
531
+ return "".join(navigation)
532
+
533
+ # Usage
534
+ organizer = SkillOrganizer(".claude/skills/moai-foundation-core")
535
+
536
+ # Validate current structure
537
+ validation = organizer.validate_structure()
538
+ for file, result in validation.items():
539
+ print(f"{file}: {result}")
540
+
541
+ # Organize skill files
542
+ organizer.organize_skill()
543
+
544
+ # Generate navigation
545
+ navigation = organizer.generate_navigation()
546
+ with open(".claude/skills/moai-foundation-core/NAVIGATION.md", 'w') as f:
547
+ f.write(navigation)
548
+ ```
549
+
550
+ ### Module Discovery and Loading
551
+
552
+ Dynamic Module Loader:
553
+
554
+ ```python
555
+ class ModuleDiscovery:
556
+ """Discover and load skill modules dynamically."""
557
+
558
+ def __init__(self, skill_path: Path):
559
+ self.skill_path = Path(skill_path)
560
+ self.modules_cache = {}
561
+
562
+ def discover_modules(self) -> dict:
563
+ """Discover all available modules."""
564
+
565
+ modules_dir = self.skill_path / "modules"
566
+
567
+ if not modules_dir.exists():
568
+ return {}
569
+
570
+ modules = {}
571
+
572
+ for module_file in modules_dir.glob("*.md"):
573
+ module_name = module_file.stem
574
+
575
+ # Extract module metadata
576
+ with open(module_file) as f:
577
+ content = f.read()
578
+
579
+ # Parse frontmatter if exists
580
+ metadata = self._parse_frontmatter(content)
581
+
582
+ modules[module_name] = {
583
+ "path": module_file,
584
+ "size": module_file.stat().st_size,
585
+ "metadata": metadata,
586
+ "topics": self._extract_topics(content)
587
+ }
588
+
589
+ return modules
590
+
591
+ def load_module(self, module_name: str) -> str:
592
+ """Load specific module content."""
593
+
594
+ if module_name in self.modules_cache:
595
+ return self.modules_cache[module_name]
596
+
597
+ module_path = self.skill_path / "modules" / f"{module_name}.md"
598
+
599
+ if not module_path.exists():
600
+ raise FileNotFoundError(f"Module not found: {module_name}")
601
+
602
+ with open(module_path) as f:
603
+ content = f.read()
604
+
605
+ self.modules_cache[module_name] = content
606
+ return content
607
+
608
+ def search_modules(self, query: str) -> list:
609
+ """Search for topic across all modules."""
610
+
611
+ modules = self.discover_modules()
612
+ results = []
613
+
614
+ for module_name, module_info in modules.items():
615
+ if query.lower() in module_info["topics"]:
616
+ results.append({
617
+ "module": module_name,
618
+ "path": module_info["path"],
619
+ "relevance": self._calculate_relevance(query, module_info)
620
+ })
621
+
622
+ return sorted(results, key=lambda x: x["relevance"], reverse=True)
623
+
624
+ # Usage
625
+ discovery = ModuleDiscovery(".claude/skills/moai-foundation-core")
626
+
627
+ # Discover all modules
628
+ modules = discovery.discover_modules()
629
+ print(f"Found {len(modules)} modules")
630
+
631
+ # Load specific module
632
+ trust5_content = discovery.load_module("trust-5-framework")
633
+
634
+ # Search for topic
635
+ results = discovery.search_modules("security")
636
+ for result in results:
637
+ print(f"Found in: {result['module']} (relevance: {result['relevance']})")
638
+ ```
639
+
640
+ ---
641
+
642
+ ## Works Well With
643
+
644
+ Skills:
645
+ - moai-foundation-progressive-disclosure - Content structuring
646
+ - moai-cc-skill-factory - Skill creation with modular structure
647
+ - moai-foundation-token-optimization - File loading efficiency
648
+
649
+ Agents:
650
+ - skill-factory - Create skills with standard file structure
651
+ - docs-manager - Generate documentation following modular pattern
652
+
653
+ Commands:
654
+ - /moai:1-plan - SPEC generation with modular docs
655
+ - /moai:3-sync - Documentation sync to modular structure
656
+
657
+ Memory:
658
+ - @.claude/skills/ - Standard skill location
659
+ - Skill("moai-foundation-core") modules/ - Memory files following modular pattern
660
+
661
+ ---
662
+
663
+ Version: 1.0.0
664
+ Last Updated: 2025-11-25
665
+ Status: Production Ready