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,152 @@
1
+ # Tab 5: System & GitHub Integration
2
+ # Priority: OPTIONAL
3
+ # Questions: 7
4
+
5
+ metadata:
6
+ id: tab_5_system_github
7
+ label: "Tab 5: System & GitHub Integration"
8
+ description: "Configure MoAI system settings, GitHub automation"
9
+ priority: OPTIONAL
10
+ order: 5
11
+ setting_count: 7
12
+
13
+ target_sections:
14
+ - sections/system.yaml
15
+
16
+ batches:
17
+ # Batch 5.1: MoAI System Settings
18
+ - batch_id: "5.1"
19
+ label: "MoAI System Settings"
20
+ conditional: false
21
+ questions:
22
+ - id: update_check_frequency
23
+ question: "MoAI version check frequency?"
24
+ header: "Update Check"
25
+ field: "moai.update_check_frequency"
26
+ type: select_single
27
+ multi_select: false
28
+ required: true
29
+ options:
30
+ - label: "Daily"
31
+ description: "Check for updates daily (recommended)"
32
+ value: "daily"
33
+ - label: "Weekly"
34
+ description: "Check for updates weekly"
35
+ value: "weekly"
36
+ - label: "Never"
37
+ description: "Disable update checks"
38
+ value: "never"
39
+ target:
40
+ file: "sections/system.yaml"
41
+ path: "moai.update_check_frequency"
42
+
43
+ - id: version_check_enabled
44
+ question: "Enable version checking?"
45
+ header: "Version Check"
46
+ field: "moai.version_check.enabled"
47
+ type: select_single
48
+ multi_select: false
49
+ required: true
50
+ options:
51
+ - label: "Enabled"
52
+ description: "Enable version checking (recommended)"
53
+ value: true
54
+ - label: "Disabled"
55
+ description: "Disable version checking"
56
+ value: false
57
+ target:
58
+ file: "sections/system.yaml"
59
+ path: "moai.version_check.enabled"
60
+
61
+ - id: cache_ttl_hours
62
+ question: "Version check cache TTL hours?"
63
+ header: "Cache TTL"
64
+ field: "moai.version_check.cache_ttl_hours"
65
+ type: number_input
66
+ multi_select: false
67
+ required: true
68
+ options:
69
+ - label: "24 hours"
70
+ description: "Cache version info for 24 hours (recommended)"
71
+ value: 24
72
+ - label: "Other"
73
+ description: "Enter custom hours"
74
+ value: "{{prompt_user}}"
75
+ target:
76
+ file: "sections/system.yaml"
77
+ path: "moai.version_check.cache_ttl_hours"
78
+
79
+ # Batch 5.2: GitHub Automation Settings
80
+ - batch_id: "5.2"
81
+ label: "GitHub Automation Settings"
82
+ conditional: false
83
+ questions:
84
+ - id: enable_trust_5
85
+ question: "Enable TRUST 5 in GitHub templates?"
86
+ header: "TRUST 5"
87
+ field: "github.enable_trust_5"
88
+ type: select_single
89
+ multi_select: false
90
+ required: true
91
+ options:
92
+ - label: "Enabled"
93
+ description: "Include TRUST 5 sections in PR templates (recommended)"
94
+ value: true
95
+ - label: "Disabled"
96
+ description: "Omit TRUST 5 sections"
97
+ value: false
98
+ target:
99
+ file: "sections/system.yaml"
100
+ path: "github.enable_trust_5"
101
+
102
+ - id: auto_delete_branches
103
+ question: "Auto-delete merged branches?"
104
+ header: "Auto Delete"
105
+ field: "github.auto_delete_branches"
106
+ type: select_single
107
+ multi_select: false
108
+ required: false
109
+ options:
110
+ - label: "Enabled"
111
+ description: "Delete branches after merge (recommended)"
112
+ value: true
113
+ - label: "Disabled"
114
+ description: "Keep branches after merge"
115
+ value: false
116
+ - label: "Not Set"
117
+ description: "Use GitHub default"
118
+ value: null
119
+ target:
120
+ file: "sections/system.yaml"
121
+ path: "github.auto_delete_branches"
122
+
123
+ - id: spec_git_workflow
124
+ question: "SPEC Git workflow?"
125
+ header: "SPEC Workflow"
126
+ field: "github.spec_git_workflow"
127
+ type: select_single
128
+ multi_select: false
129
+ required: true
130
+ options:
131
+ - label: "Develop Direct"
132
+ description: "Direct commits to develop (recommended for personal)"
133
+ value: "develop_direct"
134
+ - label: "Feature Branch"
135
+ description: "Always create feature branches"
136
+ value: "feature_branch"
137
+ - label: "Per SPEC"
138
+ description: "Ask user for each SPEC"
139
+ value: "per_spec"
140
+ target:
141
+ file: "sections/system.yaml"
142
+ path: "github.spec_git_workflow"
143
+
144
+ validation:
145
+ checkpoint: "after_tab_5"
146
+ rules:
147
+ - name: "validate_cache_ttl"
148
+ description: "Cache TTL must be positive"
149
+ field: "moai.version_check.cache_ttl_hours"
150
+ validation: "range"
151
+ min: 1
152
+ max: 168
@@ -0,0 +1,40 @@
1
+ # Git Strategy Settings
2
+ # Workflow configuration for Manual/Personal/Team modes
3
+
4
+ git_strategy:
5
+ mode: manual # manual, personal, team
6
+
7
+ # Manual Mode Settings (Local Git)
8
+ manual:
9
+ workflow: github-flow
10
+ environment: local
11
+ github_integration: false
12
+ auto_checkpoint: disabled
13
+ push_to_remote: false
14
+
15
+ # Personal Mode Settings (GitHub Individual)
16
+ personal:
17
+ workflow: github-flow
18
+ environment: github
19
+ github_integration: true
20
+ auto_branch: true
21
+ auto_commit: true
22
+ auto_pr: false
23
+ auto_push: true
24
+ branch_prefix: "feature/SPEC-"
25
+ main_branch: main
26
+
27
+ # Team Mode Settings (GitHub Team)
28
+ team:
29
+ workflow: github-flow
30
+ environment: github
31
+ github_integration: true
32
+ auto_branch: true
33
+ auto_commit: true
34
+ auto_pr: true
35
+ auto_push: true
36
+ draft_pr: true
37
+ required_reviews: 1
38
+ branch_protection: true
39
+ feature_prefix: "feature/SPEC-"
40
+ main_branch: main
@@ -0,0 +1,11 @@
1
+ # Language Settings (CLAUDE.md Reference)
2
+ # This file is auto-loaded by CLAUDE.md for language configuration
3
+
4
+ language:
5
+ conversation_language: en # User-facing responses (ko, en, ja, es, zh, fr, de)
6
+ conversation_language_name: English # Display name (auto-updated)
7
+ agent_prompt_language: en # Internal agent instructions
8
+ git_commit_messages: en # Git commit message language
9
+ code_comments: en # Source code comment language
10
+ documentation: en # Documentation files language
11
+ error_messages: en # Error message language
@@ -0,0 +1,13 @@
1
+ # Project Settings
2
+ # Basic project metadata
3
+
4
+ project:
5
+ name: "" # Project name
6
+ description: "" # Project description
7
+ mode: development # development, production, maintenance
8
+ locale: en_US # Auto-derived from conversation_language
9
+ created_at: "" # Auto-set during init
10
+ initialized: false # Auto-set during init
11
+
12
+ github:
13
+ profile_name: "" # GitHub username (e.g., @GoosLab)
@@ -0,0 +1,15 @@
1
+ # Quality & Constitution Settings
2
+ # TDD enforcement and report generation
3
+
4
+ constitution:
5
+ enforce_tdd: true # Require tests before implementation
6
+ test_coverage_target: 90 # Minimum test coverage percentage
7
+ principles:
8
+ simplicity:
9
+ max_projects: 5 # Maximum concurrent projects
10
+
11
+ report_generation:
12
+ enabled: true # Enable report generation
13
+ auto_create: false # Auto-create full reports (false = minimal)
14
+ warn_user: true # Ask before generating reports
15
+ user_choice: Minimal # Default: Minimal, Full, None
@@ -0,0 +1,14 @@
1
+ # System & GitHub Integration Settings
2
+ # MoAI system configuration and GitHub automation
3
+
4
+ moai:
5
+ version: "{{MOAI_VERSION}}"
6
+ update_check_frequency: daily
7
+ version_check:
8
+ enabled: true
9
+ cache_ttl_hours: 24
10
+
11
+ github:
12
+ enable_trust_5: true # Include TRUST 5 in PR templates
13
+ auto_delete_branches: true # Delete branches after merge
14
+ spec_git_workflow: develop_direct # develop_direct, feature_branch, per_spec
@@ -0,0 +1,5 @@
1
+ # User Settings (CLAUDE.md Reference)
2
+ # This file is auto-loaded by CLAUDE.md for personalization
3
+
4
+ user:
5
+ name: "" # User name for greetings (empty = default greeting)
@@ -0,0 +1,86 @@
1
+ # MoAI-ADK Statusline Configuration for Claude Code
2
+ # Optimized for Windows, macOS, and Linux environments
3
+ # Updated: 2025-11-16 (Performance optimization for Issue #229)
4
+
5
+ statusline:
6
+ enabled: true
7
+
8
+ # Display mode: compact (80 chars) | extended (120 chars) | minimal (40 chars)
9
+ mode: "extended"
10
+
11
+ # Refresh interval in milliseconds (Claude Code API limitation: 300ms)
12
+ refresh_interval_ms: 300
13
+
14
+ # Color configuration
15
+ colors:
16
+ enabled: true
17
+ theme: "auto" # auto | light | dark | high-contrast
18
+ palette:
19
+ model: "38;5;33" # Blue
20
+ output_style: "38;5;219" # Pink/Magenta
21
+ feature_branch: "38;5;226" # Yellow
22
+ develop_branch: "38;5;51" # Cyan
23
+ main_branch: "38;5;46" # Green
24
+ staged: "38;5;46" # Green
25
+ modified: "38;5;208" # Orange
26
+ untracked: "38;5;196" # Red
27
+ update_available: "38;5;208" # Orange
28
+ memory_usage: "38;5;172" # Brown/Orange
29
+ duration: "38;5;240" # Gray
30
+ todo_count: "38;5;123" # Purple
31
+ separator: "38;5;250" # Light Gray
32
+
33
+ # Caching configuration (Windows optimization)
34
+ # Performance improvements: git 5→10s, alfred 1→5s, update 300→600s
35
+ cache:
36
+ git_ttl_seconds: 10 # Git command results (5→10: process creation reduced)
37
+ metrics_ttl_seconds: 10 # Session metrics (unchanged)
38
+ alfred_ttl_seconds: 5 # Alfred task state (1→5: file I/O reduced 80%)
39
+ todo_ttl_seconds: 5 # TODO items count (3→5)
40
+ memory_ttl_seconds: 10 # Memory usage information (5→10)
41
+ output_style_ttl_seconds: 120 # Output style configuration (60→120)
42
+ version_ttl_seconds: 120 # Version information (60→120)
43
+ update_ttl_seconds: 600 # Update check (300→600: network I/O reduced 83%)
44
+
45
+ # Information display settings - Custom ordered status bar
46
+ display:
47
+ model: true # 🤖 Model name (glm-4.6, claude-3.5-sonnet, etc.)
48
+ version: true # 🗿 MoAI-ADK version (0.23.0, etc.)
49
+ output_style: true # ✍️ Output style (Explanatory, Concise, etc.)
50
+ memory_usage: true # 💾 Session memory usage
51
+ todo_count: true # 📋 Active TODO items count
52
+ branch: true # 🔀 Git branch
53
+ git_status: true # ✅2 M1 ?10 Git changes status
54
+ duration: true # ⏱️ Session elapsed time
55
+ directory: true # 📁 Project name/directory
56
+ active_task: true # 🎯 Alfred active task
57
+ update_indicator: true # 🔄 Update notification
58
+
59
+ # Error handling (Windows: reduced logging I/O)
60
+ error_handling:
61
+ graceful_degradation: true # Return default values on error
62
+ log_level: "error" # warning | error (Windows: error for minimal I/O)
63
+ fallback_text: "" # Text to display on error (blank recommended)
64
+
65
+ # Format configuration
66
+ format:
67
+ max_branch_length: 30 # Truncate long branch names
68
+ truncate_with: "..." # Truncation indicator
69
+ separator: " | " # Section separator
70
+
71
+ # Icon configuration for better visual recognition
72
+ icons:
73
+ git: "🔀" # Git branch icon (more intuitive than 📊)
74
+ staged: "✅" # Staged files
75
+ modified: "📝" # Modified files
76
+ untracked: "❓" # Untracked files
77
+ added: "➕" # Added files
78
+ deleted: "➖" # Deleted files
79
+ renamed: "🔄" # Renamed files
80
+ conflict: "⚠️" # Conflict files
81
+ model: "🤖" # AI model
82
+ output_style: "💬" # Writing style
83
+ duration: "⏱️" # Time duration
84
+ todo: "📋" # TODO items
85
+ update: "🔄" # Update available
86
+ project: "📁" # Project directory
@@ -0,0 +1,136 @@
1
+ #!/usr/bin/env python3
2
+ """GLM Configuration Setup Script for MoAI-ADK
3
+
4
+ Configures GLM (OpenAI-compatible API endpoint) for Claude models integration.
5
+
6
+ Usage:
7
+ uv run {{PROJECT_DIR}}/.moai/scripts/setup-glm.py <api-token>
8
+
9
+ Behavior:
10
+ 1. Saves API token to .env.glm (keeps token secure, .gitignore protected)
11
+ 2. Updates .claude/settings.local.json with GLM model environment variables
12
+ 3. Token persists across sessions (no re-entry needed)
13
+ 4. Next Claude Code restart loads configuration automatically
14
+
15
+ Example:
16
+ $ /moai:0-project --glm-on abc123xyz...
17
+ API token saved to ./.env.glm
18
+ GLM model configuration updated in ./.claude/settings.local.json
19
+ GLM configuration complete!
20
+ """
21
+
22
+ import json
23
+ import sys
24
+ from pathlib import Path
25
+
26
+
27
+ def setup_glm(api_token: str, project_root: Path | None = None) -> bool:
28
+ """Configure GLM integration in the project
29
+
30
+ Args:
31
+ api_token: GLM API authentication token
32
+ project_root: Project root directory (default: current directory)
33
+
34
+ Returns:
35
+ True if successful, False otherwise
36
+ """
37
+ if project_root is None:
38
+ project_root = Path.cwd()
39
+ else:
40
+ project_root = Path(project_root).resolve()
41
+
42
+ try:
43
+ # 1. Create .env.glm with API token
44
+ env_glm_path = project_root / ".env.glm"
45
+ env_glm_path.write_text(f"ANTHROPIC_AUTH_TOKEN={api_token}\n")
46
+
47
+ # Set secure permissions (user read/write only)
48
+ env_glm_path.chmod(0o600)
49
+
50
+ print(f"✓ API token saved to: {env_glm_path.relative_to(project_root)}")
51
+
52
+ # 2. Add .env.glm to .gitignore if needed
53
+ gitignore_path = project_root / ".gitignore"
54
+ glm_entry = ".env.glm"
55
+
56
+ if gitignore_path.exists():
57
+ gitignore_content = gitignore_path.read_text()
58
+ if glm_entry not in gitignore_content:
59
+ gitignore_path.write_text(gitignore_content.rstrip() + f"\n{glm_entry}\n")
60
+ else:
61
+ gitignore_path.write_text(f"{glm_entry}\n")
62
+
63
+ # 3. Update .claude/settings.local.json with GLM model configuration
64
+ settings_path = project_root / ".claude" / "settings.local.json"
65
+
66
+ if not settings_path.exists():
67
+ print(f"❌ Error: {settings_path} not found")
68
+ print(" Run 'moai-adk init' first to initialize the project")
69
+ return False
70
+
71
+ # Load existing settings
72
+ with open(settings_path, "r", encoding="utf-8") as f:
73
+ settings = json.load(f)
74
+
75
+ # Add GLM environment variables with authentication token
76
+ settings["env"] = {
77
+ "ANTHROPIC_AUTH_TOKEN": api_token,
78
+ "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
79
+ "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
80
+ "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6",
81
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6",
82
+ }
83
+
84
+ # Write back to file
85
+ with open(settings_path, "w", encoding="utf-8") as f:
86
+ json.dump(settings, f, indent=2, ensure_ascii=False)
87
+
88
+ print(f"✓ GLM model configuration updated in: {settings_path.relative_to(project_root)}")
89
+ print()
90
+ print("Configured environment variables:")
91
+ print(f" • ANTHROPIC_AUTH_TOKEN: {api_token[:20]}... (loaded from .env.glm)")
92
+ print(" • ANTHROPIC_BASE_URL: https://api.z.ai/api/anthropic")
93
+ print(" • ANTHROPIC_DEFAULT_HAIKU_MODEL: glm-4.5-air")
94
+ print(" • ANTHROPIC_DEFAULT_SONNET_MODEL: glm-4.6")
95
+ print(" • ANTHROPIC_DEFAULT_OPUS_MODEL: glm-4.6")
96
+ print()
97
+ print("✓ GLM configuration complete!")
98
+ print("Note: Restart Claude Code to load the new configuration automatically.")
99
+
100
+ return True
101
+
102
+ except json.JSONDecodeError as e:
103
+ print(f"❌ Error: Invalid JSON in {settings_path}")
104
+ print(f" Details: {e}")
105
+ return False
106
+
107
+ except Exception as e:
108
+ print(f"❌ Error during GLM configuration: {e}")
109
+ return False
110
+
111
+
112
+ def main() -> None:
113
+ """Main entry point"""
114
+ if len(sys.argv) < 2:
115
+ print("Usage: uv run {{PROJECT_DIR}}/.moai/scripts/setup-glm.py <api-token>")
116
+ print()
117
+ print("Arguments:")
118
+ print(" api-token GLM API authentication token")
119
+ print()
120
+ print("Example:")
121
+ print(" uv run {{PROJECT_DIR}}/.moai/scripts/setup-glm.py abc123xyz...")
122
+ sys.exit(1)
123
+
124
+ api_token = sys.argv[1]
125
+
126
+ # Validate token (basic check)
127
+ if not api_token or len(api_token) < 10:
128
+ print("❌ Error: API token appears to be invalid (too short)")
129
+ sys.exit(1)
130
+
131
+ success = setup_glm(api_token)
132
+ sys.exit(0 if success else 1)
133
+
134
+
135
+ if __name__ == "__main__":
136
+ main()