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,514 @@
1
+ # Project Configuration Manager - Reference Documentation
2
+
3
+ ## Core API Reference
4
+
5
+ ### Skill Invocation
6
+
7
+ ```python
8
+ Skill("moai-project-config-manager")
9
+ ```
10
+
11
+ **Parameters**:
12
+ - `action` (optional): Operation type
13
+ - `"interactive"` (default): Full interactive configuration workflow
14
+ - `"update"`: Programmatic configuration update
15
+ - `"validate"`: Validate existing configuration
16
+ - `"backup"`: Create configuration backup
17
+ - `"restore"`: Restore from backup
18
+ - `"diff"`: Show changes before applying
19
+
20
+ - `changes` (optional): Dictionary of configuration changes for non-interactive updates
21
+ - `backup_path` (optional): Specific backup file to restore from
22
+ - `debug` (optional): Enable detailed logging (boolean)
23
+
24
+ ### Configuration File Path
25
+
26
+ ```
27
+ .moai/config.json
28
+ ```
29
+
30
+ ### Backup File Pattern
31
+
32
+ ```
33
+ .moai/config.backup.YYYYMMDD_HHMMSS.json
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Configuration Schema
39
+
40
+ ### Complete Schema Definition
41
+
42
+ ```json
43
+ {
44
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
45
+ "type": "object",
46
+ "properties": {
47
+ "language": {
48
+ "type": "object",
49
+ "description": "Language settings for conversation and agent prompts",
50
+ "properties": {
51
+ "conversation_language": {
52
+ "type": "string",
53
+ "enum": ["en", "ko", "ja", "zh"],
54
+ "description": "ISO language code for user conversations"
55
+ },
56
+ "conversation_language_name": {
57
+ "type": "string",
58
+ "enum": ["English", "ķ•œźµ­ģ–“", "ę—„ęœ¬čŖž", "äø­ę–‡"],
59
+ "description": "Display name for conversation language"
60
+ },
61
+ "agent_prompt_language": {
62
+ "type": "string",
63
+ "enum": ["english", "localized"],
64
+ "description": "Language for Alfred agent prompts"
65
+ }
66
+ },
67
+ "required": ["conversation_language", "conversation_language_name", "agent_prompt_language"]
68
+ },
69
+
70
+ "user": {
71
+ "type": "object",
72
+ "description": "User-specific settings",
73
+ "properties": {
74
+ "nickname": {
75
+ "type": "string",
76
+ "maxLength": 20,
77
+ "pattern": "^[a-zA-Z0-9ź°€-ķž£ć-ゔ一-龯\\s]+$",
78
+ "description": "User nickname for display in reports and interactions"
79
+ }
80
+ }
81
+ },
82
+
83
+ "github": {
84
+ "type": "object",
85
+ "description": "GitHub integration settings",
86
+ "properties": {
87
+ "auto_delete_branches": {
88
+ "type": "boolean",
89
+ "description": "Automatically delete feature branches after PR merge"
90
+ },
91
+ "spec_git_workflow": {
92
+ "type": "string",
93
+ "enum": ["feature_branch", "develop_direct", "per_spec"],
94
+ "description": "Git workflow strategy for SPEC development"
95
+ }
96
+ }
97
+ },
98
+
99
+ "report_generation": {
100
+ "type": "object",
101
+ "description": "Automatic report generation settings",
102
+ "properties": {
103
+ "enabled": {
104
+ "type": "boolean",
105
+ "description": "Enable/disable automatic report generation"
106
+ },
107
+ "auto_create": {
108
+ "type": "boolean",
109
+ "description": "Create full (true) or minimal (false) reports"
110
+ },
111
+ "user_choice": {
112
+ "type": "string",
113
+ "enum": ["Enable", "Minimal", "Disable"],
114
+ "description": "User's preferred report generation level"
115
+ },
116
+ "updated_at": {
117
+ "type": "string",
118
+ "format": "date-time",
119
+ "description": "Timestamp of last report setting update"
120
+ }
121
+ }
122
+ },
123
+
124
+ "stack": {
125
+ "type": "object",
126
+ "description": "Technology stack and domain settings",
127
+ "properties": {
128
+ "selected_domains": {
129
+ "type": "array",
130
+ "items": {
131
+ "type": "string",
132
+ "enum": ["frontend", "backend", "data", "devops", "security"]
133
+ },
134
+ "description": "Selected project domains for specialization"
135
+ },
136
+ "domain_selection_date": {
137
+ "type": "string",
138
+ "format": "date-time",
139
+ "description": "Timestamp of last domain selection update"
140
+ }
141
+ }
142
+ }
143
+ },
144
+ "required": ["language", "github", "report_generation"]
145
+ }
146
+ ```
147
+
148
+ ### Field Value Mappings
149
+
150
+ #### Language Code Mapping
151
+ | Display Name | Code | Description |
152
+ |--------------|------|-------------|
153
+ | English | en | Global standard language |
154
+ | ķ•œźµ­ģ–“ | ko | Korean language |
155
+ | ę—„ęœ¬čŖž | ja | Japanese language |
156
+ | äø­ę–‡ | zh | Chinese language |
157
+
158
+ #### Agent Prompt Language Mapping
159
+ | Display Name | Code | Description |
160
+ |--------------|------|-------------|
161
+ | English (Global Standard) | english | All prompts in English for stability |
162
+ | Selected Language (Localized) | localized | Prompts in user's conversation language |
163
+
164
+ #### Git Workflow Mapping
165
+ | Display Name | Code | Description |
166
+ |--------------|------|-------------|
167
+ | Feature Branch + PR | feature_branch | Create feature branch → PR → develop merge |
168
+ | Direct Commit to Develop | develop_direct | Commit directly to develop branch |
169
+ | Decide per SPEC | per_spec | Choose workflow per SPEC |
170
+
171
+ #### Report Generation Mapping
172
+ | Display Name | Settings | Description |
173
+ |--------------|----------|-------------|
174
+ | šŸ“Š Enable | enabled=true, auto_create=true | Full reports with 50-60 tokens |
175
+ | ⚔ Minimal | enabled=true, auto_create=false | Essential reports with 20-30 tokens |
176
+ | 🚫 Disable | enabled=false, auto_create=false | No automatic reports, 0 tokens |
177
+
178
+ ---
179
+
180
+ ## Error Codes and Handling
181
+
182
+ ### Error Types
183
+
184
+ | Error Code | Description | Recovery Action |
185
+ |------------|-------------|-----------------|
186
+ | CONFIG_NOT_FOUND | `.moai/config.json` doesn't exist | Create default config |
187
+ | INVALID_JSON | Configuration file has invalid JSON syntax | Attempt JSON repair or recreate |
188
+ | VALIDATION_FAILED | Configuration fails schema validation | Fix validation errors |
189
+ | PERMISSION_DENIED | Cannot write to configuration file | Fix file permissions |
190
+ | BACKUP_FAILED | Cannot create backup file | Check disk space and permissions |
191
+ | RESTORE_FAILED | Cannot restore from backup | Verify backup file integrity |
192
+
193
+ ### Validation Error Details
194
+
195
+ #### Language Validation Errors
196
+ - `INVALID_LANGUAGE_CODE`: conversation_language not in allowed values
197
+ - `MISMATCHED_LANGUAGE_NAME`: conversation_language_name doesn't match code
198
+ - `INVALID_AGENT_LANGUAGE`: agent_prompt_language not in allowed values
199
+
200
+ #### User Validation Errors
201
+ - `NICKNAME_TOO_LONG`: nickname exceeds 20 characters
202
+ - `INVALID_NICKNAME_CHARS`: nickname contains invalid characters
203
+
204
+ #### GitHub Validation Errors
205
+ - `INVALID_WORKFLOW`: spec_git_workflow not in allowed values
206
+ - `INVALID_BOOLEAN_SETTING`: auto_delete_branches not boolean
207
+
208
+ #### Report Validation Errors
209
+ - `INVALID_REPORT_CHOICE`: user_choice not in allowed values
210
+ - `INCONSISTENT_REPORT_SETTINGS`: enabled/auto_create don't match user_choice
211
+
212
+ #### Domain Validation Errors
213
+ - `INVALID_DOMAIN`: selected_domains contains invalid domain name
214
+ - `INVALID_DOMAIN_TYPE`: selected_domains is not an array
215
+
216
+ ---
217
+
218
+ ## Operation Details
219
+
220
+ ### Interactive Mode Workflow
221
+
222
+ 1. **Configuration Loading**
223
+ - Load existing `.moai/config.json`
224
+ - Validate JSON structure and schema
225
+ - Display current settings
226
+
227
+ 2. **Setting Selection**
228
+ - Present 5 setting groups for modification
229
+ - User selects one or more groups (multi-select)
230
+ - Proceed only if at least one group selected
231
+
232
+ 3. **Value Collection**
233
+ - Ask questions only for selected groups
234
+ - Batch related questions together
235
+ - Map user responses to configuration values
236
+
237
+ 4. **Merge and Validation**
238
+ - Merge new values with existing configuration
239
+ - Validate updated configuration
240
+ - Create automatic backup
241
+
242
+ 5. **Save Operation**
243
+ - Atomic write with temporary file
244
+ - Replace original file on success
245
+ - Restore from backup on failure
246
+
247
+ ### Programmatic Update Mode
248
+
249
+ ```python
250
+ # Example: Update language settings
251
+ updates = {
252
+ "language": {
253
+ "conversation_language": "en",
254
+ "conversation_language_name": "English",
255
+ "agent_prompt_language": "english"
256
+ }
257
+ }
258
+
259
+ result = Skill(
260
+ "moai-project-config-manager",
261
+ action="update",
262
+ changes=updates
263
+ )
264
+
265
+ # Returns:
266
+ # {
267
+ # "success": True,
268
+ # "changes_applied": ["language.conversation_language", ...],
269
+ # "backup_path": ".moai/config.backup.20251105_123456.json",
270
+ # "validation_errors": []
271
+ # }
272
+ ```
273
+
274
+ ### Validation Mode
275
+
276
+ ```python
277
+ result = Skill("moai-project-config-manager", action="validate")
278
+
279
+ # Returns:
280
+ # {
281
+ # "valid": False,
282
+ # "errors": [
283
+ # {
284
+ # "field": "language.conversation_language",
285
+ # "message": "Invalid language code: 'fr'",
286
+ # "allowed_values": ["en", "ko", "ja", "zh"]
287
+ # }
288
+ # ],
289
+ # "warnings": [
290
+ # {
291
+ # "field": "user.nickname",
292
+ # "message": "Nickname is empty"
293
+ # }
294
+ # ]
295
+ # }
296
+ ```
297
+
298
+ ### Backup and Restore
299
+
300
+ ```python
301
+ # Create backup
302
+ backup_result = Skill("moai-project-config-manager", action="backup")
303
+ # Returns: {"backup_path": ".moai/config.backup.20251105_123456.json"}
304
+
305
+ # List available backups
306
+ backups = Skill("moai-project-config-manager", action="list_backups")
307
+ # Returns: {".moai/config.backup.20251105_123456.json": "2025-11-05 12:34:56", ...}
308
+
309
+ # Restore from backup
310
+ restore_result = Skill(
311
+ "moai-project-config-manager",
312
+ action="restore",
313
+ backup_path=".moai/config.backup.20251105_123456.json"
314
+ )
315
+ # Returns: {"success": True, "restored_from": "..."}
316
+ ```
317
+
318
+ ### Diff Mode
319
+
320
+ ```python
321
+ diff_result = Skill(
322
+ "moai-project-config-manager",
323
+ action="diff",
324
+ changes={"language": {"conversation_language": "en"}}
325
+ )
326
+
327
+ # Returns:
328
+ # {
329
+ # "changes": [
330
+ # {
331
+ # "path": "language.conversation_language",
332
+ # "old": "ko",
333
+ # "new": "en",
334
+ # "type": "value_change"
335
+ # }
336
+ # ],
337
+ # "summary": "1 field will be updated"
338
+ # }
339
+ ```
340
+
341
+ ---
342
+
343
+ ## Integration Examples
344
+
345
+ ### With Alfred Commands
346
+
347
+ **Project Initialization**:
348
+ ```python
349
+ # In /alfred:0-project command
350
+ if not Path(".moai/config.json").exists():
351
+ Skill("moai-project-config-manager", action="create_default")
352
+ ```
353
+
354
+ **Setting Modification**:
355
+ ```python
356
+ # In /alfred:0-project setting subcommand
357
+ Skill("moai-project-config-manager") # Interactive mode
358
+ ```
359
+
360
+ **Configuration Validation**:
361
+ ```python
362
+ # In any Alfred command before using config
363
+ validation = Skill("moai-project-config-manager", action="validate")
364
+ if not validation["valid"]:
365
+ print(f"Configuration errors: {validation['errors']}")
366
+ return
367
+ ```
368
+
369
+ ### With Other Skills
370
+
371
+ **Language-Aware Skills**:
372
+ ```python
373
+ config = load_config(".moai/config.json")
374
+ language = config["language"]["conversation_language"]
375
+
376
+ if language == "ko":
377
+ # Use Korean responses
378
+ response = generate_korean_response(prompt)
379
+ else:
380
+ # Use English responses
381
+ response = generate_english_response(prompt)
382
+ ```
383
+
384
+ **Report Generation Skills**:
385
+ ```python
386
+ config = load_config(".moai/config.json")
387
+ report_settings = config["report_generation"]
388
+
389
+ if report_settings["enabled"]:
390
+ if report_settings["auto_create"]:
391
+ generate_full_report()
392
+ else:
393
+ generate_minimal_report()
394
+ ```
395
+
396
+ ---
397
+
398
+ ## Debug and Troubleshooting
399
+
400
+ ### Debug Mode Usage
401
+
402
+ ```python
403
+ # Enable debug logging
404
+ result = Skill("moai-project-config-manager", debug=True)
405
+
406
+ # Debug output includes:
407
+ # - Configuration loading steps
408
+ # - Validation process details
409
+ # - Merge operation results
410
+ # - File operation details
411
+ # - Error stack traces
412
+ ```
413
+
414
+ ### Common Debug Scenarios
415
+
416
+ **Configuration Loading Issues**:
417
+ ```debug
418
+ DEBUG: Loading configuration from .moai/config.json
419
+ DEBUG: File size: 2048 bytes
420
+ DEBUG: JSON parsing successful
421
+ DEBUG: Schema validation passed
422
+ ```
423
+
424
+ **Validation Failures**:
425
+ ```debug
426
+ DEBUG: Validating configuration
427
+ ERROR: Field 'language.conversation_language' has invalid value 'fr'
428
+ ERROR: Allowed values: ['en', 'ko', 'ja', 'zh']
429
+ DEBUG: Validation failed with 1 errors
430
+ ```
431
+
432
+ **File Operation Issues**:
433
+ ```debug
434
+ DEBUG: Creating backup .moai/config.backup.20251105_123456.json
435
+ DEBUG: Writing temporary file .moai/config.json.tmp
436
+ DEBUG: Atomic replace operation
437
+ ERROR: Permission denied when writing .moai/config.json
438
+ DEBUG: Attempting to restore from backup
439
+ ```
440
+
441
+ ### Manual Configuration Repair
442
+
443
+ If the skill cannot automatically repair issues:
444
+
445
+ 1. **JSON Syntax Errors**:
446
+ ```bash
447
+ # Validate JSON syntax
448
+ python3 -m json.tool .moai/config.json
449
+
450
+ # If valid, backup and manually edit
451
+ cp .moai/config.json .moai/config.backup.manual.json
452
+ # Edit .moai/config.json with proper JSON
453
+ ```
454
+
455
+ 2. **Schema Validation**:
456
+ ```bash
457
+ # Use online JSON schema validator
458
+ # Upload .moai/config.json and the schema from reference.md
459
+ ```
460
+
461
+ 3. **Permission Issues**:
462
+ ```bash
463
+ # Fix directory permissions
464
+ chmod 755 .moai/
465
+ chmod 644 .moai/config.json
466
+ ```
467
+
468
+ ---
469
+
470
+ ## Performance Considerations
471
+
472
+ ### Configuration Loading
473
+ - Average time: < 10ms for typical configuration files
474
+ - Memory usage: < 1MB for configuration in memory
475
+ - File I/O: Optimized with single read/write operations
476
+
477
+ ### Validation Performance
478
+ - Schema validation: < 5ms for typical configurations
479
+ - Custom validation rules: < 2ms per rule
480
+ - Batch validation: Validated all sections in parallel
481
+
482
+ ### Backup Operations
483
+ - Backup creation: < 50ms for typical configurations
484
+ - Backup storage: Uses copy-on-write for efficiency
485
+ - Cleanup: Automatic cleanup of backups older than 30 days
486
+
487
+ ### Recommended Limits
488
+ - Configuration file size: < 100KB recommended
489
+ - Number of backup files: < 50 recommended
490
+ - Concurrent operations: 1 at a time (file locking)
491
+
492
+ ---
493
+
494
+ ## Security Considerations
495
+
496
+ ### File Access Security
497
+ - Configuration files should have restrictive permissions (644)
498
+ - Backup files inherit same permissions as original
499
+ - Temporary files are created with secure permissions
500
+
501
+ ### Input Validation
502
+ - All user inputs are validated against schema
503
+ - Special characters are sanitized in text inputs
504
+ - File paths are validated to prevent directory traversal
505
+
506
+ ### Backup Security
507
+ - Backup files contain sensitive configuration data
508
+ - Backups should be included in .gitignore
509
+ - Consider encryption for highly sensitive configurations
510
+
511
+ ### Audit Trail
512
+ - All configuration changes are logged with timestamps
513
+ - Backup files provide change history
514
+ - Operation logs include user context when available
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Validate the moai-project-config-manager skill structure and metadata
4
+ """
5
+
6
+ from pathlib import Path
7
+
8
+ import yaml
9
+
10
+
11
+ def validate_skill():
12
+ """Validate skill structure and metadata"""
13
+
14
+ print("šŸ” Validating moai-project-config-manager skill...")
15
+
16
+ skill_dir = Path(__file__).parent
17
+ skill_file = skill_dir / "SKILL.md"
18
+
19
+ if not skill_file.exists():
20
+ print("āŒ SKILL.md not found")
21
+ return False
22
+
23
+ # Read and parse frontmatter
24
+ with open(skill_file, 'r') as f:
25
+ content = f.read()
26
+
27
+ # Extract frontmatter
28
+ if content.startswith('---'):
29
+ try:
30
+ end_index = content.find('---', 3)
31
+ frontmatter_str = content[3:end_index].strip()
32
+ frontmatter = yaml.safe_load(frontmatter_str)
33
+
34
+ print("āœ… Frontmatter parsed successfully")
35
+
36
+ # Validate required fields
37
+ required_fields = ['name', 'version', 'description', 'freedom', 'type', 'tags']
38
+ missing_fields = [field for field in required_fields if field not in frontmatter]
39
+
40
+ if missing_fields:
41
+ print(f"āŒ Missing required fields: {missing_fields}")
42
+ return False
43
+
44
+ print("āœ… All required fields present")
45
+
46
+ # Validate field values
47
+ if frontmatter['name'] != 'moai-project-config-manager':
48
+ print(f"āŒ Incorrect skill name: {frontmatter['name']}")
49
+ return False
50
+
51
+ if frontmatter['type'] != 'project':
52
+ print(f"āŒ Incorrect skill type: {frontmatter['type']}")
53
+ return False
54
+
55
+ if frontmatter['freedom'] not in ['low', 'medium', 'high']:
56
+ print(f"āŒ Invalid freedom level: {frontmatter['freedom']}")
57
+ return False
58
+
59
+ if not isinstance(frontmatter['tags'], list):
60
+ print(f"āŒ Tags must be a list: {frontmatter['tags']}")
61
+ return False
62
+
63
+ print("āœ… Field values validated")
64
+
65
+ # Check expected tags
66
+ expected_tags = ['project', 'configuration', 'management']
67
+ has_expected_tags = any(tag in frontmatter['tags'] for tag in expected_tags)
68
+
69
+ if not has_expected_tags:
70
+ print(f"āš ļø Missing expected tags: {expected_tags}")
71
+ else:
72
+ print("āœ… Expected tags present")
73
+
74
+ except yaml.YAMLError as e:
75
+ print(f"āŒ Failed to parse frontmatter: {e}")
76
+ return False
77
+
78
+ # Check for required files
79
+ required_files = ['SKILL.md', 'reference.md', 'examples.md']
80
+ missing_files = [f for f in required_files if not (skill_dir / f).exists()]
81
+
82
+ if missing_files:
83
+ print(f"āŒ Missing required files: {missing_files}")
84
+ return False
85
+
86
+ print("āœ… All required files present")
87
+
88
+ # Validate file sizes
89
+ for file_name in required_files:
90
+ file_path = skill_dir / file_name
91
+ size_kb = file_path.stat().st_size / 1024
92
+
93
+ if file_name == 'SKILL.md' and size_kb < 10:
94
+ print(f"āš ļø {file_name} seems small: {size_kb:.1f}KB")
95
+ elif file_name == 'reference.md' and size_kb < 5:
96
+ print(f"āš ļø {file_name} seems small: {size_kb:.1f}KB")
97
+ elif file_name == 'examples.md' and size_kb < 5:
98
+ print(f"āš ļø {file_name} seems small: {size_kb:.1f}KB")
99
+ else:
100
+ print(f"āœ… {file_name}: {size_kb:.1f}KB")
101
+
102
+ print("\nšŸŽ‰ Skill validation completed successfully!")
103
+ return True
104
+
105
+ if __name__ == "__main__":
106
+ validate_skill()
@@ -0,0 +1,11 @@
1
+ # Project Documentation
2
+
3
+ Comprehensive guidelines for creating and maintaining project documentation with proper structure and standards.
4
+
5
+ ## Essential Documentation
6
+
7
+ Every project should have:
8
+ 1. README.md - Project overview and getting started
9
+ 2. CHANGELOG.md - Version history and changes
10
+ 3. CONTRIBUTING.md - Development guidelines
11
+ 4. LICENSE - License information