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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1362 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "schema_updated": "2025-11-26",
4
+ "config_version": "0.28.0",
5
+ "description": "Tab-based configuration schema for /moai:0-project SETTINGS mode with conditional logic support",
6
+ "total_settings": 57,
7
+ "total_tabs": 5,
8
+ "total_batches": 17,
9
+ "tabs": [
10
+ {
11
+ "id": "tab_1_user_language",
12
+ "label": "Tab 1: User & Language",
13
+ "description": "Configure user name, conversation language, agent prompt language",
14
+ "priority": "REQUIRED",
15
+ "batches": [
16
+ {
17
+ "batch_id": "1.1",
18
+ "label": "Basic Settings",
19
+ "conditional": false,
20
+ "questions": [
21
+ {
22
+ "question": "What is your name? (current: {{user.name}})",
23
+ "header": "User Name",
24
+ "field": "user.name",
25
+ "type": "text_input",
26
+ "multiSelect": false,
27
+ "options": [
28
+ {
29
+ "label": "Keep Current Value",
30
+ "description": "Continue using {{user.name}}",
31
+ "value": "{{current}}"
32
+ },
33
+ {
34
+ "label": "Change",
35
+ "description": "Select Other to enter new name",
36
+ "value": "{{prompt_user}}"
37
+ }
38
+ ],
39
+ "current_value_path": "user.name",
40
+ "required": true
41
+ },
42
+ {
43
+ "question": "What language should Alfred use in conversations? (current: {{language.conversation_language}})",
44
+ "header": "Conversation Language",
45
+ "field": "language.conversation_language",
46
+ "type": "select_single",
47
+ "multiSelect": false,
48
+ "options": [
49
+ {
50
+ "label": "Korean (ko)",
51
+ "description": "All content will be generated in Korean",
52
+ "value": "ko"
53
+ },
54
+ {
55
+ "label": "English (en)",
56
+ "description": "All content will be generated in English",
57
+ "value": "en"
58
+ },
59
+ {
60
+ "label": "Japanese (ja)",
61
+ "description": "All content will be generated in Japanese",
62
+ "value": "ja"
63
+ },
64
+ {
65
+ "label": "Spanish (es)",
66
+ "description": "All content will be generated in Spanish",
67
+ "value": "es"
68
+ }
69
+ ],
70
+ "current_value_path": "language.conversation_language",
71
+ "required": true,
72
+ "auto_update_fields": [
73
+ {
74
+ "field": "language.conversation_language_name",
75
+ "mapping": {
76
+ "ko": "Korean",
77
+ "en": "English",
78
+ "ja": "Japanese",
79
+ "es": "Spanish"
80
+ }
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "question": "What language should agent prompts use? (current: {{language.agent_prompt_language}})",
86
+ "header": "Agent Prompt Language",
87
+ "field": "language.agent_prompt_language",
88
+ "type": "select_single",
89
+ "multiSelect": false,
90
+ "options": [
91
+ {
92
+ "label": "Same as Conversation",
93
+ "description": "Use conversation language for agent prompts",
94
+ "value": "{{language.conversation_language}}"
95
+ },
96
+ {
97
+ "label": "English",
98
+ "description": "Always use English for agent prompts (recommended for consistency)",
99
+ "value": "en"
100
+ }
101
+ ],
102
+ "current_value_path": "language.agent_prompt_language",
103
+ "required": true
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "id": "tab_2_project_info",
111
+ "label": "Tab 2: Project Basic Information",
112
+ "description": "Configure project name, description, owner, mode",
113
+ "priority": "RECOMMENDED",
114
+ "batches": [
115
+ {
116
+ "batch_id": "2.1",
117
+ "label": "Project Metadata",
118
+ "conditional": false,
119
+ "questions": [
120
+ {
121
+ "question": "What is the project name? (current: {{project.name}})",
122
+ "header": "Project Name",
123
+ "field": "project.name",
124
+ "type": "text_input",
125
+ "multiSelect": false,
126
+ "options": [
127
+ {
128
+ "label": "Keep Current Value",
129
+ "description": "Continue using {{project.name}}",
130
+ "value": "{{current}}"
131
+ },
132
+ {
133
+ "label": "Change",
134
+ "description": "Select Other to enter new name",
135
+ "value": "{{prompt_user}}"
136
+ }
137
+ ],
138
+ "current_value_path": "project.name",
139
+ "required": true
140
+ },
141
+ {
142
+ "question": "Project description? (current: {{project.description}})",
143
+ "header": "Description",
144
+ "field": "project.description",
145
+ "type": "text_input",
146
+ "multiSelect": false,
147
+ "options": [
148
+ {
149
+ "label": "Keep Current Value",
150
+ "description": "Continue using current description",
151
+ "value": "{{current}}"
152
+ },
153
+ {
154
+ "label": "Change",
155
+ "description": "Select Other to enter new description",
156
+ "value": "{{prompt_user}}"
157
+ }
158
+ ],
159
+ "current_value_path": "project.description",
160
+ "required": true
161
+ },
162
+ {
163
+ "question": "Project owner? (current: {{project.owner}})",
164
+ "header": "Owner",
165
+ "field": "project.owner",
166
+ "type": "text_input",
167
+ "multiSelect": false,
168
+ "options": [
169
+ {
170
+ "label": "Keep Current Value",
171
+ "description": "Continue using {{project.owner}}",
172
+ "value": "{{current}}"
173
+ },
174
+ {
175
+ "label": "Change",
176
+ "description": "Select Other to enter new owner",
177
+ "value": "{{prompt_user}}"
178
+ }
179
+ ],
180
+ "current_value_path": "project.owner",
181
+ "required": true
182
+ },
183
+ {
184
+ "question": "Project mode? (current: {{project.mode}})",
185
+ "header": "Mode",
186
+ "field": "project.mode",
187
+ "type": "select_single",
188
+ "multiSelect": false,
189
+ "options": [
190
+ {
191
+ "label": "Development",
192
+ "description": "Active development phase",
193
+ "value": "development"
194
+ },
195
+ {
196
+ "label": "Production",
197
+ "description": "Stable production phase",
198
+ "value": "production"
199
+ },
200
+ {
201
+ "label": "Maintenance",
202
+ "description": "Maintenance/bug fix phase",
203
+ "value": "maintenance"
204
+ }
205
+ ],
206
+ "current_value_path": "project.mode",
207
+ "required": true
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "batch_id": "2.2",
213
+ "label": "Auto-processed Locale Settings",
214
+ "conditional": false,
215
+ "questions": [],
216
+ "auto_processing": {
217
+ "enabled": true,
218
+ "description": "Automatically derived from language.conversation_language. No user input required.",
219
+ "fields": [
220
+ {
221
+ "field": "project.locale",
222
+ "derivation": "auto-map from conversation_language",
223
+ "mapping": {
224
+ "ko": "ko_KR",
225
+ "en": "en_US",
226
+ "ja": "ja_JP",
227
+ "es": "es_ES"
228
+ }
229
+ }
230
+ ]
231
+ }
232
+ }
233
+ ]
234
+ },
235
+ {
236
+ "id": "tab_3_git_strategy",
237
+ "label": "Tab 3: Git Strategy & Workflow",
238
+ "description": "Configure Personal/Team Git settings, commit/branch strategy (conditional batches based on mode)",
239
+ "priority": "RECOMMENDED",
240
+ "batches": [
241
+ {
242
+ "batch_id": "3.0",
243
+ "label": "Workflow Mode Selection",
244
+ "conditional": false,
245
+ "questions": [
246
+ {
247
+ "question": "Which Git workflow mode would you like to use? (current: {{git_strategy.mode}})",
248
+ "header": "Git Mode",
249
+ "field": "git_strategy.mode",
250
+ "type": "select_single",
251
+ "multiSelect": false,
252
+ "options": [
253
+ {
254
+ "label": "Manual (Local)",
255
+ "description": "Local Git only, no GitHub integration, manual branch creation",
256
+ "value": "manual"
257
+ },
258
+ {
259
+ "label": "Personal (GitHub Individual)",
260
+ "description": "GitHub individual project with automation (recommended for solo developers)",
261
+ "value": "personal"
262
+ },
263
+ {
264
+ "label": "Team (GitHub Team)",
265
+ "description": "GitHub team project with full governance and code review",
266
+ "value": "team"
267
+ }
268
+ ],
269
+ "current_value_path": "git_strategy.mode",
270
+ "required": true
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ "batch_id": "3.1",
276
+ "label": "Manual Core Settings",
277
+ "conditional": true,
278
+ "condition": {
279
+ "field": "git_strategy.mode",
280
+ "operator": "equals",
281
+ "value": "manual"
282
+ },
283
+ "questions": [
284
+ {
285
+ "question": "Workflow style for Manual mode? (current: {{git_strategy.manual.workflow}})",
286
+ "header": "Workflow",
287
+ "field": "git_strategy.manual.workflow",
288
+ "type": "select_single",
289
+ "multiSelect": false,
290
+ "options": [
291
+ {
292
+ "label": "GitHub Flow",
293
+ "description": "Simple branch-based workflow (recommended)",
294
+ "value": "github-flow"
295
+ },
296
+ {
297
+ "label": "Git Flow",
298
+ "description": "Multi-branch workflow (develop, release, hotfix)",
299
+ "value": "git-flow"
300
+ }
301
+ ],
302
+ "current_value_path": "git_strategy.manual.workflow",
303
+ "required": true
304
+ },
305
+ {
306
+ "question": "Environment for Manual mode? (current: {{git_strategy.manual.environment}})",
307
+ "header": "Environment",
308
+ "field": "git_strategy.manual.environment",
309
+ "type": "select_single",
310
+ "multiSelect": false,
311
+ "options": [
312
+ {
313
+ "label": "Local",
314
+ "description": "Local Git only, no remote",
315
+ "value": "local"
316
+ }
317
+ ],
318
+ "current_value_path": "git_strategy.manual.environment",
319
+ "required": true
320
+ },
321
+ {
322
+ "question": "Enable GitHub integration for Manual mode? (current: {{git_strategy.manual.github_integration}})",
323
+ "header": "GitHub Integration",
324
+ "field": "git_strategy.manual.github_integration",
325
+ "type": "select_single",
326
+ "multiSelect": false,
327
+ "options": [
328
+ {
329
+ "label": "Disabled",
330
+ "description": "No GitHub features (recommended for Manual mode)",
331
+ "value": false
332
+ },
333
+ {
334
+ "label": "Enabled",
335
+ "description": "Enable GitHub features",
336
+ "value": true
337
+ }
338
+ ],
339
+ "current_value_path": "git_strategy.manual.github_integration",
340
+ "required": true
341
+ },
342
+ {
343
+ "question": "Auto-checkpoint for Manual mode? (current: {{git_strategy.manual.auto_checkpoint}})",
344
+ "header": "Auto Checkpoint",
345
+ "field": "git_strategy.manual.auto_checkpoint",
346
+ "type": "select_single",
347
+ "multiSelect": false,
348
+ "options": [
349
+ {
350
+ "label": "Disabled",
351
+ "description": "No automatic checkpoints (recommended for Manual mode)",
352
+ "value": "disabled"
353
+ }
354
+ ],
355
+ "current_value_path": "git_strategy.manual.auto_checkpoint",
356
+ "required": true
357
+ }
358
+ ]
359
+ },
360
+ {
361
+ "batch_id": "3.2",
362
+ "label": "Manual Push Settings",
363
+ "conditional": true,
364
+ "condition": {
365
+ "field": "git_strategy.mode",
366
+ "operator": "equals",
367
+ "value": "manual"
368
+ },
369
+ "questions": [
370
+ {
371
+ "question": "Push to remote for Manual mode? (current: {{git_strategy.manual.push_to_remote}})",
372
+ "header": "Push Remote",
373
+ "field": "git_strategy.manual.push_to_remote",
374
+ "type": "select_single",
375
+ "multiSelect": false,
376
+ "options": [
377
+ {
378
+ "label": "Disabled",
379
+ "description": "No automatic push (recommended for Manual mode)",
380
+ "value": false
381
+ },
382
+ {
383
+ "label": "Enabled",
384
+ "description": "Enable automatic push",
385
+ "value": true
386
+ }
387
+ ],
388
+ "current_value_path": "git_strategy.manual.push_to_remote",
389
+ "required": true
390
+ }
391
+ ]
392
+ },
393
+ {
394
+ "batch_id": "3.3",
395
+ "label": "Personal Core Settings",
396
+ "conditional": true,
397
+ "condition": {
398
+ "field": "git_strategy.mode",
399
+ "operator": "equals",
400
+ "value": "personal"
401
+ },
402
+ "questions": [
403
+ {
404
+ "question": "Workflow style for Personal mode? (current: {{git_strategy.personal.workflow}})",
405
+ "header": "Workflow",
406
+ "field": "git_strategy.personal.workflow",
407
+ "type": "select_single",
408
+ "multiSelect": false,
409
+ "options": [
410
+ {
411
+ "label": "GitHub Flow",
412
+ "description": "Simple branch-based workflow (recommended)",
413
+ "value": "github-flow"
414
+ },
415
+ {
416
+ "label": "Git Flow",
417
+ "description": "Multi-branch workflow (develop, release, hotfix)",
418
+ "value": "git-flow"
419
+ }
420
+ ],
421
+ "current_value_path": "git_strategy.personal.workflow",
422
+ "required": true
423
+ },
424
+ {
425
+ "question": "Environment for Personal mode? (current: {{git_strategy.personal.environment}})",
426
+ "header": "Environment",
427
+ "field": "git_strategy.personal.environment",
428
+ "type": "select_single",
429
+ "multiSelect": false,
430
+ "options": [
431
+ {
432
+ "label": "GitHub",
433
+ "description": "GitHub repository with automation",
434
+ "value": "github"
435
+ }
436
+ ],
437
+ "current_value_path": "git_strategy.personal.environment",
438
+ "required": true
439
+ },
440
+ {
441
+ "question": "Enable GitHub integration for Personal mode? (current: {{git_strategy.personal.github_integration}})",
442
+ "header": "GitHub Integration",
443
+ "field": "git_strategy.personal.github_integration",
444
+ "type": "select_single",
445
+ "multiSelect": false,
446
+ "options": [
447
+ {
448
+ "label": "Enabled",
449
+ "description": "Full GitHub features (recommended for Personal mode)",
450
+ "value": true
451
+ }
452
+ ],
453
+ "current_value_path": "git_strategy.personal.github_integration",
454
+ "required": true
455
+ },
456
+ {
457
+ "question": "Auto-create branches for Personal mode? (current: {{git_strategy.personal.auto_branch}})",
458
+ "header": "Auto Branch",
459
+ "field": "git_strategy.personal.auto_branch",
460
+ "type": "select_single",
461
+ "multiSelect": false,
462
+ "options": [
463
+ {
464
+ "label": "Enabled",
465
+ "description": "Automatically create feature branches (recommended)",
466
+ "value": true
467
+ },
468
+ {
469
+ "label": "Disabled",
470
+ "description": "Manual branch creation",
471
+ "value": false
472
+ }
473
+ ],
474
+ "current_value_path": "git_strategy.personal.auto_branch",
475
+ "required": true
476
+ }
477
+ ]
478
+ },
479
+ {
480
+ "batch_id": "3.4",
481
+ "label": "Personal Commit & Push Settings",
482
+ "conditional": true,
483
+ "condition": {
484
+ "field": "git_strategy.mode",
485
+ "operator": "equals",
486
+ "value": "personal"
487
+ },
488
+ "questions": [
489
+ {
490
+ "question": "Auto-commit for Personal mode? (current: {{git_strategy.personal.auto_commit}})",
491
+ "header": "Auto Commit",
492
+ "field": "git_strategy.personal.auto_commit",
493
+ "type": "select_single",
494
+ "multiSelect": false,
495
+ "options": [
496
+ {
497
+ "label": "Enabled",
498
+ "description": "Automatically commit after phase completion (recommended)",
499
+ "value": true
500
+ },
501
+ {
502
+ "label": "Disabled",
503
+ "description": "Manual commit",
504
+ "value": false
505
+ }
506
+ ],
507
+ "current_value_path": "git_strategy.personal.auto_commit",
508
+ "required": true
509
+ },
510
+ {
511
+ "question": "Auto-PR for Personal mode? (current: {{git_strategy.personal.auto_pr}})",
512
+ "header": "Auto PR",
513
+ "field": "git_strategy.personal.auto_pr",
514
+ "type": "select_single",
515
+ "multiSelect": false,
516
+ "options": [
517
+ {
518
+ "label": "Disabled",
519
+ "description": "No automatic PR (recommended for Personal mode)",
520
+ "value": false
521
+ },
522
+ {
523
+ "label": "Enabled",
524
+ "description": "Automatically create PRs",
525
+ "value": true
526
+ }
527
+ ],
528
+ "current_value_path": "git_strategy.personal.auto_pr",
529
+ "required": true
530
+ },
531
+ {
532
+ "question": "Auto-push for Personal mode? (current: {{git_strategy.personal.auto_push}})",
533
+ "header": "Auto Push",
534
+ "field": "git_strategy.personal.auto_push",
535
+ "type": "select_single",
536
+ "multiSelect": false,
537
+ "options": [
538
+ {
539
+ "label": "Enabled",
540
+ "description": "Automatically push to remote (recommended)",
541
+ "value": true
542
+ },
543
+ {
544
+ "label": "Disabled",
545
+ "description": "Manual push",
546
+ "value": false
547
+ }
548
+ ],
549
+ "current_value_path": "git_strategy.personal.auto_push",
550
+ "required": true
551
+ }
552
+ ]
553
+ },
554
+ {
555
+ "batch_id": "3.5",
556
+ "label": "Personal Branch Settings",
557
+ "conditional": true,
558
+ "condition": {
559
+ "field": "git_strategy.mode",
560
+ "operator": "equals",
561
+ "value": "personal"
562
+ },
563
+ "questions": [
564
+ {
565
+ "question": "Branch prefix for Personal mode? (current: {{git_strategy.personal.branch_prefix}})",
566
+ "header": "Branch Prefix",
567
+ "field": "git_strategy.personal.branch_prefix",
568
+ "type": "text_input",
569
+ "multiSelect": false,
570
+ "options": [
571
+ {
572
+ "label": "Keep Current Value",
573
+ "description": "Continue using {{git_strategy.personal.branch_prefix}}",
574
+ "value": "{{current}}"
575
+ },
576
+ {
577
+ "label": "Change",
578
+ "description": "Select Other to enter new prefix (e.g., feature/SPEC-)",
579
+ "value": "{{prompt_user}}"
580
+ }
581
+ ],
582
+ "current_value_path": "git_strategy.personal.branch_prefix",
583
+ "required": true
584
+ },
585
+ {
586
+ "question": "Main branch for Personal mode? (current: {{git_strategy.personal.main_branch}})",
587
+ "header": "Main Branch",
588
+ "field": "git_strategy.personal.main_branch",
589
+ "type": "select_single",
590
+ "multiSelect": false,
591
+ "options": [
592
+ {
593
+ "label": "main",
594
+ "description": "Use 'main' as primary branch (recommended)",
595
+ "value": "main"
596
+ },
597
+ {
598
+ "label": "master",
599
+ "description": "Use 'master' as primary branch",
600
+ "value": "master"
601
+ }
602
+ ],
603
+ "current_value_path": "git_strategy.personal.main_branch",
604
+ "required": true
605
+ }
606
+ ]
607
+ },
608
+ {
609
+ "batch_id": "3.6",
610
+ "label": "Team Core Settings",
611
+ "conditional": true,
612
+ "condition": {
613
+ "field": "git_strategy.mode",
614
+ "operator": "equals",
615
+ "value": "team"
616
+ },
617
+ "questions": [
618
+ {
619
+ "question": "Workflow style for Team mode? (current: {{git_strategy.team.workflow}})",
620
+ "header": "Workflow",
621
+ "field": "git_strategy.team.workflow",
622
+ "type": "select_single",
623
+ "multiSelect": false,
624
+ "options": [
625
+ {
626
+ "label": "GitHub Flow",
627
+ "description": "Simple branch-based workflow (recommended)",
628
+ "value": "github-flow"
629
+ },
630
+ {
631
+ "label": "Git Flow",
632
+ "description": "Multi-branch workflow (develop, release, hotfix)",
633
+ "value": "git-flow"
634
+ }
635
+ ],
636
+ "current_value_path": "git_strategy.team.workflow",
637
+ "required": true
638
+ },
639
+ {
640
+ "question": "Environment for Team mode? (current: {{git_strategy.team.environment}})",
641
+ "header": "Environment",
642
+ "field": "git_strategy.team.environment",
643
+ "type": "select_single",
644
+ "multiSelect": false,
645
+ "options": [
646
+ {
647
+ "label": "GitHub",
648
+ "description": "GitHub repository with team features",
649
+ "value": "github"
650
+ }
651
+ ],
652
+ "current_value_path": "git_strategy.team.environment",
653
+ "required": true
654
+ },
655
+ {
656
+ "question": "Enable GitHub integration for Team mode? (current: {{git_strategy.team.github_integration}})",
657
+ "header": "GitHub Integration",
658
+ "field": "git_strategy.team.github_integration",
659
+ "type": "select_single",
660
+ "multiSelect": false,
661
+ "options": [
662
+ {
663
+ "label": "Enabled",
664
+ "description": "Full GitHub team features (required for Team mode)",
665
+ "value": true
666
+ }
667
+ ],
668
+ "current_value_path": "git_strategy.team.github_integration",
669
+ "required": true
670
+ },
671
+ {
672
+ "question": "Auto-create branches for Team mode? (current: {{git_strategy.team.auto_branch}})",
673
+ "header": "Auto Branch",
674
+ "field": "git_strategy.team.auto_branch",
675
+ "type": "select_single",
676
+ "multiSelect": false,
677
+ "options": [
678
+ {
679
+ "label": "Enabled",
680
+ "description": "Automatically create feature branches (recommended)",
681
+ "value": true
682
+ },
683
+ {
684
+ "label": "Disabled",
685
+ "description": "Manual branch creation",
686
+ "value": false
687
+ }
688
+ ],
689
+ "current_value_path": "git_strategy.team.auto_branch",
690
+ "required": true
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ "batch_id": "3.7",
696
+ "label": "Team Commit & PR Settings",
697
+ "conditional": true,
698
+ "condition": {
699
+ "field": "git_strategy.mode",
700
+ "operator": "equals",
701
+ "value": "team"
702
+ },
703
+ "questions": [
704
+ {
705
+ "question": "Auto-commit for Team mode? (current: {{git_strategy.team.auto_commit}})",
706
+ "header": "Auto Commit",
707
+ "field": "git_strategy.team.auto_commit",
708
+ "type": "select_single",
709
+ "multiSelect": false,
710
+ "options": [
711
+ {
712
+ "label": "Enabled",
713
+ "description": "Automatically commit after phase completion (recommended)",
714
+ "value": true
715
+ },
716
+ {
717
+ "label": "Disabled",
718
+ "description": "Manual commit",
719
+ "value": false
720
+ }
721
+ ],
722
+ "current_value_path": "git_strategy.team.auto_commit",
723
+ "required": true
724
+ },
725
+ {
726
+ "question": "Auto-PR for Team mode? (current: {{git_strategy.team.auto_pr}})",
727
+ "header": "Auto PR",
728
+ "field": "git_strategy.team.auto_pr",
729
+ "type": "select_single",
730
+ "multiSelect": false,
731
+ "options": [
732
+ {
733
+ "label": "Enabled",
734
+ "description": "Automatically create PRs (recommended for Team mode)",
735
+ "value": true
736
+ },
737
+ {
738
+ "label": "Disabled",
739
+ "description": "Manual PR creation",
740
+ "value": false
741
+ }
742
+ ],
743
+ "current_value_path": "git_strategy.team.auto_pr",
744
+ "required": true
745
+ },
746
+ {
747
+ "question": "Auto-push for Team mode? (current: {{git_strategy.team.auto_push}})",
748
+ "header": "Auto Push",
749
+ "field": "git_strategy.team.auto_push",
750
+ "type": "select_single",
751
+ "multiSelect": false,
752
+ "options": [
753
+ {
754
+ "label": "Enabled",
755
+ "description": "Automatically push to remote (recommended)",
756
+ "value": true
757
+ },
758
+ {
759
+ "label": "Disabled",
760
+ "description": "Manual push",
761
+ "value": false
762
+ }
763
+ ],
764
+ "current_value_path": "git_strategy.team.auto_push",
765
+ "required": true
766
+ }
767
+ ]
768
+ },
769
+ {
770
+ "batch_id": "3.8",
771
+ "label": "Team Branch & Protection Settings",
772
+ "conditional": true,
773
+ "condition": {
774
+ "field": "git_strategy.mode",
775
+ "operator": "equals",
776
+ "value": "team"
777
+ },
778
+ "questions": [
779
+ {
780
+ "question": "Create draft PRs for Team mode? (current: {{git_strategy.team.draft_pr}})",
781
+ "header": "Draft PR",
782
+ "field": "git_strategy.team.draft_pr",
783
+ "type": "select_single",
784
+ "multiSelect": false,
785
+ "options": [
786
+ {
787
+ "label": "Enabled",
788
+ "description": "Create PRs as draft (recommended for Team mode)",
789
+ "value": true
790
+ },
791
+ {
792
+ "label": "Disabled",
793
+ "description": "Create PRs as ready for review",
794
+ "value": false
795
+ }
796
+ ],
797
+ "current_value_path": "git_strategy.team.draft_pr",
798
+ "required": true
799
+ },
800
+ {
801
+ "question": "Required reviews for Team mode? (current: {{git_strategy.team.required_reviews}})",
802
+ "header": "Required Reviews",
803
+ "field": "git_strategy.team.required_reviews",
804
+ "type": "number_input",
805
+ "multiSelect": false,
806
+ "options": [
807
+ {
808
+ "label": "1 reviewer",
809
+ "description": "Minimum 1 approval (recommended)",
810
+ "value": 1
811
+ },
812
+ {
813
+ "label": "2 reviewers",
814
+ "description": "Minimum 2 approvals",
815
+ "value": 2
816
+ },
817
+ {
818
+ "label": "Other",
819
+ "description": "Select Other to enter custom number",
820
+ "value": "{{prompt_user}}"
821
+ }
822
+ ],
823
+ "current_value_path": "git_strategy.team.required_reviews",
824
+ "required": true
825
+ },
826
+ {
827
+ "question": "Enable branch protection for Team mode? (current: {{git_strategy.team.branch_protection}})",
828
+ "header": "Branch Protection",
829
+ "field": "git_strategy.team.branch_protection",
830
+ "type": "select_single",
831
+ "multiSelect": false,
832
+ "options": [
833
+ {
834
+ "label": "Enabled",
835
+ "description": "Protect main branch (recommended)",
836
+ "value": true
837
+ },
838
+ {
839
+ "label": "Disabled",
840
+ "description": "No branch protection",
841
+ "value": false
842
+ }
843
+ ],
844
+ "current_value_path": "git_strategy.team.branch_protection",
845
+ "required": true
846
+ }
847
+ ]
848
+ },
849
+ {
850
+ "batch_id": "3.9",
851
+ "label": "Team Branch Naming Settings",
852
+ "conditional": true,
853
+ "condition": {
854
+ "field": "git_strategy.mode",
855
+ "operator": "equals",
856
+ "value": "team"
857
+ },
858
+ "questions": [
859
+ {
860
+ "question": "Feature branch prefix for Team mode? (current: {{git_strategy.team.feature_prefix}})",
861
+ "header": "Feature Prefix",
862
+ "field": "git_strategy.team.feature_prefix",
863
+ "type": "text_input",
864
+ "multiSelect": false,
865
+ "options": [
866
+ {
867
+ "label": "Keep Current Value",
868
+ "description": "Continue using {{git_strategy.team.feature_prefix}}",
869
+ "value": "{{current}}"
870
+ },
871
+ {
872
+ "label": "Change",
873
+ "description": "Select Other to enter new prefix (e.g., feature/SPEC-)",
874
+ "value": "{{prompt_user}}"
875
+ }
876
+ ],
877
+ "current_value_path": "git_strategy.team.feature_prefix",
878
+ "required": true
879
+ },
880
+ {
881
+ "question": "Main branch for Team mode? (current: {{git_strategy.team.main_branch}})",
882
+ "header": "Main Branch",
883
+ "field": "git_strategy.team.main_branch",
884
+ "type": "select_single",
885
+ "multiSelect": false,
886
+ "options": [
887
+ {
888
+ "label": "main",
889
+ "description": "Use 'main' as primary branch (recommended)",
890
+ "value": "main"
891
+ },
892
+ {
893
+ "label": "master",
894
+ "description": "Use 'master' as primary branch",
895
+ "value": "master"
896
+ }
897
+ ],
898
+ "current_value_path": "git_strategy.team.main_branch",
899
+ "required": true
900
+ }
901
+ ]
902
+ }
903
+ ]
904
+ },
905
+ {
906
+ "id": "tab_4_quality_reports",
907
+ "label": "Tab 4: Quality Principles & Reports",
908
+ "description": "Configure TRUST 5, test coverage, report generation",
909
+ "priority": "OPTIONAL",
910
+ "batches": [
911
+ {
912
+ "batch_id": "4.1",
913
+ "label": "Constitution Settings",
914
+ "conditional": false,
915
+ "questions": [
916
+ {
917
+ "question": "Enforce TDD (Test-Driven Development)? (current: {{constitution.enforce_tdd}})",
918
+ "header": "Enforce TDD",
919
+ "field": "constitution.enforce_tdd",
920
+ "type": "select_single",
921
+ "multiSelect": false,
922
+ "options": [
923
+ {
924
+ "label": "Enabled",
925
+ "description": "Require tests before implementation (recommended)",
926
+ "value": true
927
+ },
928
+ {
929
+ "label": "Disabled",
930
+ "description": "Allow implementation without tests",
931
+ "value": false
932
+ }
933
+ ],
934
+ "current_value_path": "constitution.enforce_tdd",
935
+ "required": true
936
+ },
937
+ {
938
+ "question": "Test coverage target percentage? (current: {{constitution.test_coverage_target}})",
939
+ "header": "Coverage Target",
940
+ "field": "constitution.test_coverage_target",
941
+ "type": "number_input",
942
+ "multiSelect": false,
943
+ "options": [
944
+ {
945
+ "label": "90%",
946
+ "description": "High quality coverage (recommended)",
947
+ "value": 90
948
+ },
949
+ {
950
+ "label": "85%",
951
+ "description": "Standard coverage",
952
+ "value": 85
953
+ },
954
+ {
955
+ "label": "Other",
956
+ "description": "Select Other to enter custom percentage (0-100)",
957
+ "value": "{{prompt_user}}"
958
+ }
959
+ ],
960
+ "current_value_path": "constitution.test_coverage_target",
961
+ "required": true
962
+ },
963
+ {
964
+ "question": "Maximum concurrent projects? (current: {{constitution.principles.simplicity.max_projects}})",
965
+ "header": "Max Projects",
966
+ "field": "constitution.principles.simplicity.max_projects",
967
+ "type": "number_input",
968
+ "multiSelect": false,
969
+ "options": [
970
+ {
971
+ "label": "5 projects",
972
+ "description": "Default recommendation",
973
+ "value": 5
974
+ },
975
+ {
976
+ "label": "Other",
977
+ "description": "Select Other to enter custom number",
978
+ "value": "{{prompt_user}}"
979
+ }
980
+ ],
981
+ "current_value_path": "constitution.principles.simplicity.max_projects",
982
+ "required": true
983
+ }
984
+ ]
985
+ },
986
+ {
987
+ "batch_id": "4.2",
988
+ "label": "Report Generation Policy",
989
+ "conditional": false,
990
+ "questions": [
991
+ {
992
+ "question": "Enable report generation? (current: {{report_generation.enabled}})",
993
+ "header": "Enable Reports",
994
+ "field": "report_generation.enabled",
995
+ "type": "select_single",
996
+ "multiSelect": false,
997
+ "options": [
998
+ {
999
+ "label": "Enabled",
1000
+ "description": "Generate reports (recommended)",
1001
+ "value": true
1002
+ },
1003
+ {
1004
+ "label": "Disabled",
1005
+ "description": "No report generation",
1006
+ "value": false
1007
+ }
1008
+ ],
1009
+ "current_value_path": "report_generation.enabled",
1010
+ "required": true
1011
+ },
1012
+ {
1013
+ "question": "Auto-create full reports? (current: {{report_generation.auto_create}})",
1014
+ "header": "Auto Create",
1015
+ "field": "report_generation.auto_create",
1016
+ "type": "select_single",
1017
+ "multiSelect": false,
1018
+ "options": [
1019
+ {
1020
+ "label": "Enabled",
1021
+ "description": "Automatically generate full reports",
1022
+ "value": true
1023
+ },
1024
+ {
1025
+ "label": "Disabled",
1026
+ "description": "Generate minimal reports (recommended, saves tokens)",
1027
+ "value": false
1028
+ }
1029
+ ],
1030
+ "current_value_path": "report_generation.auto_create",
1031
+ "required": true
1032
+ },
1033
+ {
1034
+ "question": "Warn user before report creation? (current: {{report_generation.warn_user}})",
1035
+ "header": "Warn User",
1036
+ "field": "report_generation.warn_user",
1037
+ "type": "select_single",
1038
+ "multiSelect": false,
1039
+ "options": [
1040
+ {
1041
+ "label": "Enabled",
1042
+ "description": "Ask user before generating reports (recommended)",
1043
+ "value": true
1044
+ },
1045
+ {
1046
+ "label": "Disabled",
1047
+ "description": "Generate reports without asking",
1048
+ "value": false
1049
+ }
1050
+ ],
1051
+ "current_value_path": "report_generation.warn_user",
1052
+ "required": true
1053
+ },
1054
+ {
1055
+ "question": "Default user choice for reports? (current: {{report_generation.user_choice}})",
1056
+ "header": "User Choice",
1057
+ "field": "report_generation.user_choice",
1058
+ "type": "select_single",
1059
+ "multiSelect": false,
1060
+ "options": [
1061
+ {
1062
+ "label": "Minimal",
1063
+ "description": "Generate minimal reports (recommended)",
1064
+ "value": "Minimal"
1065
+ },
1066
+ {
1067
+ "label": "Full",
1068
+ "description": "Generate full reports",
1069
+ "value": "Full"
1070
+ },
1071
+ {
1072
+ "label": "None",
1073
+ "description": "Skip report generation",
1074
+ "value": "None"
1075
+ }
1076
+ ],
1077
+ "current_value_path": "report_generation.user_choice",
1078
+ "required": true
1079
+ }
1080
+ ]
1081
+ }
1082
+ ]
1083
+ },
1084
+ {
1085
+ "id": "tab_5_system_github",
1086
+ "label": "Tab 5: System & GitHub Integration",
1087
+ "description": "Configure MoAI system settings, GitHub automation",
1088
+ "priority": "OPTIONAL",
1089
+ "batches": [
1090
+ {
1091
+ "batch_id": "5.1",
1092
+ "label": "MoAI System Settings",
1093
+ "conditional": false,
1094
+ "questions": [
1095
+ {
1096
+ "question": "MoAI version check frequency? (current: {{moai.update_check_frequency}})",
1097
+ "header": "Update Check",
1098
+ "field": "moai.update_check_frequency",
1099
+ "type": "select_single",
1100
+ "multiSelect": false,
1101
+ "options": [
1102
+ {
1103
+ "label": "Daily",
1104
+ "description": "Check for updates daily (recommended)",
1105
+ "value": "daily"
1106
+ },
1107
+ {
1108
+ "label": "Weekly",
1109
+ "description": "Check for updates weekly",
1110
+ "value": "weekly"
1111
+ },
1112
+ {
1113
+ "label": "Never",
1114
+ "description": "Disable update checks",
1115
+ "value": "never"
1116
+ }
1117
+ ],
1118
+ "current_value_path": "moai.update_check_frequency",
1119
+ "required": true
1120
+ },
1121
+ {
1122
+ "question": "Enable version checking? (current: {{moai.version_check.enabled}})",
1123
+ "header": "Version Check",
1124
+ "field": "moai.version_check.enabled",
1125
+ "type": "select_single",
1126
+ "multiSelect": false,
1127
+ "options": [
1128
+ {
1129
+ "label": "Enabled",
1130
+ "description": "Enable version checking (recommended)",
1131
+ "value": true
1132
+ },
1133
+ {
1134
+ "label": "Disabled",
1135
+ "description": "Disable version checking",
1136
+ "value": false
1137
+ }
1138
+ ],
1139
+ "current_value_path": "moai.version_check.enabled",
1140
+ "required": true
1141
+ },
1142
+ {
1143
+ "question": "Version check cache TTL hours? (current: {{moai.version_check.cache_ttl_hours}})",
1144
+ "header": "Cache TTL",
1145
+ "field": "moai.version_check.cache_ttl_hours",
1146
+ "type": "number_input",
1147
+ "multiSelect": false,
1148
+ "options": [
1149
+ {
1150
+ "label": "24 hours",
1151
+ "description": "Cache version info for 24 hours (recommended)",
1152
+ "value": 24
1153
+ },
1154
+ {
1155
+ "label": "Other",
1156
+ "description": "Select Other to enter custom hours",
1157
+ "value": "{{prompt_user}}"
1158
+ }
1159
+ ],
1160
+ "current_value_path": "moai.version_check.cache_ttl_hours",
1161
+ "required": true
1162
+ }
1163
+ ]
1164
+ },
1165
+ {
1166
+ "batch_id": "5.2",
1167
+ "label": "GitHub Automation Settings",
1168
+ "conditional": false,
1169
+ "questions": [
1170
+ {
1171
+ "question": "Enable TRUST 5 in GitHub templates? (current: {{github.templates.enable_trust_5}})",
1172
+ "header": "TRUST 5",
1173
+ "field": "github.templates.enable_trust_5",
1174
+ "type": "select_single",
1175
+ "multiSelect": false,
1176
+ "options": [
1177
+ {
1178
+ "label": "Enabled",
1179
+ "description": "Include TRUST 5 sections in PR templates (recommended)",
1180
+ "value": true
1181
+ },
1182
+ {
1183
+ "label": "Disabled",
1184
+ "description": "Omit TRUST 5 sections",
1185
+ "value": false
1186
+ }
1187
+ ],
1188
+ "current_value_path": "github.templates.enable_trust_5",
1189
+ "required": true
1190
+ },
1191
+ {
1192
+ "question": "Enable MoAI commands in GitHub templates? (current: {{github.templates.enable_moai_commands}})",
1193
+ "header": "MoAI Commands",
1194
+ "field": "github.templates.enable_moai_commands",
1195
+ "type": "select_single",
1196
+ "multiSelect": false,
1197
+ "options": [
1198
+ {
1199
+ "label": "Enabled",
1200
+ "description": "Include MoAI command references (recommended)",
1201
+ "value": true
1202
+ },
1203
+ {
1204
+ "label": "Disabled",
1205
+ "description": "Omit MoAI command references",
1206
+ "value": false
1207
+ }
1208
+ ],
1209
+ "current_value_path": "github.templates.enable_moai_commands",
1210
+ "required": true
1211
+ },
1212
+ {
1213
+ "question": "Auto-delete merged branches? (current: {{github.auto_delete_branches}})",
1214
+ "header": "Auto Delete",
1215
+ "field": "github.auto_delete_branches",
1216
+ "type": "select_single",
1217
+ "multiSelect": false,
1218
+ "options": [
1219
+ {
1220
+ "label": "Enabled",
1221
+ "description": "Delete branches after merge (recommended)",
1222
+ "value": true
1223
+ },
1224
+ {
1225
+ "label": "Disabled",
1226
+ "description": "Keep branches after merge",
1227
+ "value": false
1228
+ },
1229
+ {
1230
+ "label": "Not Set",
1231
+ "description": "Use GitHub default",
1232
+ "value": null
1233
+ }
1234
+ ],
1235
+ "current_value_path": "github.auto_delete_branches",
1236
+ "required": false
1237
+ },
1238
+ {
1239
+ "question": "SPEC Git workflow? (current: {{github.spec_git_workflow}})",
1240
+ "header": "SPEC Workflow",
1241
+ "field": "github.spec_git_workflow",
1242
+ "type": "select_single",
1243
+ "multiSelect": false,
1244
+ "options": [
1245
+ {
1246
+ "label": "Develop Direct",
1247
+ "description": "Direct commits to develop, no branches (recommended for personal projects)",
1248
+ "value": "develop_direct"
1249
+ },
1250
+ {
1251
+ "label": "Feature Branch",
1252
+ "description": "Always create feature branches",
1253
+ "value": "feature_branch"
1254
+ },
1255
+ {
1256
+ "label": "Per SPEC",
1257
+ "description": "Ask user for each SPEC",
1258
+ "value": "per_spec"
1259
+ }
1260
+ ],
1261
+ "current_value_path": "github.spec_git_workflow",
1262
+ "required": true
1263
+ }
1264
+ ]
1265
+ }
1266
+ ]
1267
+ }
1268
+ ],
1269
+ "navigation_flow": {
1270
+ "completion_order": [
1271
+ "tab_1_user_language",
1272
+ "tab_2_project_info",
1273
+ "tab_3_git_strategy",
1274
+ "tab_4_quality_reports",
1275
+ "tab_5_system_github"
1276
+ ],
1277
+ "validation_sequence": [
1278
+ {
1279
+ "checkpoint": "after_tab_1",
1280
+ "rules": [
1281
+ {
1282
+ "name": "validate_conversation_language",
1283
+ "description": "Verify conversation_language is valid (ko, en, ja, es, etc)",
1284
+ "field": "language.conversation_language",
1285
+ "validation": "enum",
1286
+ "allowed_values": ["ko", "en", "ja", "es"]
1287
+ },
1288
+ {
1289
+ "name": "validate_agent_prompt_language",
1290
+ "description": "Verify agent_prompt_language consistency",
1291
+ "field": "language.agent_prompt_language",
1292
+ "validation": "enum",
1293
+ "allowed_values": ["ko", "en", "ja", "es"]
1294
+ }
1295
+ ]
1296
+ },
1297
+ {
1298
+ "checkpoint": "after_tab_3",
1299
+ "rules": [
1300
+ {
1301
+ "name": "validate_git_mode_consistency",
1302
+ "description": "Validate Personal/Team mode conflicts",
1303
+ "conditions": [
1304
+ {
1305
+ "if": "git_strategy.mode == 'personal'",
1306
+ "then": "git_strategy.personal.main_branch != 'develop'",
1307
+ "error": "Personal mode should not use 'develop' as main branch"
1308
+ },
1309
+ {
1310
+ "if": "git_strategy.mode == 'team'",
1311
+ "then": "git_strategy.team.branch_protection == true",
1312
+ "error": "Team mode should enable branch protection"
1313
+ }
1314
+ ]
1315
+ },
1316
+ {
1317
+ "name": "validate_branch_naming",
1318
+ "description": "Check branch naming consistency",
1319
+ "validation": "pattern",
1320
+ "fields": [
1321
+ "git_strategy.personal.branch_prefix",
1322
+ "git_strategy.team.feature_prefix"
1323
+ ]
1324
+ }
1325
+ ]
1326
+ },
1327
+ {
1328
+ "checkpoint": "before_final_update",
1329
+ "rules": [
1330
+ {
1331
+ "name": "validate_all_required_fields",
1332
+ "description": "Check all required fields are set",
1333
+ "validation": "required",
1334
+ "check_all_tabs": true
1335
+ },
1336
+ {
1337
+ "name": "validate_field_types",
1338
+ "description": "Verify field value types (string, bool, number, array)",
1339
+ "validation": "type_check",
1340
+ "check_all_tabs": true
1341
+ }
1342
+ ]
1343
+ }
1344
+ ]
1345
+ },
1346
+ "field_mapping_rules": {
1347
+ "dot_notation": "Use dot notation for nested fields (e.g., user.name, language.conversation_language)",
1348
+ "template_variables": "Use {{field_path}} for current value interpolation",
1349
+ "special_values": {
1350
+ "{{current}}": "Keep current value from config.json",
1351
+ "{{prompt_user}}": "Prompt user for custom input via 'Other' option"
1352
+ },
1353
+ "auto_update_fields": "Some fields auto-update when related fields change (e.g., conversation_language_name when conversation_language changes)"
1354
+ },
1355
+ "implementation_notes": {
1356
+ "conditional_batches": "Batches in Tab 3 show/hide based on git_strategy.mode selection",
1357
+ "atomic_updates": "All updates delegated to UnifiedConfigManager from moai-workflow-project skill",
1358
+ "backup_rollback": "Manager handles backup/rollback internally, not in command",
1359
+ "validation_checkpoints": "Run validation after Tab 1, Tab 3, and before final update",
1360
+ "language_aware": "All user-facing questions use conversation_language, no emojis in AskUserQuestion"
1361
+ }
1362
+ }