moai-adk 0.6.3__tar.gz → 0.8.0__tar.gz

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 (283) hide show
  1. {moai_adk-0.6.3 → moai_adk-0.8.0}/PKG-INFO +1 -1
  2. {moai_adk-0.6.3 → moai_adk-0.8.0}/pyproject.toml +1 -1
  3. moai_adk-0.8.0/src/moai_adk/core/config/__init__.py +13 -0
  4. moai_adk-0.8.0/src/moai_adk/core/config/migration.py +113 -0
  5. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/phase_executor.py +8 -3
  6. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/cc-manager.md +1 -1
  7. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/debug-helper.md +2 -2
  8. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/doc-syncer.md +2 -2
  9. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/git-manager.md +2 -2
  10. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/implementation-planner.md +2 -2
  11. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/project-manager.md +6 -6
  12. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/quality-gate.md +2 -2
  13. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/skill-factory.md +7 -7
  14. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/spec-builder.md +2 -2
  15. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/tag-agent.md +2 -2
  16. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +2 -2
  17. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/agents/alfred/trust-checker.md +2 -2
  18. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/commands/alfred/0-project.md +54 -37
  19. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/commands/alfred/1-plan.md +104 -16
  20. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/commands/alfred/2-run.md +28 -16
  21. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/commands/alfred/3-sync.md +38 -21
  22. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/core/project.py +145 -13
  23. moai_adk-0.8.0/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +161 -0
  24. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +1 -1
  25. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +1 -1
  26. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +1 -1
  27. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/config.json +4 -0
  28. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/CLAUDE.md +67 -1
  29. moai_adk-0.6.3/src/moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -91
  30. {moai_adk-0.6.3 → moai_adk-0.8.0}/.gitignore +0 -0
  31. {moai_adk-0.6.3 → moai_adk-0.8.0}/LICENSE +0 -0
  32. {moai_adk-0.6.3 → moai_adk-0.8.0}/README.md +0 -0
  33. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/__init__.py +0 -0
  34. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/__main__.py +0 -0
  35. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/__init__.py +0 -0
  36. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/commands/__init__.py +0 -0
  37. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/commands/backup.py +0 -0
  38. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/commands/doctor.py +0 -0
  39. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/commands/init.py +0 -0
  40. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/commands/status.py +0 -0
  41. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/commands/update.py +0 -0
  42. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/main.py +0 -0
  43. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/prompts/__init__.py +0 -0
  44. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/cli/prompts/init_prompts.py +0 -0
  45. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/__init__.py +0 -0
  46. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/diagnostics/__init__.py +0 -0
  47. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/diagnostics/slash_commands.py +0 -0
  48. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/__init__.py +0 -0
  49. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/branch.py +0 -0
  50. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/branch_manager.py +0 -0
  51. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/checkpoint.py +0 -0
  52. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/commit.py +0 -0
  53. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/event_detector.py +0 -0
  54. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/git/manager.py +0 -0
  55. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/__init__.py +0 -0
  56. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/backup_utils.py +0 -0
  57. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/checker.py +0 -0
  58. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/detector.py +0 -0
  59. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/initializer.py +0 -0
  60. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/project/validator.py +0 -0
  61. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/quality/__init__.py +0 -0
  62. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/quality/trust_checker.py +0 -0
  63. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/quality/validators/__init__.py +0 -0
  64. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/quality/validators/base_validator.py +0 -0
  65. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/template/__init__.py +0 -0
  66. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/template/backup.py +0 -0
  67. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/template/config.py +0 -0
  68. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/template/languages.py +0 -0
  69. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/template/merger.py +0 -0
  70. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/core/template/processor.py +0 -0
  71. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -0
  72. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/README.md +0 -0
  73. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -0
  74. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -0
  75. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +0 -0
  76. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -0
  77. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/core/tags.py +0 -0
  78. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -0
  79. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -0
  80. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -0
  81. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -0
  82. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -0
  83. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/settings.json +0 -0
  84. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -0
  85. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -0
  86. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -0
  87. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -0
  88. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -0
  89. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -0
  90. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -0
  91. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -0
  92. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -0
  93. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -0
  94. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -0
  95. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -0
  96. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -0
  97. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -0
  98. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -0
  99. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -0
  100. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -0
  101. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -0
  102. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -0
  103. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -0
  104. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -0
  105. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -0
  106. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -0
  107. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -0
  108. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -0
  109. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -0
  110. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -0
  111. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -0
  112. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -0
  113. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -0
  114. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -0
  115. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -0
  116. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -0
  117. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -0
  118. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -0
  119. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -0
  120. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -0
  121. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -0
  122. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -0
  123. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -0
  124. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -0
  125. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -0
  126. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -0
  127. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -0
  128. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -0
  129. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -0
  130. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -0
  131. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -0
  132. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -0
  133. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -0
  134. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -0
  135. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -0
  136. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -0
  137. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -0
  138. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -0
  139. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -0
  140. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -0
  141. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -0
  142. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -0
  143. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -0
  144. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -0
  145. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -0
  146. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -0
  147. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -0
  148. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -0
  149. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -0
  150. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -0
  151. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -0
  152. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -0
  153. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -0
  154. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -0
  155. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -0
  156. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -0
  157. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -0
  158. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -0
  159. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -0
  160. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -0
  161. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -0
  162. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -0
  163. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -0
  164. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -0
  165. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -0
  166. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -0
  167. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -0
  168. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -0
  169. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -0
  170. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -0
  171. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -0
  172. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -0
  173. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -0
  174. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -0
  175. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -0
  176. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -0
  177. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -0
  178. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -0
  179. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -0
  180. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -0
  181. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  182. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -0
  183. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -0
  184. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -0
  185. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -0
  186. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -0
  187. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -0
  188. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -0
  189. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -0
  190. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -0
  191. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -0
  192. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -0
  193. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -0
  194. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -0
  195. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -0
  196. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -0
  197. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -0
  198. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -0
  199. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -0
  200. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -0
  201. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -0
  202. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -0
  203. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -0
  204. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -0
  205. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -0
  206. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -0
  207. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -0
  208. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -0
  209. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -0
  210. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -0
  211. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -0
  212. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -0
  213. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -0
  214. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -0
  215. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -0
  216. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -0
  217. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -0
  218. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -0
  219. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -0
  220. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -0
  221. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -0
  222. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -0
  223. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -0
  224. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -0
  225. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -0
  226. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -0
  227. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -0
  228. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -0
  229. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -0
  230. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -0
  231. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -0
  232. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -0
  233. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -0
  234. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -0
  235. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -0
  236. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -0
  237. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -0
  238. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -0
  239. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -0
  240. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -0
  241. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -0
  242. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -0
  243. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -0
  244. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -0
  245. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -0
  246. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -0
  247. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -0
  248. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -0
  249. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -0
  250. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -0
  251. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -0
  252. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -0
  253. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -0
  254. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -0
  255. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -0
  256. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -0
  257. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -0
  258. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -0
  259. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -0
  260. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -0
  261. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -0
  262. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  263. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -0
  264. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -0
  265. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.gitignore +0 -0
  266. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -0
  267. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -0
  268. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -0
  269. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/CONFIG-SCHEMA.md +0 -0
  270. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -0
  271. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -0
  272. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -0
  273. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -0
  274. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/config-schema.md +0 -0
  275. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -0
  276. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/memory/spec-metadata.md +0 -0
  277. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/project/product.md +0 -0
  278. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/project/structure.md +0 -0
  279. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/.moai/project/tech.md +0 -0
  280. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/templates/__init__.py +0 -0
  281. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/utils/__init__.py +0 -0
  282. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/utils/banner.py +0 -0
  283. {moai_adk-0.6.3 → moai_adk-0.8.0}/src/moai_adk/utils/logger.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moai-adk
