moai-adk 0.4.5__py3-none-any.whl → 0.20.1__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 (433) hide show
  1. moai_adk/__init__.py +1 -1
  2. moai_adk/__main__.py +74 -1
  3. moai_adk/cli/commands/__init__.py +1 -1
  4. moai_adk/cli/commands/analyze.py +119 -0
  5. moai_adk/cli/commands/backup.py +25 -1
  6. moai_adk/cli/commands/doctor.py +31 -5
  7. moai_adk/cli/commands/improve_user_experience.py +307 -0
  8. moai_adk/cli/commands/init.py +111 -10
  9. moai_adk/cli/commands/status.py +33 -3
  10. moai_adk/cli/commands/update.py +921 -130
  11. moai_adk/cli/commands/validate_links.py +120 -0
  12. moai_adk/cli/prompts/init_prompts.py +22 -87
  13. moai_adk/core/analysis/__init__.py +9 -0
  14. moai_adk/core/analysis/session_analyzer.py +388 -0
  15. moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
  16. moai_adk/core/analysis/tag_chain_repair.py +879 -0
  17. moai_adk/core/config/__init__.py +19 -0
  18. moai_adk/core/config/migration.py +235 -0
  19. moai_adk/core/git/__init__.py +1 -1
  20. moai_adk/core/git/branch.py +1 -1
  21. moai_adk/core/git/commit.py +1 -1
  22. moai_adk/core/git/manager.py +1 -1
  23. moai_adk/core/issue_creator.py +313 -0
  24. moai_adk/core/mcp/setup.py +56 -0
  25. moai_adk/core/mcp/setup_old.py +296 -0
  26. moai_adk/core/project/backup_utils.py +1 -1
  27. moai_adk/core/project/checker.py +2 -2
  28. moai_adk/core/project/detector.py +211 -12
  29. moai_adk/core/project/initializer.py +85 -15
  30. moai_adk/core/project/phase_executor.py +76 -13
  31. moai_adk/core/project/validator.py +13 -13
  32. moai_adk/core/quality/__init__.py +1 -1
  33. moai_adk/core/quality/trust_checker.py +1 -1
  34. moai_adk/core/quality/validators/__init__.py +1 -1
  35. moai_adk/core/quality/validators/base_validator.py +1 -1
  36. moai_adk/core/tags/__init__.py +86 -0
  37. moai_adk/core/tags/auto_corrector.py +693 -0
  38. moai_adk/core/tags/ci_validator.py +463 -0
  39. moai_adk/core/tags/cli.py +283 -0
  40. moai_adk/core/tags/generator.py +109 -0
  41. moai_adk/core/tags/inserter.py +99 -0
  42. moai_adk/core/tags/mapper.py +126 -0
  43. moai_adk/core/tags/parser.py +76 -0
  44. moai_adk/core/tags/policy_validator.py +580 -0
  45. moai_adk/core/tags/pre_commit_validator.py +421 -0
  46. moai_adk/core/tags/reporter.py +956 -0
  47. moai_adk/core/tags/rollback_manager.py +525 -0
  48. moai_adk/core/tags/tags.py +149 -0
  49. moai_adk/core/tags/validator.py +897 -0
  50. moai_adk/core/template/__init__.py +1 -1
  51. moai_adk/core/template/backup.py +1 -1
  52. moai_adk/core/template/merger.py +50 -1
  53. moai_adk/core/template/processor.py +119 -13
  54. moai_adk/core/template_engine.py +268 -0
  55. moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
  56. moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
  57. moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
  58. moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
  59. moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
  60. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
  61. moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
  62. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
  63. moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
  64. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
  65. moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
  66. moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
  67. moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
  68. moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
  69. moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
  70. moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
  71. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
  72. moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
  73. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
  74. moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
  75. moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
  76. moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
  77. moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
  78. moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
  79. moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
  80. moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
  81. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
  82. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
  83. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
  84. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
  85. moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
  86. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
  87. moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
  88. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
  89. moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
  90. moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
  91. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
  92. moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
  93. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
  94. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
  95. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
  96. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
  97. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
  98. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
  99. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
  100. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
  101. moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
  102. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
  103. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
  104. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
  105. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
  106. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
  107. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
  108. moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
  109. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
  110. moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
  111. moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
  112. moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
  113. moai_adk/templates/.claude/settings.json +96 -14
  114. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
  115. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
  116. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
  117. moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
  118. moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
  119. moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
  120. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
  121. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
  122. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
  123. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
  124. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
  125. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
  126. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
  127. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
  128. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
  129. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
  130. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
  131. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
  132. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
  133. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
  134. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
  135. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
  136. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
  137. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
  138. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
  139. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
  140. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
  141. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
  142. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
  143. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
  144. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
  145. moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
  146. moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
  147. moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
  148. moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
  149. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
  150. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
  151. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
  152. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
  153. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
  154. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
  155. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
  156. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
  157. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
  158. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
  159. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
  160. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
  161. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
  162. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
  163. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
  164. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
  165. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
  166. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
  167. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
  168. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
  169. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
  170. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
  171. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
  172. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
  173. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
  174. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
  175. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
  176. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
  177. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
  178. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
  179. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
  180. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
  181. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
  182. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
  183. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
  184. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
  185. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
  186. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
  187. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
  188. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
  189. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
  190. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
  191. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
  192. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
  193. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
  194. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
  195. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
  196. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
  197. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
  198. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
  199. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
  200. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
  201. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
  202. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
  203. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
  204. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
  205. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
  206. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
  207. moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
  208. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
  209. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
  210. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
  211. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
  212. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
  213. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
  214. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
  215. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
  216. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
  217. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
  218. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
  219. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
  220. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
  221. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
  222. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
  223. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
  224. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
  225. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
  226. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
  227. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
  228. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
  229. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
  230. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
  231. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
  232. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
  233. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
  234. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
  235. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
  236. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
  237. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
  238. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
  239. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
  240. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
  241. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
  242. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
  243. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
  244. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
  245. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
  246. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
  247. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
  248. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
  249. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
  250. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
  251. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
  252. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
  254. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
  257. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
  260. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
  263. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
  266. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
  270. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
  272. moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
  273. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
  274. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
  275. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
  276. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
  277. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
  278. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
  279. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
  280. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
  281. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
  282. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
  283. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
  284. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
  285. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
  286. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
  287. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
  288. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
  289. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
  290. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
  291. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
  292. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
  293. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
  294. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
  295. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
  297. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
  298. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
  304. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
  305. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
  306. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
  307. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
  308. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
  309. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
  310. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
  311. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
  312. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
  313. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
  314. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
  315. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
  316. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
  317. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
  318. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
  319. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
  320. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
  321. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
  322. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
  323. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
  324. moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
  325. moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
  326. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
  327. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
  328. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
  329. moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
  330. moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
  331. moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
  332. moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
  333. moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
  334. moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
  335. moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
  336. moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
  337. moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
  338. moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
  339. moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
  340. moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
  341. moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
  342. moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
  343. moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
  344. moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
  345. moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
  346. moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
  347. moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
  348. moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
  349. moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
  350. moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
  351. moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
  352. moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
  353. moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
  354. moai_adk/templates/.git-hooks/pre-commit +66 -0
  355. moai_adk/templates/.git-hooks/pre-push +255 -0
  356. moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
  357. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
  358. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
  359. moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
  360. moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
  361. moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
  362. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
  363. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
  364. moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
  365. moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
  366. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
  367. moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
  368. moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
  369. moai_adk/templates/.github/workflows/release.yml +118 -0
  370. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
  371. moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
  372. moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
  373. moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
  374. moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
  375. moai_adk/templates/.github/workflows/tag-report.yml +269 -0
  376. moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
  377. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
  378. moai_adk/templates/.mcp.json +31 -0
  379. moai_adk/templates/.moai/config.json +80 -7
  380. moai_adk/templates/CLAUDE.md +562 -546
  381. moai_adk/utils/banner.py +5 -5
  382. moai_adk/utils/common.py +294 -0
  383. moai_adk/utils/link_validator.py +235 -0
  384. moai_adk/utils/logger.py +8 -8
  385. moai_adk/utils/user_experience.py +451 -0
  386. moai_adk-0.20.1.dist-info/METADATA +233 -0
  387. moai_adk-0.20.1.dist-info/RECORD +404 -0
  388. moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
  389. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
  390. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
  391. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
  392. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
  393. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
  394. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
  395. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
  396. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
  397. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
  398. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
  399. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
  400. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
  401. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
  402. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
  403. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
  404. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
  405. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
  406. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
  407. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
  408. moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
  409. moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
  410. moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
  411. moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
  412. moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
  413. moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
  414. moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
  415. moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
  416. moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
  417. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
  418. moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
  419. moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
  420. moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
  421. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  422. moai_adk/templates/.moai/memory/development-guide.md +0 -344
  423. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
  424. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  425. moai_adk/templates/.moai/project/product.md +0 -161
  426. moai_adk/templates/.moai/project/structure.md +0 -156
  427. moai_adk/templates/.moai/project/tech.md +0 -227
  428. moai_adk/templates/__init__.py +0 -2
  429. moai_adk-0.4.5.dist-info/METADATA +0 -369
  430. moai_adk-0.4.5.dist-info/RECORD +0 -152
  431. {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
  432. {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
  433. {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,87 @@
1
+ # moai-project-config-manager
2
+
3
+ ## Overview
4
+
5
+ The `moai-project-config-manager` skill provides comprehensive configuration management for MoAI projects, handling all `.moai/config.json` CRUD operations with robust validation, error handling, and intelligent merge strategies.
6
+
7
+ ## Key Features
8
+
9
+ - **Complete CRUD Operations**: Create, Read, Update, Delete configuration sections
10
+ - **Validation Engine**: Pre-save validation for all configuration changes
11
+ - **Merge Strategy**: Preserve unmodified sections while updating selected ones
12
+ - **Error Recovery**: Handle missing files, invalid JSON, permission issues
13
+ - **Batch Updates**: Handle multiple setting changes in single operation
14
+ - **Backup & Restore**: Automatic backup before major changes
15
+ - **Interactive Workflows**: User-friendly setting modification with TUI surveys
16
+
17
+ ## Quick Start
18
+
19
+ ```python
20
+ # Interactive configuration management
21
+ Skill("moai-project-config-manager")
22
+
23
+ # Programmatic update
24
+ Skill("moai-project-config-manager", action="update", changes={
25
+ "language": {
26
+ "conversation_language": "en",
27
+ "conversation_language_name": "English"
28
+ }
29
+ })
30
+
31
+ # Validate configuration
32
+ Skill("moai-project-config-manager", action="validate")
33
+ ```
34
+
35
+ ## Configuration Sections Managed
36
+
37
+ 1. **Language Settings**: Conversation language and agent prompt language
38
+ 2. **User Settings**: User nickname and preferences
39
+ 3. **GitHub Settings**: Auto-delete branches and SPEC git workflow
40
+ 4. **Report Generation**: Enable/Minimal/Disable with token optimization
41
+ 5. **Project Domains**: Multi-select domain configuration
42
+
43
+ ## Files
44
+
45
+ - `SKILL.md` - Main skill documentation and workflow guide
46
+ - `reference.md` - Complete API reference and schema documentation
47
+ - `examples.md` - Comprehensive usage examples and integration patterns
48
+ - `validate.py` - Skill structure validation script
49
+
50
+ ## Integration
51
+
52
+ This skill integrates seamlessly with Alfred commands:
53
+ - `/alfred:0-project` - Project initialization and setting updates
54
+ - `/alfred:1-plan` - Configuration-aware planning
55
+ - `/alfred:2-run` - Configuration-guided execution
56
+ - `/alfred:3-sync` - Configuration synchronization
57
+
58
+ ## Validation
59
+
60
+ Run the included validation script to verify skill structure:
61
+
62
+ ```bash
63
+ python3 validate.py
64
+ ```
65
+
66
+ ## Size and Complexity
67
+
68
+ - **Total Documentation**: ~62KB (vs 600+ lines of original command)
69
+ - **Structured Approach**: Modular, reusable, maintainable
70
+ - **Comprehensive Coverage**: All configuration management workflows
71
+ - **Error Handling**: Robust error recovery and validation
72
+ - **Performance**: Optimized for fast operations and minimal resource usage
73
+
74
+ ## Benefits
75
+
76
+ 1. **Reduced Complexity**: Extracted 600+ line command into focused skill
77
+ 2. **Reusability**: Can be used across different Alfred commands
78
+ 3. **Maintainability**: Clear separation of concerns and documentation
79
+ 4. **Reliability**: Comprehensive validation and error handling
80
+ 5. **User Experience**: Interactive workflows with clear feedback
81
+
82
+ ---
83
+
84
+ **Generated by**: skill-factory agent
85
+ **Created**: 2025-11-05
86
+ **Version**: 1.0.0
87
+ **Status**: Production Ready
@@ -0,0 +1,552 @@
1
+ ---
2
+ name: moai-project-config-manager
3
+ version: 1.0.0
4
+ created: 2025-11-05
5
+ updated: 2025-11-05
6
+ status: active
7
+ description: Complete config.json CRUD operations with validation, merge strategy, and error recovery
8
+ freedom: medium
9
+ type: project
10
+ tags: [project, configuration, management, validation, crud]
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Edit
15
+ - AskUserQuestion
16
+ - Bash
17
+ ---
18
+
19
+ # Project Configuration Manager - Skill Guide
20
+
21
+ ## Skill Metadata
22
+
23
+ | Field | Value |
24
+ | ----- | ----- |
25
+ | **Skill Name** | moai-project-config-manager |
26
+ | **Version** | 1.0.0 (2025-11-05) |
27
+ | **Core Function** | Configuration file lifecycle management |
28
+ | **Scope** | All `.moai/config.json` operations |
29
+ | **Freedom** | Medium (guided automation) |
30
+
31
+ ---
32
+
33
+ ## What It Does
34
+
35
+ **Purpose**: Centralized management of all MoAI project configuration operations with robust validation, error handling, and intelligent merge strategies.
36
+
37
+ **Key capabilities**:
38
+ - ✅ **Complete CRUD**: Create, Read, Update, Delete configuration sections
39
+ - ✅ **Validation Engine**: Pre-save validation for all configuration changes
40
+ - ✅ **Merge Strategy**: Preserve unmodified sections while updating selected ones
41
+ - ✅ **Error Recovery**: Handle missing files, invalid JSON, permission issues
42
+ - ✅ **Batch Updates**: Handle multiple setting changes in single operation
43
+ - ✅ **Backup & Restore**: Automatic backup before major changes
44
+ - ✅ **Interactive Workflows**: User-friendly setting modification with TUI surveys
45
+
46
+ ---
47
+
48
+ ## Core Configuration Structure
49
+
50
+ The skill manages these main configuration sections:
51
+
52
+ ### 1. Language Settings
53
+ ```json
54
+ "language": {
55
+ "conversation_language": "ko|en|ja|zh",
56
+ "conversation_language_name": "한국어|English|日本語|中文",
57
+ "agent_prompt_language": "english|localized"
58
+ }
59
+ ```
60
+
61
+ ### 2. User Settings
62
+ ```json
63
+ "user": {
64
+ "nickname": "string (max 20 chars)"
65
+ }
66
+ ```
67
+
68
+ ### 3. GitHub Settings
69
+ ```json
70
+ "github": {
71
+ "auto_delete_branches": true|false,
72
+ "spec_git_workflow": "feature_branch|develop_direct|per_spec"
73
+ }
74
+ ```
75
+
76
+ ### 4. Report Generation
77
+ ```json
78
+ "report_generation": {
79
+ "enabled": true|false,
80
+ "auto_create": true|false,
81
+ "user_choice": "Enable|Minimal|Disable"
82
+ }
83
+ ```
84
+
85
+ ### 5. Project Domains
86
+ ```json
87
+ "stack": {
88
+ "selected_domains": ["frontend", "backend", "data", "devops", "security"]
89
+ }
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Workflow: Configuration Management Operations
95
+
96
+ ### Phase 1: Load & Validate
97
+
98
+ **Always validate before operations**:
99
+
100
+ ```python
101
+ # 1. Check file existence
102
+ if not Path(".moai/config.json").exists():
103
+ raise ConfigError("Configuration file not found")
104
+
105
+ # 2. Validate JSON structure
106
+ try:
107
+ config = json.loads(Path(".moai/config.json").read_text())
108
+ except json.JSONDecodeError as e:
109
+ raise ConfigError(f"Invalid JSON in config.json: {e}")
110
+
111
+ # 3. Validate required sections
112
+ required_sections = ["language", "github", "report_generation"]
113
+ for section in required_sections:
114
+ if section not in config:
115
+ raise ConfigError(f"Missing required section: {section}")
116
+ ```
117
+
118
+ ### Phase 2: Interactive Setting Selection
119
+
120
+ **Present setting modification options**:
121
+
122
+ ```
123
+ ## Current Project Settings
124
+
125
+ ✅ **Language**: [current value]
126
+ ✅ **Nickname**: [current value]
127
+ ✅ **Agent Prompt Language**: [current value]
128
+ ✅ **GitHub Auto-delete Branches**: [current value]
129
+ ✅ **SPEC Git Workflow**: [current value]
130
+ ✅ **Report Generation**: [current value]
131
+ ✅ **Selected Domains**: [current values]
132
+
133
+ Which settings would you like to modify?
134
+ ```
135
+
136
+ **Multi-select options** (AskUserQuestion):
137
+ 1. "🌍 Language & Agent Prompt Language"
138
+ 2. "👤 Nickname"
139
+ 3. "🔧 GitHub Settings"
140
+ 4. "📊 Report Generation"
141
+ 5. "🎯 Project Domains"
142
+
143
+ ### Phase 3: Collect New Values (Batched Questions)
144
+
145
+ **Language Section** (if selected):
146
+ ```python
147
+ Question 1: "Which conversation language do you prefer?"
148
+ Options: ["English", "한국어", "日本語", "中文"]
149
+
150
+ Question 2: "Which agent prompt language should Alfred use?"
151
+ Options: ["English (Global Standard)", "Selected Language (Localized)"]
152
+ ```
153
+
154
+ **Nickname Section** (if selected):
155
+ ```python
156
+ Question: "What would you like your nickname to be?"
157
+ Type: text_input (max 20 characters)
158
+ ```
159
+
160
+ **GitHub Section** (if selected):
161
+ ```python
162
+ Question 1: "Auto-delete branches after merge?"
163
+ Options: ["Yes, enable", "No, disable", "Keep current"]
164
+
165
+ Question 2: "SPEC git workflow preference?"
166
+ Options: ["Feature Branch + PR", "Direct Commit to Develop", "Decide per SPEC", "Keep current"]
167
+ ```
168
+
169
+ **Report Generation Section** (if selected):
170
+ ```python
171
+ Question: "Report generation preference?"
172
+ Options: [
173
+ "📊 Enable (Full reports with 50-60 tokens)",
174
+ "⚡ Minimal (Essential reports with 20-30 tokens)",
175
+ "🚫 Disable (No automatic reports, 0 tokens)"
176
+ ]
177
+ ```
178
+
179
+ **Project Domains Section** (if selected):
180
+ ```python
181
+ Question: "Select project domains?"
182
+ Options: ["frontend", "backend", "data", "devops", "security", "Clear all", "Keep current"]
183
+ Multi-select: true
184
+ ```
185
+
186
+ ### Phase 4: Intelligent Merge & Update
187
+
188
+ **Update strategy - preserve unmodified sections**:
189
+
190
+ ```python
191
+ def merge_config_updates(config, updates):
192
+ """Merge user updates into existing config"""
193
+ new_config = copy.deepcopy(config)
194
+
195
+ for section, changes in updates.items():
196
+ if section in new_config:
197
+ new_config[section].update(changes)
198
+ else:
199
+ new_config[section] = changes
200
+
201
+ return new_config
202
+ ```
203
+
204
+ **Update mappings**:
205
+
206
+ **Language Updates**:
207
+ ```python
208
+ language_code_map = {
209
+ "English": "en", "한국어": "ko", "日本語": "ja", "中文": "zh"
210
+ }
211
+ agent_language_map = {
212
+ "English (Global Standard)": "english",
213
+ "Selected Language (Localized)": "localized"
214
+ }
215
+ ```
216
+
217
+ **GitHub Updates**:
218
+ ```python
219
+ workflow_map = {
220
+ "Feature Branch + PR": "feature_branch",
221
+ "Direct Commit to Develop": "develop_direct",
222
+ "Decide per SPEC": "per_spec"
223
+ }
224
+ ```
225
+
226
+ **Report Updates**:
227
+ ```python
228
+ report_map = {
229
+ "📊 Enable": {"enabled": True, "auto_create": True, "user_choice": "Enable"},
230
+ "⚡ Minimal": {"enabled": True, "auto_create": False, "user_choice": "Minimal"},
231
+ "🚫 Disable": {"enabled": False, "auto_create": False, "user_choice": "Disable"}
232
+ }
233
+ ```
234
+
235
+ ### Phase 5: Validation & Save
236
+
237
+ **Pre-save validation**:
238
+ ```python
239
+ def validate_config(config):
240
+ """Validate configuration before saving"""
241
+ errors = []
242
+
243
+ # Validate language codes
244
+ valid_languages = ["en", "ko", "ja", "zh"]
245
+ if config.get("language", {}).get("conversation_language") not in valid_languages:
246
+ errors.append("Invalid conversation language")
247
+
248
+ # Validate nickname length
249
+ nickname = config.get("user", {}).get("nickname", "")
250
+ if len(nickname) > 20:
251
+ errors.append("Nickname exceeds 20 characters")
252
+
253
+ # Validate GitHub workflow
254
+ valid_workflows = ["feature_branch", "develop_direct", "per_spec"]
255
+ if config.get("github", {}).get("spec_git_workflow") not in valid_workflows:
256
+ errors.append("Invalid SPEC git workflow")
257
+
258
+ return errors
259
+ ```
260
+
261
+ **Atomic save with backup**:
262
+ ```python
263
+ def save_config_safely(config):
264
+ """Save configuration with automatic backup"""
265
+ # Create backup
266
+ timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
267
+ backup_path = f".moai/config.backup.{timestamp}.json"
268
+ shutil.copy2(".moai/config.json", backup_path)
269
+
270
+ try:
271
+ # Validate before save
272
+ errors = validate_config(config)
273
+ if errors:
274
+ raise ConfigError(f"Validation failed: {errors}")
275
+
276
+ # Atomic write
277
+ with open(".moai/config.json.tmp", "w") as f:
278
+ json.dump(config, f, indent=2, ensure_ascii=False)
279
+
280
+ os.replace(".moai/config.json.tmp", ".moai/config.json")
281
+
282
+ except Exception as e:
283
+ # Restore from backup on error
284
+ shutil.copy2(backup_path, ".moai/config.json")
285
+ raise ConfigError(f"Save failed, restored backup: {e}")
286
+ ```
287
+
288
+ ---
289
+
290
+ ## Error Handling & Recovery
291
+
292
+ ### Common Error Scenarios
293
+
294
+ **1. Missing Configuration File**
295
+ ```python
296
+ if not Path(".moai/config.json").exists():
297
+ # Create default configuration
298
+ default_config = create_default_config()
299
+ save_config_safely(default_config)
300
+ return "Created new configuration file with defaults"
301
+ ```
302
+
303
+ **2. Invalid JSON**
304
+ ```python
305
+ try:
306
+ config = json.loads(config_content)
307
+ except json.JSONDecodeError:
308
+ # Try to repair common JSON issues
309
+ repaired = attempt_json_repair(config_content)
310
+ if repaired:
311
+ config = json.loads(repaired)
312
+ save_config_safely(config)
313
+ else:
314
+ raise ConfigError("Cannot repair invalid JSON")
315
+ ```
316
+
317
+ **3. Permission Issues**
318
+ ```python
319
+ try:
320
+ save_config_safely(config)
321
+ except PermissionError:
322
+ # Try to fix permissions
323
+ os.chmod(".moai", 0o755)
324
+ os.chmod(".moai/config.json", 0o644)
325
+ save_config_safely(config)
326
+ except Exception as e:
327
+ raise ConfigError(f"Permission denied: {e}")
328
+ ```
329
+
330
+ ### Validation Rules
331
+
332
+ **Language Settings**:
333
+ - `conversation_language`: Must be one of ["en", "ko", "ja", "zh"]
334
+ - `conversation_language_name`: Must match language code
335
+ - `agent_prompt_language`: Must be "english" or "localized"
336
+
337
+ **User Settings**:
338
+ - `nickname`: Max 20 characters, no special chars
339
+
340
+ **GitHub Settings**:
341
+ - `auto_delete_branches`: Must be boolean
342
+ - `spec_git_workflow`: Must be one of ["feature_branch", "develop_direct", "per_spec"]
343
+
344
+ **Report Settings**:
345
+ - `enabled`: Must be boolean
346
+ - `auto_create`: Must be boolean
347
+ - `user_choice`: Must be one of ["Enable", "Minimal", "Disable"]
348
+
349
+ **Domain Settings**:
350
+ - `selected_domains`: Must be array of valid domain strings
351
+
352
+ ---
353
+
354
+ ## Usage Examples
355
+
356
+ ### Basic Configuration Update
357
+ ```python
358
+ # Load current configuration
359
+ Skill("moai-project-config-manager")
360
+
361
+ # Interactive workflow:
362
+ # 1. Display current settings
363
+ # 2. User selects sections to modify
364
+ # 3. Collect new values
365
+ # 4. Validate and merge changes
366
+ # 5. Save with backup
367
+ ```
368
+
369
+ ### Programmatic Updates
370
+ ```python
371
+ # Direct configuration update (non-interactive)
372
+ updates = {
373
+ "language": {
374
+ "conversation_language": "en",
375
+ "conversation_language_name": "English"
376
+ }
377
+ }
378
+
379
+ Skill("moai-project-config-manager", action="update", changes=updates)
380
+ ```
381
+
382
+ ### Configuration Validation
383
+ ```python
384
+ # Validate existing configuration
385
+ result = Skill("moai-project-config-manager", action="validate")
386
+ if result.errors:
387
+ print(f"Configuration errors: {result.errors}")
388
+ else:
389
+ print("Configuration is valid")
390
+ ```
391
+
392
+ ### Configuration Backup
393
+ ```python
394
+ # Create manual backup
395
+ backup_path = Skill("moai-project-config-manager", action="backup")
396
+ print(f"Configuration backed up to: {backup_path}")
397
+ ```
398
+
399
+ ---
400
+
401
+ ## Best Practices
402
+
403
+ ### 1. Always Validate
404
+ - Validate before every save operation
405
+ - Check JSON structure, required fields, and value constraints
406
+ - Provide clear error messages for validation failures
407
+
408
+ ### 2. Preserve Data
409
+ - Always use merge strategy, never overwrite entire config
410
+ - Create backups before major changes
411
+ - Maintain backward compatibility
412
+
413
+ ### 3. User Experience
414
+ - Show current values before asking for changes
415
+ - Group related settings together
416
+ - Use clear, descriptive option labels
417
+ - Provide progress feedback during operations
418
+
419
+ ### 4. Error Recovery
420
+ - Automatic backup creation
421
+ - Graceful degradation on errors
422
+ - Clear error messages with recovery suggestions
423
+ - Rollback capability for failed operations
424
+
425
+ ---
426
+
427
+ ## Integration Points
428
+
429
+ ### With Alfred Commands
430
+ - **`/alfred:0-project`**: Use for project initialization and setting updates
431
+ - **`/alfred:1-plan`**: Access configuration for planning decisions
432
+ - **`/alfred:2-run`**: Use configuration during execution
433
+ - **`/alfred:3-sync`**: Update configuration based on project changes
434
+
435
+ ### With Other Skills
436
+ - **`moai-alfred-ask-user-questions`**: Use for interactive setting collection
437
+ - **`moai-skill-factory`**: Integrate with skill configuration management
438
+ - **Domain-specific skills**: Respect configuration settings for behavior
439
+
440
+ ---
441
+
442
+ ## Configuration Schema Reference
443
+
444
+ Complete configuration schema with validation rules:
445
+
446
+ ```json
447
+ {
448
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
449
+ "type": "object",
450
+ "properties": {
451
+ "language": {
452
+ "type": "object",
453
+ "properties": {
454
+ "conversation_language": {
455
+ "type": "string",
456
+ "enum": ["en", "ko", "ja", "zh"]
457
+ },
458
+ "conversation_language_name": {
459
+ "type": "string",
460
+ "enum": ["English", "한국어", "日本語", "中文"]
461
+ },
462
+ "agent_prompt_language": {
463
+ "type": "string",
464
+ "enum": ["english", "localized"]
465
+ }
466
+ },
467
+ "required": ["conversation_language", "conversation_language_name", "agent_prompt_language"]
468
+ },
469
+ "user": {
470
+ "type": "object",
471
+ "properties": {
472
+ "nickname": {
473
+ "type": "string",
474
+ "maxLength": 20,
475
+ "pattern": "^[a-zA-Z0-9가-힣ぁ-ゔ一-龯\\s]+$"
476
+ }
477
+ }
478
+ },
479
+ "github": {
480
+ "type": "object",
481
+ "properties": {
482
+ "auto_delete_branches": {"type": "boolean"},
483
+ "spec_git_workflow": {
484
+ "type": "string",
485
+ "enum": ["feature_branch", "develop_direct", "per_spec"]
486
+ }
487
+ }
488
+ },
489
+ "report_generation": {
490
+ "type": "object",
491
+ "properties": {
492
+ "enabled": {"type": "boolean"},
493
+ "auto_create": {"type": "boolean"},
494
+ "user_choice": {
495
+ "type": "string",
496
+ "enum": ["Enable", "Minimal", "Disable"]
497
+ }
498
+ }
499
+ },
500
+ "stack": {
501
+ "type": "object",
502
+ "properties": {
503
+ "selected_domains": {
504
+ "type": "array",
505
+ "items": {
506
+ "type": "string",
507
+ "enum": ["frontend", "backend", "data", "devops", "security"]
508
+ }
509
+ }
510
+ }
511
+ }
512
+ },
513
+ "required": ["language", "github", "report_generation"]
514
+ }
515
+ ```
516
+
517
+ ---
518
+
519
+ ## Troubleshooting
520
+
521
+ ### Common Issues
522
+
523
+ **Configuration not saving**:
524
+ 1. Check file permissions on `.moai/` directory
525
+ 2. Verify JSON syntax with online validator
526
+ 3. Check for disk space availability
527
+ 4. Look for backup files in `.moai/`
528
+
529
+ **Validation errors**:
530
+ 1. Review error messages for specific constraint violations
531
+ 2. Check configuration schema reference
532
+ 3. Verify all required fields are present
533
+ 4. Ensure data types match schema
534
+
535
+ **Merge conflicts**:
536
+ 1. Recent changes may overwrite manual edits
537
+ 2. Check backup files for previous versions
538
+ 3. Use `action="diff"` to see changes before applying
539
+ 4. Manual edit may be required for complex conflicts
540
+
541
+ ### Debug Mode
542
+
543
+ Enable debug logging:
544
+ ```python
545
+ Skill("moai-project-config-manager", debug=True)
546
+ ```
547
+
548
+ This provides detailed output for:
549
+ - Configuration loading steps
550
+ - Validation process details
551
+ - Merge operation results
552
+ - Save operation status