moai-adk 0.8.0__py3-none-any.whl → 0.34.0__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.
Files changed (654) hide show
  1. moai_adk/__init__.py +2 -6
  2. moai_adk/__main__.py +136 -21
  3. moai_adk/cli/__init__.py +6 -2
  4. moai_adk/cli/commands/__init__.py +1 -4
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +17 -5
  7. moai_adk/cli/commands/init.py +118 -48
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +8 -13
  10. moai_adk/cli/commands/update.py +1978 -149
  11. moai_adk/cli/main.py +3 -2
  12. moai_adk/cli/prompts/init_prompts.py +144 -91
  13. moai_adk/cli/spec_status.py +263 -0
  14. moai_adk/cli/ui/__init__.py +44 -0
  15. moai_adk/cli/ui/progress.py +422 -0
  16. moai_adk/cli/ui/prompts.py +389 -0
  17. moai_adk/cli/ui/theme.py +129 -0
  18. moai_adk/cli/worktree/__init__.py +27 -0
  19. moai_adk/cli/worktree/__main__.py +31 -0
  20. moai_adk/cli/worktree/cli.py +683 -0
  21. moai_adk/cli/worktree/exceptions.py +89 -0
  22. moai_adk/cli/worktree/manager.py +493 -0
  23. moai_adk/cli/worktree/models.py +65 -0
  24. moai_adk/cli/worktree/registry.py +422 -0
  25. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  26. moai_adk/core/__init__.py +0 -1
  27. moai_adk/core/analysis/__init__.py +9 -0
  28. moai_adk/core/analysis/session_analyzer.py +400 -0
  29. moai_adk/core/claude_integration.py +393 -0
  30. moai_adk/core/command_helpers.py +270 -0
  31. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  32. moai_adk/core/config/__init__.py +6 -0
  33. moai_adk/core/config/auto_spec_config.py +340 -0
  34. moai_adk/core/config/migration.py +148 -17
  35. moai_adk/core/config/unified.py +436 -0
  36. moai_adk/core/context_manager.py +273 -0
  37. moai_adk/core/diagnostics/slash_commands.py +0 -1
  38. moai_adk/core/enterprise_features.py +1404 -0
  39. moai_adk/core/error_recovery_system.py +1902 -0
  40. moai_adk/core/event_driven_hook_system.py +1371 -0
  41. moai_adk/core/git/__init__.py +8 -1
  42. moai_adk/core/git/branch.py +0 -1
  43. moai_adk/core/git/branch_manager.py +2 -10
  44. moai_adk/core/git/checkpoint.py +1 -7
  45. moai_adk/core/git/commit.py +0 -1
  46. moai_adk/core/git/conflict_detector.py +413 -0
  47. moai_adk/core/git/event_detector.py +3 -5
  48. moai_adk/core/git/manager.py +91 -2
  49. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  50. moai_adk/core/input_validation_middleware.py +1006 -0
  51. moai_adk/core/integration/__init__.py +22 -0
  52. moai_adk/core/integration/engine.py +157 -0
  53. moai_adk/core/integration/integration_tester.py +226 -0
  54. moai_adk/core/integration/models.py +88 -0
  55. moai_adk/core/integration/utils.py +211 -0
  56. moai_adk/core/issue_creator.py +305 -0
  57. moai_adk/core/jit_context_loader.py +956 -0
  58. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  59. moai_adk/core/language_config.py +202 -0
  60. moai_adk/core/language_config_resolver.py +572 -0
  61. moai_adk/core/language_validator.py +543 -0
  62. moai_adk/core/mcp/setup.py +116 -0
  63. moai_adk/core/merge/__init__.py +9 -0
  64. moai_adk/core/merge/analyzer.py +481 -0
  65. moai_adk/core/migration/__init__.py +18 -0
  66. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  67. moai_adk/core/migration/backup_manager.py +277 -0
  68. moai_adk/core/migration/custom_element_scanner.py +358 -0
  69. moai_adk/core/migration/file_migrator.py +209 -0
  70. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  71. moai_adk/core/migration/selective_restorer.py +470 -0
  72. moai_adk/core/migration/template_utils.py +74 -0
  73. moai_adk/core/migration/user_selection_ui.py +338 -0
  74. moai_adk/core/migration/version_detector.py +139 -0
  75. moai_adk/core/migration/version_migrator.py +228 -0
  76. moai_adk/core/performance/__init__.py +6 -0
  77. moai_adk/core/performance/cache_system.py +316 -0
  78. moai_adk/core/performance/parallel_processor.py +116 -0
  79. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  80. moai_adk/core/project/__init__.py +0 -1
  81. moai_adk/core/project/backup_utils.py +2 -7
  82. moai_adk/core/project/checker.py +2 -4
  83. moai_adk/core/project/detector.py +189 -22
  84. moai_adk/core/project/initializer.py +218 -27
  85. moai_adk/core/project/phase_executor.py +416 -44
  86. moai_adk/core/project/validator.py +7 -32
  87. moai_adk/core/quality/__init__.py +1 -1
  88. moai_adk/core/quality/trust_checker.py +37 -101
  89. moai_adk/core/quality/validators/__init__.py +1 -1
  90. moai_adk/core/quality/validators/base_validator.py +1 -1
  91. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  92. moai_adk/core/robust_json_parser.py +611 -0
  93. moai_adk/core/rollback_manager.py +918 -0
  94. moai_adk/core/session_manager.py +651 -0
  95. moai_adk/core/skill_loading_system.py +579 -0
  96. moai_adk/core/spec/confidence_scoring.py +680 -0
  97. moai_adk/core/spec/ears_template_engine.py +1247 -0
  98. moai_adk/core/spec/quality_validator.py +687 -0
  99. moai_adk/core/spec_status_manager.py +478 -0
  100. moai_adk/core/template/__init__.py +0 -1
  101. moai_adk/core/template/backup.py +82 -17
  102. moai_adk/core/template/config.py +112 -40
  103. moai_adk/core/template/languages.py +0 -1
  104. moai_adk/core/template/merger.py +75 -26
  105. moai_adk/core/template/processor.py +750 -72
  106. moai_adk/core/template_engine.py +310 -0
  107. moai_adk/core/template_variable_synchronizer.py +417 -0
  108. moai_adk/core/unified_permission_manager.py +745 -0
  109. moai_adk/core/user_behavior_analytics.py +851 -0
  110. moai_adk/core/version_sync.py +429 -0
  111. moai_adk/foundation/__init__.py +56 -0
  112. moai_adk/foundation/backend.py +1027 -0
  113. moai_adk/foundation/database.py +1115 -0
  114. moai_adk/foundation/devops.py +1585 -0
  115. moai_adk/foundation/ears.py +431 -0
  116. moai_adk/foundation/frontend.py +870 -0
  117. moai_adk/foundation/git/commit_templates.py +557 -0
  118. moai_adk/foundation/git.py +376 -0
  119. moai_adk/foundation/langs.py +484 -0
  120. moai_adk/foundation/ml_ops.py +1162 -0
  121. moai_adk/foundation/testing.py +1524 -0
  122. moai_adk/foundation/trust/trust_principles.py +676 -0
  123. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  124. moai_adk/project/__init__.py +0 -0
  125. moai_adk/project/configuration.py +1084 -0
  126. moai_adk/project/documentation.py +566 -0
  127. moai_adk/project/schema.py +447 -0
  128. moai_adk/statusline/__init__.py +38 -0
  129. moai_adk/statusline/alfred_detector.py +105 -0
  130. moai_adk/statusline/config.py +376 -0
  131. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  132. moai_adk/statusline/git_collector.py +190 -0
  133. moai_adk/statusline/main.py +322 -0
  134. moai_adk/statusline/metrics_tracker.py +78 -0
  135. moai_adk/statusline/renderer.py +343 -0
  136. moai_adk/statusline/update_checker.py +129 -0
  137. moai_adk/statusline/version_reader.py +741 -0
  138. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +670 -0
  139. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  140. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  141. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  142. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  143. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  144. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  145. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  146. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  147. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  148. moai_adk/templates/.claude/agents/moai/expert-security.md +509 -0
  149. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  150. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  151. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  152. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  153. moai_adk/templates/.claude/agents/moai/manager-git.md +1020 -0
  154. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  155. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  156. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  157. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  158. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  159. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  160. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  161. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  164. moai_adk/templates/.claude/commands/moai/0-project.md +1384 -0
  165. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  166. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  167. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  168. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  169. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  170. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  171. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  172. moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/checkpoint.py +10 -37
  173. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  185. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  186. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1075 -0
  187. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  188. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  189. moai_adk/templates/.claude/settings.json +78 -50
  190. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +438 -0
  191. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  192. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  193. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  194. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  195. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  196. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  200. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +313 -283
  201. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +610 -1525
  202. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +423 -619
  203. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +295 -95
  204. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +817 -16
  205. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  206. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  207. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +532 -17
  210. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +470 -97
  211. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +955 -16
  212. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +651 -18
  213. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  214. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  215. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  216. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  217. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  221. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  222. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  223. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  224. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  230. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  231. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  232. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  233. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  280. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +618 -93
  281. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +446 -91
  282. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  283. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  284. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  285. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  286. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +346 -94
  287. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +906 -16
  288. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +721 -15
  289. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +352 -91
  290. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +851 -16
  291. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +278 -18
  292. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +344 -86
  293. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +993 -16
  294. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +549 -18
  295. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +617 -96
  296. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +364 -314
  297. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +849 -496
  298. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +731 -243
  299. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +545 -89
  300. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +650 -87
  301. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +341 -93
  302. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +646 -16
  303. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +491 -18
  304. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +463 -89
  305. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +620 -16
  306. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +410 -17
  307. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +486 -112
  308. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +905 -16
  309. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +659 -17
  310. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +333 -92
  311. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1076 -16
  312. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +718 -21
  313. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  314. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  315. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  316. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  318. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  319. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  320. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  321. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  331. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  332. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  333. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  334. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  338. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  339. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  340. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  341. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  342. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +290 -0
  343. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  344. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  345. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  346. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  347. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  348. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  349. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  350. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  351. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  352. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  353. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  354. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  355. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  356. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  357. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  358. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  359. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  360. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  361. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  362. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  363. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  364. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  365. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  366. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  367. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  368. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  369. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  370. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  371. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  372. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  373. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  374. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  375. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  376. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  377. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1462 -0
  378. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  379. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  380. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  381. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  382. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  383. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  384. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  385. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  386. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  387. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  388. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  389. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  390. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  391. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  417. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  418. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  419. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  420. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  421. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  422. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  423. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  424. moai_adk/templates/.git-hooks/pre-commit +128 -0
  425. moai_adk/templates/.git-hooks/pre-push +365 -0
  426. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  427. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  428. moai_adk/templates/.github/workflows/spec-issue-sync.yml +206 -36
  429. moai_adk/templates/.gitignore +194 -13
  430. moai_adk/templates/.mcp.json +31 -0
  431. moai_adk/templates/.moai/config/config.yaml +58 -0
  432. moai_adk/templates/.moai/config/questions/_schema.yaml +151 -0
  433. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  434. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  435. moai_adk/templates/.moai/config/questions/tab2-project.yaml +81 -0
  436. moai_adk/templates/.moai/config/questions/tab3-git.yaml +634 -0
  437. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +170 -0
  438. moai_adk/templates/.moai/config/questions/tab5-system.yaml +87 -0
  439. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  440. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  441. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  442. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  443. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  444. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  445. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  446. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  447. moai_adk/templates/CLAUDE.md +571 -244
  448. moai_adk/utils/__init__.py +24 -2
  449. moai_adk/utils/banner.py +9 -13
  450. moai_adk/utils/common.py +294 -0
  451. moai_adk/utils/link_validator.py +241 -0
  452. moai_adk/utils/logger.py +4 -9
  453. moai_adk/utils/safe_file_reader.py +206 -0
  454. moai_adk/utils/timeout.py +160 -0
  455. moai_adk/utils/toon_utils.py +256 -0
  456. moai_adk/version.py +22 -0
  457. moai_adk-0.34.0.dist-info/METADATA +2999 -0
  458. moai_adk-0.34.0.dist-info/RECORD +463 -0
  459. {moai_adk-0.8.0.dist-info → moai_adk-0.34.0.dist-info}/WHEEL +1 -1
  460. {moai_adk-0.8.0.dist-info → moai_adk-0.34.0.dist-info}/entry_points.txt +1 -0
  461. moai_adk/cli/commands/backup.py +0 -80
  462. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -293
  463. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -196
  464. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -207
  465. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -375
  466. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -343
  467. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -246
  468. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -320
  469. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -837
  470. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -272
  471. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -265
  472. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -311
  473. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -352
  474. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1184
  475. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -665
  476. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -488
  477. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -623
  478. moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -313
  479. moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
  480. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -174
  481. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -170
  482. moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -67
  483. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -416
  484. moai_adk/templates/.claude/hooks/alfred/core/tags.py +0 -198
  485. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -21
  486. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
  487. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -161
  488. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -90
  489. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -42
  490. moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
  491. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
  492. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
  493. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
  494. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  495. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  496. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  497. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  498. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  499. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  500. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  501. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  502. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  503. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  504. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  505. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  506. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  507. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  508. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  509. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  510. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  511. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  512. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  513. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  514. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  515. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  516. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  517. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  518. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  519. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  520. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  521. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  522. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  523. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  524. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  525. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  526. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  527. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  528. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  529. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  530. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  531. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  532. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  533. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  534. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  535. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  536. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  537. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  538. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  539. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  540. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  541. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  542. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  543. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  544. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  545. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  546. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  547. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  548. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  549. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  550. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  551. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  552. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  553. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  554. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  555. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  556. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  557. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  558. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  559. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  560. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  561. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  562. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  563. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  564. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  565. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  566. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -113
  567. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  568. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  569. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  570. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  571. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  572. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  573. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  574. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  575. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  576. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  577. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  578. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  579. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  580. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  581. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  582. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  583. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  584. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  585. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  586. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  587. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  588. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  589. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  590. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  591. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  592. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  593. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  594. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  595. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  596. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  597. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  598. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  599. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  600. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  601. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  602. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  603. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  604. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  605. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  606. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  607. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  608. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  609. moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -482
  610. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -278
  611. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  612. moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -477
  613. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  614. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  615. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  616. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  617. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -271
  618. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  619. moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -583
  620. moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -526
  621. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -465
  622. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -328
  623. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -312
  624. moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  625. moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -285
  626. moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -278
  627. moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -303
  628. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
  629. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -218
  630. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -161
  631. moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
  632. moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
  633. moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
  634. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  635. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -256
  636. moai_adk/templates/.moai/config.json +0 -96
  637. moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -208
  638. moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -369
  639. moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -539
  640. moai_adk/templates/.moai/memory/CONFIG-SCHEMA.md +0 -444
  641. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
  642. moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -220
  643. moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -218
  644. moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
  645. moai_adk/templates/.moai/memory/config-schema.md +0 -444
  646. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
  647. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  648. moai_adk/templates/.moai/project/product.md +0 -161
  649. moai_adk/templates/.moai/project/structure.md +0 -156
  650. moai_adk/templates/.moai/project/tech.md +0 -227
  651. moai_adk/templates/__init__.py +0 -2
  652. moai_adk-0.8.0.dist-info/METADATA +0 -1722
  653. moai_adk-0.8.0.dist-info/RECORD +0 -282
  654. {moai_adk-0.8.0.dist-info → moai_adk-0.34.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,3 @@
1
- # @CODE:CLI-001 | @CODE:INIT-003:CLI
2
1
  # SPEC: SPEC-CLI-001.md, SPEC-INIT-003.md
3
2
  # TEST: tests/unit/test_cli_commands.py, tests/unit/test_init_reinit.py
4
3
  """MoAI-ADK init command
@@ -20,7 +19,7 @@ Project initialization command (interactive/non-interactive):
20
19
  - Run `Skill("moai-foundation-langs")` to validate detected language stack
21
20
 
22
21
  2. **Before first SPEC creation**:
23
- - Use `Skill("moai-alfred-language-detection")` to confirm language selection
22
+ - Use `Skill("moai-core-language-detection")` to confirm language selection
24
23
 
25
24
  3. **Project reinitialization** (`--force`):
26
25
  - Skills automatically adapt to new project structure
@@ -32,12 +31,17 @@ from pathlib import Path
32
31
  from typing import Sequence
33
32
 
34
33
  import click
34
+ import yaml
35
35
  from rich.console import Console
36
36
  from rich.progress import BarColumn, Progress, SpinnerColumn, TaskID, TextColumn
37
37
 
38
38
  from moai_adk import __version__
39
39
  from moai_adk.cli.prompts import prompt_project_setup
40
40
  from moai_adk.core.project.initializer import ProjectInitializer
41
+ from moai_adk.statusline.version_reader import (
42
+ VersionConfig,
43
+ VersionReader,
44
+ )
41
45
  from moai_adk.utils.banner import print_banner, print_welcome_message
42
46
 
43
47
  console = Console()
@@ -85,9 +89,9 @@ def create_progress_callback(progress: Progress, task_ids: Sequence[TaskID]):
85
89
  )
86
90
  @click.option(
87
91
  "--locale",
88
- type=click.Choice(["ko", "en"]),
92
+ type=click.Choice(["ko", "en", "ja", "zh"]),
89
93
  default=None,
90
- help="Preferred language (default: en)",
94
+ help="Preferred language (ko/en/ja/zh, default: en)",
91
95
  )
92
96
  @click.option(
93
97
  "--language",
@@ -114,26 +118,48 @@ def init(
114
118
  path: Project directory path (default: current directory)
115
119
  non_interactive: Skip prompts and use defaults
116
120
  mode: Project mode (personal/team)
117
- locale: Preferred language (ko/en). When omitted, defaults to en.
121
+ locale: Preferred language (ko/en/ja/zh). Interactive mode supports additional languages.
118
122
  language: Programming language
123
+ with_mcp: Install specific MCP servers (can be used multiple times)
124
+ mcp_auto: Auto-install all recommended MCP servers
119
125
  force: Force reinitialize without confirmation
120
126
  """
121
127
  try:
122
- # 1. Print banner
128
+ # 1. Print banner with enhanced version info
123
129
  print_banner(__version__)
124
130
 
125
- # 2. Check current directory mode
131
+ # 2. Enhanced version reading with error handling
132
+ try:
133
+ version_config = VersionConfig(
134
+ cache_ttl_seconds=10, # Very short cache for CLI
135
+ fallback_version=__version__,
136
+ debug_mode=False,
137
+ )
138
+ version_reader = VersionReader(version_config)
139
+ current_version = version_reader.get_version()
140
+
141
+ # Log version info for debugging
142
+ console.print(f"[dim]Current MoAI-ADK version: {current_version}[/dim]")
143
+ except Exception as e:
144
+ console.print(f"[yellow]⚠️ Version read error: {e}[/yellow]")
145
+
146
+ # 3. Check current directory mode
126
147
  is_current_dir = path == "."
127
148
  project_path = Path(path).resolve()
128
149
 
150
+ # Initialize variables
151
+ custom_language = None
152
+
129
153
  # 3. Interactive vs Non-Interactive
130
154
  if non_interactive:
131
155
  # Non-Interactive Mode
132
- console.print(
133
- f"\n[cyan]🚀 Initializing project at {project_path}...[/cyan]\n"
134
- )
156
+ console.print(f"\n[cyan]🚀 Initializing project at {project_path}...[/cyan]\n")
135
157
  project_name = project_path.name if is_current_dir else path
136
158
  locale = locale or "en"
159
+ # Language detection happens in /moai:0-project, so default to None here
160
+ # This will become "generic" internally, but Summary will show more helpful message
161
+ if not language:
162
+ language = None
137
163
  else:
138
164
  # Interactive Mode
139
165
  print_welcome_message()
@@ -151,6 +177,7 @@ def init(
151
177
  locale = answers["locale"]
152
178
  language = answers["language"]
153
179
  project_name = answers["project_name"]
180
+ custom_language = answers.get("custom_language")
154
181
 
155
182
  console.print("\n[cyan]🚀 Starting installation...[/cyan]\n")
156
183
 
@@ -167,7 +194,7 @@ def init(
167
194
  else:
168
195
  # Interactive mode: Simple notification
169
196
  console.print("\n[cyan]🔄 Reinitializing project...[/cyan]")
170
- console.print(" Backup will be created at .moai-backups/{timestamp}/\n")
197
+ console.print(" Backup will be created at .moai-backups/backup/\n")
171
198
 
172
199
  # 5. Initialize project (Progress Bar with 5 phases)
173
200
  # Always allow reinit (force mode by default)
@@ -175,25 +202,64 @@ def init(
175
202
 
176
203
  # Reinit mode: set config.json optimized to false (v0.3.1+)
177
204
  if is_reinit:
178
- config_path = project_path / ".moai" / "config.json"
205
+ # Migration: Remove old hook files (Issue #163)
206
+ old_hook_files = [
207
+ ".claude/hooks/alfred/session_start__startup.py", # v0.8.0 deprecated
208
+ ]
209
+ for old_file in old_hook_files:
210
+ old_path = project_path / old_file
211
+ if old_path.exists():
212
+ try:
213
+ old_path.unlink() # Remove old file
214
+ except Exception:
215
+ pass # Ignore removal failures
216
+
217
+ # Support both YAML (v0.32.5+) and JSON (legacy) config files
218
+ config_yaml_path = project_path / ".moai" / "config" / "config.yaml"
219
+ config_json_path = project_path / ".moai" / "config" / "config.json"
220
+
221
+ config_path = config_yaml_path if config_yaml_path.exists() else config_json_path
222
+ is_yaml = config_path.suffix in (".yaml", ".yml")
223
+
179
224
  if config_path.exists():
180
225
  try:
181
226
  with open(config_path, "r", encoding="utf-8") as f:
182
- config_data = json.load(f)
227
+ if is_yaml:
228
+ config_data = yaml.safe_load(f) or {}
229
+ else:
230
+ config_data = json.load(f)
183
231
 
184
232
  # Update version and optimization flags
185
233
  if "moai" not in config_data:
186
234
  config_data["moai"] = {}
187
- config_data["moai"]["version"] = __version__
235
+
236
+ # Use enhanced version reader for consistent version handling
237
+ try:
238
+ version_config = VersionConfig(
239
+ cache_ttl_seconds=5, # Very short cache for config update
240
+ fallback_version=__version__,
241
+ debug_mode=False,
242
+ )
243
+ version_reader = VersionReader(version_config)
244
+ current_version = version_reader.get_version()
245
+ config_data["moai"]["version"] = current_version
246
+ except Exception:
247
+ # Fallback to package version
248
+ config_data["moai"]["version"] = __version__
188
249
 
189
250
  if "project" not in config_data:
190
251
  config_data["project"] = {}
191
252
  config_data["project"]["optimized"] = False
192
253
 
193
254
  with open(config_path, "w", encoding="utf-8") as f:
194
- json.dump(config_data, f, indent=2, ensure_ascii=False)
255
+ if is_yaml:
256
+ yaml.safe_dump(
257
+ config_data, f, default_flow_style=False, allow_unicode=True, sort_keys=False
258
+ )
259
+ else:
260
+ json.dump(config_data, f, indent=2, ensure_ascii=False)
195
261
  except Exception:
196
- # Ignore read/write failures; config.json is regenerated during initialization
262
+ # Ignore read/write failures; config is regenerated during initialization
197
263
  pass
198
264
 
199
265
  with Progress(
@@ -218,6 +284,7 @@ def init(
218
284
  mode=mode,
219
285
  locale=locale,
220
286
  language=language,
287
+ custom_language=custom_language,
221
288
  backup_enabled=True,
222
289
  progress_callback=callback,
223
290
  reinit=True, # Always allow reinit (force mode by default)
@@ -226,20 +293,17 @@ def init(
226
293
  # 6. Output results
227
294
  if result.success:
228
295
  separator = "[dim]" + ("─" * 60) + "[/dim]"
229
- console.print(
230
- "\n[green bold]✅ Initialization Completed Successfully![/green bold]"
231
- )
296
+ console.print("\n[green bold]✅ Initialization Completed Successfully![/green bold]")
232
297
  console.print(separator)
233
298
  console.print("\n[cyan]📊 Summary:[/cyan]")
234
299
  console.print(f" [dim]📁 Location:[/dim] {result.project_path}")
235
- console.print(f" [dim]🌐 Language:[/dim] {result.language}")
236
- console.print(f" [dim]🔧 Mode:[/dim] {result.mode}")
237
- console.print(
238
- f" [dim]🌍 Locale:[/dim] {result.locale}"
239
- )
240
- console.print(
241
- f" [dim]📄 Files:[/dim] {len(result.created_files)} created"
242
- )
300
+ # Show language more clearly - "generic" means auto-detect
301
+ language_display = "Auto-detect (use /moai:0-project)" if result.language == "generic" else result.language
302
+ console.print(f" [dim]🌐 Language:[/dim] {language_display}")
303
+ # Show Git Strategy (default: manual = local-only, no auto-branch)
304
+ console.print(" [dim]🔀 Git:[/dim] manual (github-flow, branch: manual)")
305
+ console.print(f" [dim]🌍 Locale:[/dim] {result.locale}")
306
+ console.print(f" [dim]📄 Files:[/dim] {len(result.created_files)} created")
243
307
  console.print(f" [dim]⏱️ Duration:[/dim] {result.duration}ms")
244
308
 
245
309
  # Show backup info if reinitialized
@@ -253,31 +317,37 @@ def init(
253
317
 
254
318
  # Show config merge notice if reinitialized
255
319
  if is_reinit:
256
- console.print("\n[yellow]⚠️ Configuration Notice:[/yellow]")
257
- console.print(" All template files have been [bold]force overwritten[/bold]")
258
- console.print(" Previous files are backed up in [cyan].moai-backups/{timestamp}/[/cyan]")
259
- console.print("\n [cyan]To merge your previous config:[/cyan]")
260
- console.print(" Run [bold]/alfred:0-project[/bold] command in Claude Code")
261
- console.print(" It will merge backup config when [dim]optimized=false[/dim]\n")
320
+ console.print("\n[yellow]⚠️ Configuration Status: optimized=false (merge required)[/yellow]")
321
+ console.print()
322
+ console.print("[cyan]What Happened:[/cyan]")
323
+ console.print(" Template files updated to latest version")
324
+ console.print(" 💾 Your previous settings backed up in: [cyan].moai-backups/backup/[/cyan]")
325
+ console.print(" Configuration merge required")
326
+ console.print()
327
+ console.print("[cyan]What is optimized=false?[/cyan]")
328
+ console.print(" • Template version changed (you get new features)")
329
+ console.print(" • Your previous settings are safe (backed up)")
330
+ console.print(" • Next: Run /moai:0-project to merge")
331
+ console.print()
332
+ console.print("[cyan]What Happens Next:[/cyan]")
333
+ console.print(" 1. Run [bold]/moai:0-project[/bold] in Claude Code")
334
+ console.print(" 2. System intelligently merges old settings + new template")
335
+ console.print(" 3. After successful merge → optimized becomes true")
336
+ console.print(" 4. You're ready to continue developing\n")
262
337
 
263
338
  console.print("\n[cyan]🚀 Next Steps:[/cyan]")
264
339
  if not is_current_dir:
265
- console.print(
266
- f" [blue]1.[/blue] Run [bold]cd {project_name}[/bold] to enter the project"
267
- )
268
- console.print(
269
- " [blue]2.[/blue] Check [bold].moai/config.json[/bold] for configuration"
270
- )
271
- console.print(
272
- " [blue]3.[/blue] Read [bold]CLAUDE.md[/bold] for development guide\n"
273
- )
340
+ console.print(f" [blue]1.[/blue] Run [bold]cd {project_name}[/bold] to enter the project")
341
+ console.print(" [blue]2.[/blue] Run [bold]/moai:0-project[/bold] in Claude Code for full setup")
342
+ console.print(" (Configure: mode, language, report generation, etc.)")
343
+ else:
344
+ console.print(" [blue]1.[/blue] Run [bold]/moai:0-project[/bold] in Claude Code for full setup")
345
+ console.print(" (Configure: mode, language, report generation, etc.)")
346
+
347
+ if not is_current_dir:
348
+ console.print(" [blue]3.[/blue] Start developing with MoAI-ADK!\n")
274
349
  else:
275
- console.print(
276
- " [blue]1.[/blue] Check [bold].moai/config.json[/bold] for configuration"
277
- )
278
- console.print(
279
- " [blue]2.[/blue] Read [bold]CLAUDE.md[/bold] for development guide\n"
280
- )
350
+ console.print(" [blue]2.[/blue] Start developing with MoAI-ADK!\n")
281
351
  else:
282
352
  console.print("\n[red bold]❌ Initialization Failed![/red bold]")
283
353
  if result.errors:
@@ -0,0 +1,248 @@
1
+ """Language management commands for MoAI-ADK.
2
+
3
+ Provides commands for language configuration, template processing,
4
+ and multilingual content generation.
5
+ """
6
+
7
+ import json
8
+ from pathlib import Path
9
+
10
+ import click
11
+ from rich.console import Console
12
+ from rich.table import Table
13
+
14
+ from ...core.claude_integration import ClaudeCLIIntegration
15
+ from ...core.language_config import (
16
+ LANGUAGE_CONFIG,
17
+ get_all_supported_codes,
18
+ get_native_name,
19
+ get_optimal_model,
20
+ )
21
+ from ...core.template_engine import TemplateEngine
22
+
23
+ console = Console()
24
+
25
+
26
+ @click.group()
27
+ def language():
28
+ """Language management and multilingual support."""
29
+ pass
30
+
31
+
32
+ @language.command()
33
+ @click.option("--json-output", is_flag=True, help="Output as JSON")
34
+ def list(json_output):
35
+ """List all supported languages."""
36
+ if json_output:
37
+ console.print(json.dumps(LANGUAGE_CONFIG, indent=2, ensure_ascii=False))
38
+ return
39
+
40
+ table = Table(title="Supported Languages")
41
+ table.add_column("Code", style="cyan", no_wrap=True)
42
+ table.add_column("English Name", style="green")
43
+ table.add_column("Native Name", style="yellow")
44
+ table.add_column("Family", style="blue")
45
+
46
+ for code, info in LANGUAGE_CONFIG.items():
47
+ table.add_row(code, info["name"], info["native_name"], info["family"])
48
+
49
+ console.print(table)
50
+
51
+
52
+ @language.command()
53
+ @click.argument("language_code")
54
+ @click.option("--detail", is_flag=True, help="Show detailed information")
55
+ def info(language_code, detail):
56
+ """Show information about a specific language."""
57
+ lang_info = LANGUAGE_CONFIG.get(language_code.lower())
58
+
59
+ if not lang_info:
60
+ console.print(f"[red]Language code '{language_code}' not found.[/red]")
61
+ console.print(f"Available codes: {', '.join(get_all_supported_codes())}")
62
+ return
63
+
64
+ console.print("[bold]Language Information:[/bold]")
65
+ console.print(f"Code: {language_code}")
66
+ console.print(f"English Name: {lang_info['name']}")
67
+ console.print(f"Native Name: {lang_info['native_name']}")
68
+ console.print(f"Family: {lang_info['family']}")
69
+
70
+ if detail:
71
+ optimal_model = get_optimal_model(language_code)
72
+ console.print(f"Optimal Claude Model: {optimal_model}")
73
+
74
+
75
+ @language.command()
76
+ @click.argument("template_path", type=click.Path(exists=True))
77
+ @click.argument("variables_file", type=click.Path(exists=True))
78
+ @click.option("--output", "-o", type=click.Path(), help="Output file path")
79
+ @click.option("--language", "-l", help="Target language code")
80
+ def render_template(template_path, variables_file, output, language):
81
+ """Render template with variables and language support."""
82
+ try:
83
+ # Load variables
84
+ with open(variables_file, "r", encoding="utf-8") as f:
85
+ variables = json.load(f)
86
+
87
+ # Add language info if specified
88
+ if language:
89
+ variables["CONVERSATION_LANGUAGE"] = language
90
+ variables["CONVERSATION_LANGUAGE_NAME"] = get_native_name(language)
91
+
92
+ # Render template
93
+ template_engine = TemplateEngine()
94
+ template_path_obj = Path(template_path)
95
+ output_path_obj = Path(output) if output else None
96
+
97
+ rendered = template_engine.render_file(template_path_obj, variables, output_path_obj)
98
+
99
+ if not output:
100
+ console.print("[bold]Rendered Template:[/bold]")
101
+ console.print(rendered)
102
+ else:
103
+ console.print(f"[green]Template rendered to: {output}[/green]")
104
+
105
+ except Exception as e:
106
+ console.print(f"[red]Error rendering template: {e}[/red]")
107
+
108
+
109
+ @language.command()
110
+ @click.argument("base_description")
111
+ @click.option("--target-languages", "-t", help="Comma-separated target language codes")
112
+ @click.option("--output", "-o", type=click.Path(), help="Output JSON file")
113
+ def translate_descriptions(base_description, target_languages, output):
114
+ """Generate multilingual descriptions using Claude CLI."""
115
+ try:
116
+ if target_languages:
117
+ languages = [lang.strip() for lang in target_languages.split(",")]
118
+ else:
119
+ languages = ["en", "ko", "ja", "es", "fr", "de"]
120
+
121
+ claude_integration = ClaudeCLIIntegration()
122
+ descriptions = claude_integration.generate_multilingual_descriptions({"base": base_description}, languages)
123
+
124
+ if output:
125
+ with open(output, "w", encoding="utf-8") as f:
126
+ json.dump(descriptions, f, indent=2, ensure_ascii=False)
127
+ console.print(f"[green]Descriptions saved to: {output}[/green]")
128
+ else:
129
+ console.print("[bold]Multilingual Descriptions:[/bold]")
130
+ console.print(json.dumps(descriptions, indent=2, ensure_ascii=False))
131
+
132
+ except Exception as e:
133
+ console.print(f"[red]Error generating descriptions: {e}[/red]")
134
+
135
+
136
+ @language.command()
137
+ @click.argument("prompt_template")
138
+ @click.option("--variables", "-v", type=click.Path(exists=True), help="Variables JSON file")
139
+ @click.option("--language", "-l", help="Target language code")
140
+ @click.option("--output-format", default="json", help="Output format (text, json, stream-json)")
141
+ @click.option("--dry-run", is_flag=True, help="Show command without executing")
142
+ def execute(prompt_template, variables, language, output_format, dry_run):
143
+ """Execute Claude CLI with template variables and language support."""
144
+ try:
145
+ # Load or create variables
146
+ template_vars = {}
147
+ if variables:
148
+ with open(variables, "r", encoding="utf-8") as f:
149
+ template_vars = json.load(f)
150
+
151
+ if language:
152
+ template_vars["CONVERSATION_LANGUAGE"] = language
153
+ template_vars["CONVERSATION_LANGUAGE_NAME"] = get_native_name(language)
154
+
155
+ # Process template
156
+ template_engine = TemplateEngine()
157
+ processed_prompt = template_engine.render_string(prompt_template, template_vars)
158
+
159
+ if dry_run:
160
+ console.print("[bold]Dry Run - Command that would be executed:[/bold]")
161
+ console.print(f"claude --print --output-format {output_format} '{processed_prompt}'")
162
+ console.print("[bold]Variables used:[/bold]")
163
+ console.print(json.dumps(template_vars, indent=2, ensure_ascii=False))
164
+ return
165
+
166
+ # Execute with Claude integration
167
+ claude_integration = ClaudeCLIIntegration()
168
+ result = claude_integration.process_template_command(
169
+ prompt_template, template_vars, print_mode=True, output_format=output_format
170
+ )
171
+
172
+ if result["success"]:
173
+ console.print("[green]✓ Command executed successfully[/green]")
174
+ if output_format == "json" and result["stdout"]:
175
+ try:
176
+ output_data = json.loads(result["stdout"])
177
+ console.print(json.dumps(output_data, indent=2, ensure_ascii=False))
178
+ except json.JSONDecodeError:
179
+ console.print(result["stdout"])
180
+ else:
181
+ console.print(result["stdout"])
182
+ else:
183
+ console.print("[red]✗ Command execution failed[/red]")
184
+ if "error" in result:
185
+ console.print(f"Error: {result['error']}")
186
+ if result["stderr"]:
187
+ console.print(f"Stderr: {result['stderr']}")
188
+
189
+ except Exception as e:
190
+ console.print(f"[red]Error executing command: {e}[/red]")
191
+
192
+
193
+ @language.command()
194
+ @click.argument("config_file", type=click.Path(exists=True))
195
+ @click.option("--validate-languages", is_flag=True, help="Validate language codes in config")
196
+ def validate_config(config_file, validate_languages):
197
+ """Validate language configuration in MoAI-ADK config file."""
198
+ try:
199
+ with open(config_file, "r", encoding="utf-8") as f:
200
+ config = json.load(f)
201
+
202
+ console.print(f"[bold]Validating config: {config_file}[/bold]")
203
+
204
+ # Basic structure validation
205
+ if "language" not in config:
206
+ console.print("[yellow]⚠ No 'language' section found in config[/yellow]")
207
+ else:
208
+ lang_config = config["language"]
209
+ if not isinstance(lang_config, dict):
210
+ console.print("[red]✗ 'language' section must be an object[/red]")
211
+ else:
212
+ console.print("[green]✓ Language section structure is valid[/green]")
213
+
214
+ # Check conversation_language
215
+ conv_lang = lang_config.get("conversation_language")
216
+ if conv_lang:
217
+ if conv_lang in get_all_supported_codes():
218
+ console.print(f"[green]✓ conversation_language '{conv_lang}' is supported[/green]")
219
+ else:
220
+ console.print(f"[red]✗ conversation_language '{conv_lang}' is not supported[/red]")
221
+ else:
222
+ console.print("[yellow]⚠ No conversation_language specified[/yellow]")
223
+
224
+ # Check conversation_language_name
225
+ conv_lang_name = lang_config.get("conversation_language_name")
226
+ if conv_lang_name and conv_lang:
227
+ expected_name = get_native_name(conv_lang)
228
+ if conv_lang_name == expected_name:
229
+ console.print("[green]✓ conversation_language_name matches[/green]")
230
+ else:
231
+ warning_msg = (
232
+ f"⚠ conversation_language_name '{conv_lang_name}' doesn't match expected '{expected_name}'"
233
+ )
234
+ console.print(f"[yellow]{warning_msg}[/yellow]")
235
+
236
+ if validate_languages:
237
+ # Scan entire config for language codes
238
+ config_str = json.dumps(config)
239
+ found_codes = []
240
+ for code in get_all_supported_codes():
241
+ if code in config_str:
242
+ found_codes.append(code)
243
+
244
+ if found_codes:
245
+ console.print(f"[blue]Found language codes in config: {', '.join(found_codes)}[/blue]")
246
+
247
+ except Exception as e:
248
+ console.print(f"[red]Error validating config: {e}[/red]")
@@ -1,19 +1,15 @@
1
- # @CODE:CLI-001 | SPEC: SPEC-CLI-001/spec.md | TEST: tests/unit/test_cli_commands.py
2
1
  """MoAI-ADK status command
3
2
 
4
3
  Project status display:
5
- - Read project information from config.json
4
+ - Read project information from config.yaml
6
5
  - Show the number of SPEC documents
7
6
  - Summarize the Git status
8
7
 
9
8
  ## Skill Invocation Guide (English-Only)
10
9
 
11
10
  ### Related Skills
12
- - **moai-foundation-tags**: For detailed TAG inventory and orphan detection
13
- - Trigger: When you need to verify TAG chain integrity beyond what status shows
14
- - Invocation: `Skill("moai-foundation-tags")` to scan full project for orphan TAGs
15
11
 
16
- - **moai-foundation-trust**: For comprehensive TRUST 5-principles verification
12
+ - **moai-foundation-trust**: For comprehensive TRUST 4-principles verification
17
13
  - Trigger: After status shows SPECs exist, to validate code quality
18
14
  - Invocation: `Skill("moai-foundation-trust")` to verify all quality gates
19
15
 
@@ -23,7 +19,6 @@ Project status display:
23
19
 
24
20
  ### When to Invoke Skills in Related Workflows
25
21
  1. **Before starting new SPEC creation**:
26
- - Run `Skill("moai-foundation-tags")` to verify no orphan TAGs exist from previous work
27
22
  - Check the SPEC count from status command
28
23
 
29
24
  2. **After modifications to code/docs**:
@@ -32,13 +27,13 @@ Project status display:
32
27
 
33
28
  3. **Periodic health checks**:
34
29
  - Run status command regularly
35
- - When SPEC count grows, verify with `Skill("moai-foundation-tags")` and `Skill("moai-foundation-trust")`
30
+ - When SPEC count grows, verify with `Skill("moai-foundation-trust")`
36
31
  """
37
32
 
38
- import json
39
33
  from pathlib import Path
40
34
 
41
35
  import click
36
+ import yaml
42
37
  from rich.console import Console
43
38
  from rich.panel import Panel
44
39
  from rich.table import Table
@@ -57,15 +52,15 @@ def status() -> None:
57
52
  - Git branch and status
58
53
  """
59
54
  try:
60
- # Read config.json
61
- config_path = Path.cwd() / ".moai" / "config.json"
55
+ # Read config.yaml
56
+ config_path = Path.cwd() / ".moai" / "config" / "config.yaml"
62
57
  if not config_path.exists():
63
- console.print("[yellow]⚠ No .moai/config.json found[/yellow]")
58
+ console.print("[yellow]⚠ No .moai/config/config.yaml found[/yellow]")
64
59
  console.print("[dim]Run [cyan]python -m moai_adk init .[/cyan] to initialize the project[/dim]")
65
60
  raise click.Abort()
66
61
 
67
62
  with open(config_path) as f:
68
- config = json.load(f)
63
+ config = yaml.safe_load(f) or {}
69
64
 
70
65
  # Count SPEC documents
71
66
  specs_dir = Path.cwd() / ".moai" / "specs"