3
- Version: 0.6.3
3
+ Version: 0.8.0
4
4
  Summary: MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent & Complete Skills v2.0
5
5
  Project-URL: Homepage, https://github.com/modu-ai/moai-adk
6
6
  Project-URL: Repository, https://github.com/modu-ai/moai-adk
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "moai-adk"
3
- version = "0.6.3"
3
+ version = "0.8.0"
4
4
  description = "MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent & Complete Skills v2.0"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -0,0 +1,13 @@
1
+ """Configuration management for MoAI-ADK."""
2
+
3
+ from moai_adk.core.config.migration import (
4
+ get_conversation_language,
5
+ get_conversation_language_name,
6
+ migrate_config_to_nested_structure,
7
+ )
8
+
9
+ __all__ = [
10
+ "migrate_config_to_nested_structure",
11
+ "get_conversation_language",
12
+ "get_conversation_language_name",
13
+ ]
@@ -0,0 +1,113 @@
1
+ # @CODE:LANG-FIX-001:MIGRATION | SPEC: .moai/specs/SPEC-LANG-FIX-001/spec.md
2
+ """Configuration migration utilities for legacy flat config structure.
3
+
4
+ Supports migration from legacy flat config.json structure to new nested language structure.
5
+ """
6
+
7
+ from typing import Any
8
+
9
+
10
+ def migrate_config_to_nested_structure(config: dict[str, Any]) -> dict[str, Any]:
11
+ """Migrate legacy flat config to nested language structure.
12
+
13
+ This function handles the transition from legacy flat config:
14
+ "conversation_language": "ko"
15
+ "locale": "ko"
16
+
17
+ To new nested structure:
18
+ "language": {
19
+ "conversation_language": "ko",
20
+ "conversation_language_name": "한국어"
21
+ }
22
+
23
+ Args:
24
+ config: Configuration dictionary that may have legacy structure.
25
+
26
+ Returns:
27
+ Configuration dictionary with nested language structure.
28
+ """
29
+ # If config already has nested language structure, return as-is
30
+ if "language" in config and isinstance(config["language"], dict):
31
+ return config
32
+
33
+ # If config has legacy flat structure, migrate it
34
+ if "conversation_language" in config and "language" not in config:
35
+ # Extract conversation language from legacy location
36
+ conversation_language = config.pop("conversation_language", "en")
37
+ locale = config.pop("locale", None)
38
+
39
+ # Map language codes to language names
40
+ language_names = {
41
+ "en": "English",
42
+ "ko": "한국어",
43
+ "ja": "日本語",
44
+ "zh": "中文",
45
+ "es": "Español",
46
+ }
47
+
48
+ language_name = language_names.get(conversation_language, "English")
49
+
50
+ # Create new nested language structure
51
+ config["language"] = {
52
+ "conversation_language": conversation_language,
53
+ "conversation_language_name": language_name,
54
+ }
55
+
56
+ return config
57
+
58
+
59
+ def get_conversation_language(config: dict[str, Any]) -> str:
60
+ """Get conversation language from config with fallback handling.
61
+
62
+ Handles both legacy flat and new nested config structures.
63
+
64
+ Args:
65
+ config: Configuration dictionary.
66
+
67
+ Returns:
68
+ Language code (e.g., "ko", "en", "ja").
69
+ """
70
+ # First, try to get from nested structure (new format)
71
+ language_config = config.get("language", {})
72
+ if isinstance(language_config, dict):
73
+ result = language_config.get("conversation_language")
74
+ if result:
75
+ return result
76
+
77
+ # Fall back to legacy flat structure
78
+ result = config.get("conversation_language")
79
+ if result:
80
+ return result
81
+
82
+ # Default to English
83
+ return "en"
84
+
85
+
86
+ def get_conversation_language_name(config: dict[str, Any]) -> str:
87
+ """Get conversation language name from config with fallback handling.
88
+
89
+ Handles both legacy flat and new nested config structures.
90
+
91
+ Args:
92
+ config: Configuration dictionary.
93
+
94
+ Returns:
95
+ Language name (e.g., "한국어", "English").
96
+ """
97
+ # First, try to get from nested structure (new format)
98
+ language_config = config.get("language", {})
99
+ if isinstance(language_config, dict):
100
+ result = language_config.get("conversation_language_name")
101
+ if result:
102
+ return result
103
+
104
+ # If we have the language code, try to map it
105
+ language_code = get_conversation_language(config)
106
+ language_names = {
107
+ "en": "English",
108
+ "ko": "한국어",
109
+ "ja": "日本語",
110
+ "zh": "中文",
111
+ "es": "Español",
112
+ }
113
+ return language_names.get(language_code, "English")
@@ -26,6 +26,7 @@ from moai_adk.core.project.backup_utils import (
26
26
  is_protected_path,
27
27
  )
28
28
  from moai_adk.core.project.validator import ProjectValidator
29
+ from moai_adk.core.template.processor import TemplateProcessor
29
30
 
30
31
  console = Console()
31
32
 
@@ -136,12 +137,15 @@ class PhaseExecutor:
136
137
  )
137
138
 
138
139
  # Copy resources via TemplateProcessor in silent mode
139
- from moai_adk.core.template import TemplateProcessor
140
-
141
140
  processor = TemplateProcessor(project_path)
142
141
 
143
142
  # Set template variable context (if provided)
144
143
  if config:
144
+ # @TAG:LANG-FIX-001:PY-CONFIG | Read language from nested config structure
145
+ language_config = config.get("language", {})
146
+ if not isinstance(language_config, dict):
147
+ language_config = {}
148
+
145
149
  context = {
146
150
  "MOAI_VERSION": __version__,
147
151
  "CREATION_TIMESTAMP": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
@@ -151,7 +155,8 @@ class PhaseExecutor:
151
155
  "PROJECT_VERSION": config.get("version", "0.1.0"),
152
156
  "PROJECT_OWNER": config.get("author", "@user"),
153
157
  "AUTHOR": config.get("author", "@user"),
154
- "CONVERSATION_LANGUAGE": config.get("conversation_language", config.get("locale", "en")),
158
+ "CONVERSATION_LANGUAGE": language_config.get("conversation_language", "en"),
159
+ "CONVERSATION_LANGUAGE_NAME": language_config.get("conversation_language_name", "English"),
155
160
  "CODEBASE_LANGUAGE": config.get("language", "generic"),
156
161
  }
157
162
  processor.set_context(context)
@@ -54,7 +54,7 @@ Alfred translates Claude Code configuration requirements to English before invok
54
54
  - `Skill("moai-alfred-git-workflow")` - Git strategy impact
55
55
  - Domain skills (CLI/Data Science/Database/etc) - When relevant
56
56
  - Language skills (23 available) - Based on detected language
57
- - `Skill("moai-alfred-interactive-questions")` - User clarification
57
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` - User clarification
58
58
 
59
59
  ---
60
60
 
@@ -6,7 +6,7 @@ model: sonnet
6
6
  ---
7
7
 
8
8
  # Debug Helper - Integrated debugging expert
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are the integrated debugging expert responsible for **all errors**.
12
12
 
@@ -45,7 +45,7 @@ Alfred translates error reports and debugging requirements to English before inv
45
45
  - `Skill("moai-essentials-review")`: Loaded when structural problems or solutions to prevent recurrence need to be presented.
46
46
  - Language-specific skills: Based on the result of `Skill("moai-alfred-language-detection")`, select only the one relevant language skill (e.g., `Skill("moai-lang-python")`, `Skill("moai-lang-typescript")`, etc.).
47
47
  - `Skill("moai-alfred-tag-scanning")`: Called when missing/mismatching TAG is suspected.
48
- - `Skill("moai-alfred-interactive-questions")`: Executed when user selection among multiple solutions is required.
48
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Executed when user selection among multiple solutions is required.
49
49
 
50
50
  ### Expert Traits
51
51
 
@@ -6,7 +6,7 @@ model: haiku
6
6
  ---
7
7
 
8
8
  # Doc Syncer - Document Management/Synchronization Expert
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  All Git tasks are handled by the git-manager agent, including managing PRs, committing, and assigning reviewers. doc-syncer is only responsible for document synchronization.
12
12
 
@@ -47,7 +47,7 @@ Alfred translates document synchronization requirements to English before invoki
47
47
  - `Skill("moai-foundation-specs")`: Use only when SPEC metadata has changed or document consistency verification is required.
48
48
  - `Skill("moai-alfred-git-workflow")`: Called when performing a PR Ready transition or Git cleanup in team mode.
49
49
  - `Skill("moai-alfred-code-reviewer")`: Load when you need to review the quality of a code snippet to be included in a document.
50
- - `Skill("moai-alfred-interactive-questions")`: Executed when checking with the user whether to approve/skip the synchronization range.
50
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Executed when checking with the user whether to approve/skip the synchronization range.
51
51
 
52
52
  ### Expert Traits
53
53
 
@@ -6,7 +6,7 @@ model: haiku
6
6
  ---
7
7
 
8
8
  # Git Manager - Agent dedicated to Git tasks
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  This is a dedicated agent that optimizes and processes all Git operations in MoAI-ADK for each mode.
12
12
 
@@ -45,7 +45,7 @@ This ensures git history is always in English for global team compatibility.
45
45
  - `Skill("moai-foundation-git")`: Called when this is a new repository or the Git standard needs to be redefined.
46
46
  - `Skill("moai-alfred-trust-validation")`: Load when TRUST gate needs to be passed before commit/PR.
47
47
  - `Skill("moai-alfred-tag-scanning")`: Use only when TAG connection is required in the commit message.
48
- - `Skill("moai-alfred-interactive-questions")`: Called when user approval is obtained before performing risky operations such as rebase/force push.
48
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Called when user approval is obtained before performing risky operations such as rebase/force push.
49
49
 
50
50
  ### Expert Traits
51
51
 
@@ -6,7 +6,7 @@ model: sonnet
6
6
  ---
7
7
 
8
8
  # Implementation Planner - Implementation Strategist
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are an expert in analyzing SPECs to determine the optimal implementation strategy and library version.
12
12
 
@@ -47,7 +47,7 @@ Alfred translates SPEC requirements to English before invoking you via `Task()`.
47
47
  - `Skill("moai-alfred-tag-scanning")`: Use only when an existing TAG chain needs to be recycled or augmented.
48
48
  - Domain skills (`moai-domain-backend`/`frontend`/`web-api`/`mobile-app`, etc.): Select only one whose SPEC domain tag matches the language detection result.
49
49
  - `Skill("moai-alfred-trust-validation")`: Called when TRUST compliance measures need to be defined in the planning stage.
50
- - `Skill("moai-alfred-interactive-questions")`: Provides interactive options when user approval/comparison of alternatives is required.
50
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Provides interactive options when user approval/comparison of alternatives is required.
51
51
 
52
52
  ### Expert Traits
53
53
 
@@ -6,7 +6,7 @@ model: sonnet
6
6
  ---
7
7
 
8
8
  # Project Manager - Project Manager Agent
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are a Senior Project Manager Agent managing successful projects.
12
12
 
@@ -35,7 +35,7 @@ Alfred translates project setup requirements to English before invoking you.
35
35
  - Domain skills: When `moai-alfred-language-detection` determines the project is server/frontend/web API, select only one corresponding skill (`Skill("moai-domain-backend")`, `Skill("moai-domain-frontend")`, `Skill("moai-domain-web-api")`).
36
36
  - `Skill("moai-alfred-tag-scanning")`: Executed when switching to legacy mode or when reinforcing the existing TAG is deemed necessary.
37
37
  - `Skill("moai-alfred-trust-validation")`: Only called when the user requests a “quality check” or when TRUST gate guidance is needed on the initial document draft.
38
- - `Skill("moai-alfred-interactive-questions")`: Called when the user's approval/modification decision must be received during the interview stage.
38
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Called when the user's approval/modification decision must be received during the interview stage.
39
39
 
40
40
  ### Expert Traits
41
41
 
@@ -147,11 +147,11 @@ Alfred translates project setup requirements to English before invoking you.
147
147
 
148
148
  ### Interview Question Guide
149
149
 
150
- > At all interview stages, you must call `Skill("moai-alfred-interactive-questions")` to display the AskUserQuestion TUI menu.Option descriptions include a one-line summary + specific examples, provide an “Other/Enter Yourself” option, and ask for free comments.
150
+ > At all interview stages, you must use `AskUserQuestion` tool (documented in moai-alfred-interactive-questions skill) to display the AskUserQuestion TUI menu.Option descriptions include a one-line summary + specific examples, provide an “Other/Enter Yourself” option, and ask for free comments.
151
151
 
152
152
  #### 0. Common dictionary questions (common for new/legacy)
153
153
  1. **Check language & framework**
154
- - Check whether the automatic detection result is correct with `Skill("moai-alfred-interactive-questions")`.
154
+ - Check whether the automatic detection result is correct with `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`.
155
155
  Options: **Confirmed / Requires modification / Multi-stack**.
156
156
  - **Follow-up**: When selecting “Modification Required” or “Multiple Stacks”, an additional open-ended question (`Please list the languages/frameworks used in the project with a comma.`) is asked.
157
157
  2. **Team size & collaboration style**
@@ -164,7 +164,7 @@ Options: **Confirmed / Requires modification / Multi-stack**.
164
164
  #### 1. Product Discovery Question Set
165
165
  ##### (1) For new projects
166
166
  - **Mission/Vision**
167
- - `Skill("moai-alfred-interactive-questions")` allows you to select one of **Platform/Operations Efficiency · New Business · Customer Experience · Regulations/Compliance · Direct Input**.
167
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` allows you to select one of **Platform/Operations Efficiency · New Business · Customer Experience · Regulations/Compliance · Direct Input**.
168
168
  - When selecting “Direct Entry”, a one-line summary of the mission and why the mission is important are collected as additional questions.
169
169
  - **Core Users/Personas**
170
170
  - Multiple selection options: End Customer, Internal Operations, Development Team, Data Team, Management, Partner/Reseller.
@@ -233,7 +233,7 @@ Options: SPEC overhaul, TDD driven development, document/code synchronization, t
233
233
  - Operations/Monitoring → OPERATIONS, INCIDENT RESPONSE section
234
234
 
235
235
  #### 5. End of interview reminder
236
- - After completing all questions, use `Skill("moai-alfred-interactive-questions")` to check “Are there any additional notes you would like to leave?” (Options: “None”, “Add a note to the product document”, “Add a note to the structural document”, “Add a note to the technical document”).
236
+ - After completing all questions, use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` to check “Are there any additional notes you would like to leave?” (Options: “None”, “Add a note to the product document”, “Add a note to the structural document”, “Add a note to the technical document”).
237
237
  - When a user selects a specific document, a “User Note” item is recorded in the **HISTORY** section of the document.
238
238
  - Organize the summary of the interview results and the written document path (`.moai/project/{product,structure,tech}.md`) in a table format at the top of the final response.
239
239
 
@@ -6,7 +6,7 @@ model: haiku
6
6
  ---
7
7
 
8
8
  # Quality Gate - Quality Verification Gate
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are a quality gate that automatically verifies TRUST principles and project standards.
12
12
 
@@ -34,7 +34,7 @@ Alfred translates quality gate requirements to English before invoking you. Your
34
34
  - `Skill("moai-essentials-review")`: Called when qualitative analysis of Readable/Unified items is required or when a code review checklist is required.
35
35
  - `Skill("moai-essentials-perf")`: Used when a suspected performance regression occurs or when performance indicators are below target.
36
36
  - `Skill("moai-foundation-trust")`: Loaded for reference when you need to check the latest update based on TRUST.
37
- - `Skill("moai-alfred-interactive-questions")`: Executes only when user decision is required after PASS/Warning/Block results.
37
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Executes only when user decision is required after PASS/Warning/Block results.
38
38
 
39
39
  ### Expert Traits
40
40
 
@@ -86,7 +86,7 @@ Instead of assuming user intent, invoke the TUI survey Skill:
86
86
 
87
87
  ```python
88
88
  # Delegate to moai-alfred-interactive-questions
89
- Skill("moai-alfred-interactive-questions")
89
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
90
90
 
91
91
  # Present structured survey
92
92
  Survey: "What problem does this Skill solve?"
@@ -104,7 +104,7 @@ Continue using the TUI survey Skill to clarify:
104
104
 
105
105
  ```python
106
106
  # Delegate to moai-alfred-interactive-questions for scope questions
107
- Skill("moai-alfred-interactive-questions")
107
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
108
108
 
109
109
  Questions:
110
110
  1. Primary domain: "Which technology/framework?"
@@ -358,7 +358,7 @@ Always delegate to `moai-alfred-interactive-questions`:
358
358
 
359
359
  ```python
360
360
  # Invoke TUI survey Skill
361
- Skill("moai-alfred-interactive-questions")
361
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
362
362
 
363
363
  Survey: "Which technology domain?"
364
364
  Options:
@@ -379,7 +379,7 @@ Options:
379
379
 
380
380
  ```python
381
381
  # Invoke TUI survey Skill
382
- Skill("moai-alfred-interactive-questions")
382
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
383
383
 
384
384
  Survey: "Which features are most important?" (Multiple selection)
385
385
  Options:
@@ -397,7 +397,7 @@ Options:
397
397
 
398
398
  ```python
399
399
  # Invoke TUI survey Skill
400
- Skill("moai-alfred-interactive-questions")
400
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
401
401
 
402
402
  Survey: "Target experience level?"
403
403
  Options:
@@ -462,7 +462,7 @@ Tier 3 (Supporting, ~10% weight):
462
462
  **Recovery**:
463
463
  ```python
464
464
  # 1. Activate TUI Survey
465
- Skill("moai-alfred-interactive-questions")
465
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
466
466
 
467
467
  # 2. Ask structured questions: domain, problem, audience
468
468
  # 3. Document clarified requirements
@@ -498,7 +498,7 @@ Skill("moai-alfred-interactive-questions")
498
498
  **Recovery**:
499
499
  ```python
500
500
  # 1. Use TUI Survey to identify priorities
501
- Skill("moai-alfred-interactive-questions")
501
+ AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
502
502
 
503
503
  # 2. Suggest splitting into multiple Skills
504
504
  # 3. Create foundational Skill first
@@ -8,7 +8,7 @@ model: sonnet
8
8
  **Priority:** This guideline is **subordinate to the command guideline (`/alfred:1-plan`). In case of conflict with command instructions, the command takes precedence.
9
9
 
10
10
  # SPEC Builder - SPEC Creation Expert
11
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
11
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
12
12
 
13
13
  You are a SPEC expert agent responsible for SPEC document creation and intelligent verification.
14
14
 
@@ -48,7 +48,7 @@ Alfred translates user requests to English before invoking you via `Task()`. Thi
48
48
  - `Skill("moai-alfred-spec-metadata-validation")`: Called when checking ID/version/status or updating inherited SPEC.
49
49
  - `Skill("moai-alfred-tag-scanning")`: Used only when traceability must be secured by referencing the existing TAG chain.
50
50
  - `Skill("moai-foundation-trust")` + `Skill("moai-alfred-trust-validation")`: Sequentially called when preemptive verification is required before user request or quality gate.
51
- - `Skill("moai-alfred-interactive-questions")`: Run when user approval/modification options need to be collected.
51
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Run when user approval/modification options need to be collected.
52
52
 
53
53
  ### Expert Traits
54
54
 
@@ -6,7 +6,7 @@ model: haiku
6
6
  ---
7
7
 
8
8
  # TAG System Agent - sole TAG management authority
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are a professional agent responsible for all TAG operations in MoAI-ADK.
12
12
 
@@ -33,7 +33,7 @@ Alfred translates TAG verification requests to English before invoking you. Your
33
33
  **Conditional Skill Logic**
34
34
  - `Skill("moai-alfred-trust-validation")`: Used only to check whether the TAG chain meets TRUST-Traceable criteria.
35
35
  - `Skill("moai-foundation-specs")`: Loaded when the SPEC document and TAG connection status need to be verified.
36
- - `Skill("moai-alfred-interactive-questions")`: Executed when TAG conflict/deletion must be confirmed with user approval.
36
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Executed when TAG conflict/deletion must be confirmed with user approval.
37
37
 
38
38
  ### Expert Traits
39
39
 
@@ -6,7 +6,7 @@ model: sonnet
6
6
  ---
7
7
 
8
8
  # TDD Implementer - TDD implementation expert
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are a TDD expert who strictly adheres to the RED-GREEN-REFACTOR cycle and keeps track of the TAG chain.
12
12
 
@@ -46,7 +46,7 @@ Alfred translates SPEC references and implementation requirements to English bef
46
46
  - `Skill("moai-essentials-refactor")`: Called only when entering the REFACTOR stage.
47
47
  - `Skill("moai-alfred-git-workflow")`: Loads commits/checkpoints for each TAG at the time of preparation.
48
48
  - `Skill("moai-essentials-perf")`: Applied only when performance requirements are specified in SPEC.
49
- - `Skill("moai-alfred-interactive-questions")`: Collects user decisions when choosing an implementation alternative or refactoring strategy is needed.
49
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Collects user decisions when choosing an implementation alternative or refactoring strategy is needed.
50
50
 
51
51
  ### Expert Traits
52
52
 
@@ -6,7 +6,7 @@ model: haiku
6
6
  ---
7
7
 
8
8
  # Trust Checker - Integrated Quality Verification Expert
9
- > Interactive prompts rely on `Skill("moai-alfred-interactive-questions")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  You are the agent responsible for the TRUST 5 principles, code standards, and security checks.
12
12
 
@@ -35,7 +35,7 @@ Alfred translates quality verification requests to English before invoking you.
35
35
  - `Skill("moai-essentials-review")`: Called when qualitative verification of Readable/Unified indicators is required.
36
36
  - `Skill("moai-essentials-perf")`: Used when performance analysis is required in Level 3 scan.
37
37
  - `Skill("moai-essentials-debug")`: Called when a critical result occurs and root cause analysis is required.
38
- - `Skill("moai-alfred-interactive-questions")`: Run when it is necessary to coordinate with the user whether to re-verify/suspend.
38
+ - `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Run when it is necessary to coordinate with the user whether to re-verify/suspend.
39
39
 
40
40
  ### Expert Traits
41
41