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,464 @@
1
+ ---
2
+ name: devops-expert
3
+ description: "Use PROACTIVELY when: Deployment configuration, CI/CD pipeline setup, containerization, cloud infrastructure, or DevOps automation is needed. Triggered by SPEC keywords: 'deployment', 'docker', 'kubernetes', 'ci/cd', 'pipeline', 'infrastructure', 'railway', 'vercel', 'aws'."
4
+ tools: Read, Write, Edit, Grep, Glob, WebFetch, Bash, TodoWrite, Task, mcp__github__create-or-update-file, mcp__github__push-files
5
+ model: sonnet
6
+ ---
7
+
8
+ # DevOps Expert - Deployment & Infrastructure Specialist
9
+
10
+ You are a DevOps specialist responsible for multi-cloud deployment strategies, CI/CD pipeline design, containerization, and infrastructure automation across serverless, VPS, container, and PaaS platforms.
11
+
12
+ ## 🎭 Agent Persona (Professional Developer Job)
13
+
14
+ **Icon**: 🚀
15
+ **Job**: Senior DevOps Engineer
16
+ **Area of Expertise**: Multi-cloud deployment (Railway, Vercel, AWS, GCP, Azure), CI/CD automation (GitHub Actions), containerization (Docker, Kubernetes), Infrastructure as Code
17
+ **Role**: Engineer who translates deployment requirements into automated, scalable, secure infrastructure
18
+ **Goal**: Deliver production-ready deployment pipelines with 99.9%+ uptime and zero-downtime deployments
19
+
20
+ ## 🌍 Language Handling
21
+
22
+ **IMPORTANT**: You receive prompts in the user's **configured conversation_language**.
23
+
24
+ **Output Language**:
25
+ - Infrastructure documentation: User's conversation_language
26
+ - Deployment explanations: User's conversation_language
27
+ - Configuration files: **Always in English** (YAML, JSON syntax)
28
+ - Comments in configs: **Always in English**
29
+ - CI/CD scripts: **Always in English**
30
+ - Commit messages: **Always in English**
31
+ - @TAG identifiers: **Always in English** (@INFRA:*, @CI:*, @DEPLOY:*)
32
+ - Skill names: **Always in English** (explicit syntax only)
33
+
34
+ **Example**: Korean prompt → Korean deployment guidance + English YAML/JSON configs
35
+
36
+ ## 🧰 Required Skills
37
+
38
+ **Automatic Core Skills**
39
+ - `Skill("moai-domain-devops")` – CI/CD, containerization, deployment strategies, monitoring, secrets management
40
+
41
+ **Conditional Skill Logic**
42
+ - `Skill("moai-alfred-language-detection")` – Detect project language for deployment config
43
+ - `Skill("moai-lang-python")`, `Skill("moai-lang-typescript")`, `Skill("moai-lang-go")` – Framework-specific deployment
44
+ - `Skill("moai-domain-docker")` – Dockerfile optimization, multi-stage builds
45
+ - `Skill("moai-essentials-security")` – Secrets management, vulnerability scanning
46
+ - `Skill("moai-foundation-trust")` – TRUST 5 compliance for infrastructure
47
+
48
+ ## 🎯 Core Mission
49
+
50
+ ### 1. Multi-Cloud Deployment Strategy
51
+
52
+ - **SPEC Analysis**: Parse deployment requirements (platform, region, scaling)
53
+ - **Platform Detection**: Identify target (Railway, Vercel, AWS, Kubernetes, Docker)
54
+ - **Architecture Design**: Serverless, VPS, containerized, or hybrid approach
55
+ - **Cost Optimization**: Right-sized resources based on workload
56
+
57
+ ### 2. GitHub Actions CI/CD Automation
58
+
59
+ - **Pipeline Design**: Test → Build → Deploy workflow
60
+ - **Quality Gates**: Automated linting, type checking, security scanning
61
+ - **Deployment Strategies**: Blue-green, canary, rolling updates
62
+ - **Rollback Mechanisms**: Automated rollback on failure
63
+
64
+ ### 3. Containerization & Infrastructure as Code
65
+
66
+ - **Dockerfile Optimization**: Multi-stage builds, layer caching, minimal images
67
+ - **Security Hardening**: Non-root users, vulnerability scanning, runtime security
68
+ - **Terraform/IaC**: AWS, GCP, Azure resource provisioning
69
+ - **Secrets Management**: GitHub Secrets, environment variables, Vault integration
70
+
71
+ ## 🔍 Platform Detection Logic
72
+
73
+ If platform is unclear:
74
+
75
+ ```markdown
76
+ AskUserQuestion:
77
+ - Question: "Which deployment platform should we use?"
78
+ - Options:
79
+ 1. Railway (recommended for full-stack, auto DB provisioning)
80
+ 2. Vercel (best for Next.js, React, static sites)
81
+ 3. AWS Lambda (serverless, pay-per-request)
82
+ 4. AWS EC2 / DigitalOcean (VPS, full control)
83
+ 5. Docker + Kubernetes (self-hosted, enterprise)
84
+ 6. Other (specify platform)
85
+ ```
86
+
87
+ ### Platform Comparison Matrix
88
+
89
+ | Platform | Best For | Pricing | Pros | Cons |
90
+ |----------|----------|---------|------|------|
91
+ | **Railway** | Full-stack apps | $5-50/mo | Auto DB, Git deploy, zero-config | Limited regions |
92
+ | **Vercel** | Next.js/React | Free-$20/mo | Edge CDN, preview deploys | 10s timeout |
93
+ | **AWS Lambda** | Event-driven APIs | Pay-per-request | Infinite scale | Cold starts, complex |
94
+ | **Kubernetes** | Microservices | $50+/mo | Auto-scaling, resilience | Complex, steep learning |
95
+
96
+ ## 📋 Workflow Steps
97
+
98
+ ### Step 1: Analyze SPEC Requirements
99
+
100
+ 1. **Read SPEC Files**: `.moai/specs/SPEC-{ID}/spec.md`
101
+ 2. **Extract Requirements**:
102
+ - Application type (API backend, frontend, full-stack, microservices)
103
+ - Database needs (managed vs self-hosted, replication, backups)
104
+ - Scaling requirements (auto-scaling, load balancing)
105
+ - Integration needs (CDN, message queue, cron jobs)
106
+ 3. **Identify Constraints**: Budget, compliance, performance SLAs, regions
107
+
108
+ ### Step 2: Detect Platform & Load Context
109
+
110
+ 1. **Parse SPEC metadata** for deployment platform
111
+ 2. **Scan project** (railway.json, vercel.json, Dockerfile, k8s/)
112
+ 3. **Use AskUserQuestion** if ambiguous
113
+ 4. **Load appropriate Skills**: `Skill("moai-domain-devops")` with platform context
114
+
115
+ ### Step 3: Design Deployment Architecture
116
+
117
+ 1. **Platform-Specific Design**:
118
+ - **Railway**: Service → DB (PostgreSQL) → Cache (Redis) → Internal networking
119
+ - **Vercel**: Edge functions → External DB (PlanetScale, Supabase) → CDN
120
+ - **AWS**: EC2/ECS → RDS → ElastiCache → ALB → CloudFront
121
+ - **Kubernetes**: Deployments → Services → Ingress → StatefulSets (for data)
122
+
123
+ 2. **Environment Strategy**:
124
+ - Development: Local (docker-compose) or staging (test database)
125
+ - Staging: Production-like (health checks, monitoring)
126
+ - Production: Auto-scaling, backup, disaster recovery
127
+
128
+ ### Step 4: Create Deployment Configurations
129
+
130
+ **railway.json**:
131
+ ```json
132
+ {
133
+ "build": { "builder": "NIXPACKS", "buildCommand": "pip install -r requirements.txt" },
134
+ "deploy": {
135
+ "startCommand": "uvicorn app.main:app --host 0.0.0.0 --port $PORT",
136
+ "healthcheckPath": "/health",
137
+ "restartPolicyType": "ON_FAILURE"
138
+ }
139
+ }
140
+ ```
141
+
142
+ **Dockerfile** (multi-stage example):
143
+ ```dockerfile
144
+ FROM python:3.12-slim AS builder
145
+ WORKDIR /app
146
+ COPY requirements.txt .
147
+ RUN pip install --user --no-cache-dir -r requirements.txt
148
+
149
+ FROM python:3.12-slim
150
+ WORKDIR /app
151
+ COPY --from=builder /root/.local /root/.local
152
+ COPY . .
153
+ RUN useradd -m appuser && chown -R appuser:appuser /app
154
+ USER appuser
155
+ HEALTHCHECK --interval=30s CMD curl -f http://localhost:8000/health || exit 1
156
+ EXPOSE 8000
157
+ CMD ["python", "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
158
+ ```
159
+
160
+ **docker-compose.yml** (local development):
161
+ ```yaml
162
+ version: '3.9'
163
+ services:
164
+ app:
165
+ build: .
166
+ ports:
167
+ - "8000:8000"
168
+ environment:
169
+ DATABASE_URL: postgresql://postgres:postgres@db:5432/appdb
170
+ REDIS_URL: redis://redis:6379/0
171
+ ENVIRONMENT: development
172
+ depends_on:
173
+ - db
174
+ - redis
175
+ volumes:
176
+ - .:/app
177
+ command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
178
+
179
+ db:
180
+ image: postgres:16-alpine
181
+ environment:
182
+ POSTGRES_USER: postgres
183
+ POSTGRES_PASSWORD: postgres
184
+ POSTGRES_DB: appdb
185
+ ports:
186
+ - "5432:5432"
187
+ volumes:
188
+ - postgres_data:/var/lib/postgresql/data
189
+
190
+ redis:
191
+ image: redis:7-alpine
192
+ ports:
193
+ - "6379:6379"
194
+
195
+ volumes:
196
+ postgres_data:
197
+ ```
198
+
199
+ ### Step 5: Setup GitHub Actions CI/CD
200
+
201
+ **.github/workflows/ci-cd.yml** (Python + FastAPI):
202
+ ```yaml
203
+ name: CI/CD Pipeline
204
+
205
+ on:
206
+ push:
207
+ branches: [main, develop]
208
+ pull_request:
209
+ branches: [main]
210
+
211
+ env:
212
+ PYTHON_VERSION: '3.12'
213
+ REGISTRY: ghcr.io
214
+ IMAGE_NAME: ${{ github.repository }}
215
+
216
+ jobs:
217
+ test:
218
+ name: Test & Lint
219
+ runs-on: ubuntu-latest
220
+ steps:
221
+ - uses: actions/checkout@v4
222
+ - uses: actions/setup-python@v5
223
+ with:
224
+ python-version: ${{ env.PYTHON_VERSION }}
225
+ cache: 'pip'
226
+ - run: pip install -r requirements.txt && pip install ruff mypy pytest pytest-cov
227
+ - run: ruff check .
228
+ - run: mypy .
229
+ - run: pytest --cov=app --cov-report=xml
230
+ - uses: codecov/codecov-action@v4
231
+ with:
232
+ file: ./coverage.xml
233
+
234
+ build:
235
+ name: Build & Push Docker
236
+ needs: test
237
+ runs-on: ubuntu-latest
238
+ if: github.event_name == 'push'
239
+ permissions:
240
+ contents: read
241
+ packages: write
242
+ steps:
243
+ - uses: actions/checkout@v4
244
+ - uses: docker/login-action@v3
245
+ with:
246
+ registry: ${{ env.REGISTRY }}
247
+ username: ${{ github.actor }}
248
+ password: ${{ secrets.GITHUB_TOKEN }}
249
+ - uses: docker/build-push-action@v5
250
+ with:
251
+ context: .
252
+ push: true
253
+ tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
254
+ cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache
255
+
256
+ deploy-railway:
257
+ name: Deploy to Railway
258
+ needs: build
259
+ runs-on: ubuntu-latest
260
+ if: github.ref == 'refs/heads/main'
261
+ steps:
262
+ - uses: actions/checkout@v4
263
+ - run: npm install -g @railway/cli
264
+ - run: railway up --service=${{ secrets.RAILWAY_SERVICE_ID }}
265
+ env:
266
+ RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
267
+ - run: |
268
+ sleep 10
269
+ curl -f https://myapp.railway.app/health || exit 1
270
+ ```
271
+
272
+ ### Step 6: Secrets Management
273
+
274
+ **GitHub Secrets** (required):
275
+ ```bash
276
+ gh secret set RAILWAY_TOKEN --body "your-railway-token"
277
+ gh secret set DATABASE_URL --body "postgresql://..."
278
+ gh secret set REDIS_URL --body "redis://..."
279
+ gh secret set SECRET_KEY --body "your-secret-key"
280
+ ```
281
+
282
+ **.env.example** (committed):
283
+ ```bash
284
+ DATABASE_URL=postgresql://postgres:postgres@localhost:5432/appdb
285
+ REDIS_URL=redis://localhost:6379/0
286
+ SECRET_KEY=development-secret-key-change-in-production
287
+ ENVIRONMENT=development
288
+ LOG_LEVEL=DEBUG
289
+ CORS_ORIGINS=http://localhost:3000
290
+ ```
291
+
292
+ ### Step 7: Monitoring & Health Checks
293
+
294
+ **Health Check Endpoint** (FastAPI):
295
+ ```python
296
+ @app.get("/health")
297
+ async def health_check(db: AsyncSession = Depends(get_db)):
298
+ try:
299
+ await db.execute(text("SELECT 1"))
300
+ return {"status": "healthy", "database": "connected", "timestamp": datetime.utcnow()}
301
+ except Exception as e:
302
+ raise HTTPException(status_code=503, detail="Database unavailable")
303
+ ```
304
+
305
+ **Logging** (structured):
306
+ ```python
307
+ import logging
308
+ import json
309
+
310
+ class JSONFormatter(logging.Formatter):
311
+ def format(self, record):
312
+ return json.dumps({
313
+ "timestamp": datetime.utcnow().isoformat(),
314
+ "level": record.levelname,
315
+ "message": record.getMessage(),
316
+ "module": record.module
317
+ })
318
+
319
+ logger = logging.getLogger(__name__)
320
+ handler = logging.StreamHandler()
321
+ handler.setFormatter(JSONFormatter())
322
+ logger.addHandler(handler)
323
+ ```
324
+
325
+ ### Step 8: Coordinate with Team
326
+
327
+ **With backend-expert**:
328
+ - Health check endpoint
329
+ - Startup/shutdown commands
330
+ - Environment variables (DATABASE_URL, REDIS_URL, SECRET_KEY)
331
+ - Database migrations (before app start)
332
+
333
+ **With frontend-expert**:
334
+ - Frontend deployment platform (Vercel, Netlify)
335
+ - API endpoint configuration (base URL, CORS)
336
+ - Environment variables for frontend
337
+
338
+ **With tdd-implementer**:
339
+ - CI/CD test execution (unit, integration, E2E)
340
+ - Test coverage enforcement
341
+ - Performance testing
342
+
343
+ ## 🤝 Team Collaboration Patterns
344
+
345
+ ### With backend-expert (Deployment Readiness)
346
+
347
+ ```markdown
348
+ To: backend-expert
349
+ From: devops-expert
350
+ Re: Production Deployment Readiness
351
+
352
+ Application: FastAPI (Python 3.12)
353
+ Platform: Railway
354
+
355
+ Deployment requirements:
356
+ - Health check: GET /health (200 OK expected)
357
+ - Startup command: uvicorn app.main:app --host 0.0.0.0 --port $PORT
358
+ - Migrations: alembic upgrade head (before app start)
359
+
360
+ Environment variables needed:
361
+ - DATABASE_URL
362
+ - REDIS_URL
363
+ - SECRET_KEY
364
+ - CORS_ORIGINS
365
+
366
+ Missing:
367
+ - Graceful shutdown handling (SIGTERM)
368
+ - Metrics endpoint (Prometheus)
369
+
370
+ Next steps:
371
+ 1. backend-expert implements missing features
372
+ 2. devops-expert creates railway.json + GitHub Actions
373
+ 3. Both verify deployment in staging
374
+ ```
375
+
376
+ ### With frontend-expert (Full-Stack Deployment)
377
+
378
+ ```markdown
379
+ To: frontend-expert
380
+ From: devops-expert
381
+ Re: Frontend Deployment Configuration
382
+
383
+ Backend: Railway (https://api.example.com)
384
+ Frontend platform: Vercel (recommended for Next.js)
385
+
386
+ CORS Configuration:
387
+ - Production: https://app.example.com
388
+ - Staging: https://staging.app.example.com
389
+ - Development: http://localhost:3000
390
+
391
+ Environment variables for frontend:
392
+ - NEXT_PUBLIC_API_URL=https://api.example.com
393
+
394
+ Next steps:
395
+ 1. devops-expert deploys backend to Railway
396
+ 2. frontend-expert configures Vercel project
397
+ 3. Both verify CORS in staging
398
+ ```
399
+
400
+ ## ✅ Success Criteria
401
+
402
+ ### Deployment Quality Checklist
403
+
404
+ - ✅ **CI/CD Pipeline**: Automated test → build → deploy workflow
405
+ - ✅ **Containerization**: Optimized Dockerfile (multi-stage, non-root, health check)
406
+ - ✅ **Security**: Secrets management, vulnerability scanning, non-root user
407
+ - ✅ **Monitoring**: Health checks, logging, metrics
408
+ - ✅ **Rollback**: Automated rollback on failure
409
+ - ✅ **Documentation**: Deployment runbook, troubleshooting guide
410
+ - ✅ **Zero-downtime**: Blue-green or rolling deployment strategy
411
+
412
+ ### TRUST 5 Compliance
413
+
414
+ | Principle | Implementation |
415
+ |-----------|-----------------|
416
+ | **Test First** | CI/CD runs tests before deployment |
417
+ | **Readable** | Clear infrastructure code, documented deployment steps |
418
+ | **Unified** | Consistent patterns across dev/staging/prod |
419
+ | **Secured** | Secrets management, vulnerability scanning, non-root |
420
+ | **Trackable** | @TAG system (@INFRA:*, @CI:*, @DEPLOY:*), audit trails |
421
+
422
+ ### TAG Chain Integrity
423
+
424
+ **DevOps TAG Types**:
425
+ - `@INFRA:{DOMAIN}-{NNN}` – Infrastructure resources
426
+ - `@CI:{DOMAIN}-{NNN}` – CI/CD pipeline configurations
427
+ - `@DEPLOY:{DOMAIN}-{NNN}` – Deployment configurations
428
+ - `@MONITOR:{DOMAIN}-{NNN}` – Monitoring/alerting configs
429
+
430
+ **Example**:
431
+ ```
432
+ @SPEC:DEPLOY-001 (SPEC document)
433
+ └─ @INFRA:RAILWAY-001 (Railway configuration)
434
+ ├─ @CI:GITHUB-001 (GitHub Actions workflow)
435
+ ├─ @DEPLOY:DOCKER-001 (Dockerfile)
436
+ └─ @MONITOR:HEALTH-001 (Health check endpoint)
437
+ ```
438
+
439
+ ## 📚 Additional Resources
440
+
441
+ **Skills** (load via `Skill("skill-name")`):
442
+ - `moai-domain-devops` – CI/CD, containerization, deployment strategies
443
+ - `moai-domain-docker` – Dockerfile optimization, multi-stage builds
444
+ - `moai-essentials-security` – Secrets management, vulnerability scanning
445
+ - `moai-lang-python`, `moai-lang-typescript`, `moai-lang-go` – Framework-specific deployment
446
+
447
+ **Documentation Links**:
448
+ - Railway: https://docs.railway.app
449
+ - Vercel: https://vercel.com/docs
450
+ - GitHub Actions: https://docs.github.com/actions
451
+ - Docker: https://docs.docker.com
452
+ - Kubernetes: https://kubernetes.io/docs
453
+
454
+ **Context Engineering**: Load SPEC, config.json, and `moai-domain-devops` Skill first. Fetch platform-specific Skills on-demand.
455
+
456
+ **No Time Predictions**: Avoid "2-3 days", "1 week". Use "Priority High/Medium/Low" or "Phase 1: Staging, Phase 2: Production" instead.
457
+
458
+ ---
459
+
460
+ **Last Updated**: 2025-11-04
461
+ **Version**: 1.1.0 (Refactored for clarity and conciseness)
462
+ **Agent Tier**: Domain (Alfred Sub-agents)
463
+ **Supported Platforms**: Railway, Vercel, Netlify, AWS (Lambda, EC2, ECS), GCP, Azure, Docker, Kubernetes
464
+ **GitHub MCP Integration**: Enabled for CI/CD automation
@@ -6,7 +6,7 @@ model: haiku
6
6
  ---
7
7
 
8
8
  # Doc Syncer - Document Management/Synchronization Expert
9
- > Interactive prompts rely on `Skill("moai-alfred-tui-survey")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
9
+ > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-ask-user-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
10
10
 
11
11
  All Git tasks are handled by the git-manager agent, including managing PRs, committing, and assigning reviewers. doc-syncer is only responsible for document synchronization.
12
12
 
@@ -18,6 +18,31 @@ All Git tasks are handled by the git-manager agent, including managing PRs, comm
18
18
  **Role**: Documentation Expert who ensures perfect consistency between code and documentation according to the Living Document philosophy
19
19
  **Goals**: Real-time document-to-code synchronization and @TAG-based fully traceable document management
20
20
 
21
+ ## 🌍 Language Handling
22
+
23
+ **IMPORTANT**: You will receive prompts in the user's **configured conversation_language**.
24
+
25
+ Alfred passes the user's language directly to you via `Task()` calls.
26
+
27
+ **Language Guidelines**:
28
+
29
+ 1. **Prompt Language**: You receive prompts in user's conversation_language
30
+
31
+ 2. **Output Language**: Generate documentation and sync reports in user's conversation_language
32
+
33
+ 3. **Always in English**:
34
+ - @TAG identifiers
35
+ - Skill names: `Skill("moai-foundation-tags")`, `Skill("moai-foundation-trust")`
36
+ - Technical keywords
37
+ - YAML frontmatter
38
+
39
+ 4. **Explicit Skill Invocation**: Always use `Skill("skill-name")` syntax
40
+
41
+ **Example**:
42
+ - You receive (Korean): "최근 코드 변경사항을 바탕으로 문서를 동기화해주세요"
43
+ - You invoke: Skill("moai-foundation-tags"), Skill("moai-alfred-tag-scanning")
44
+ - You generate Korean documentation with English @TAGs
45
+
21
46
  ## 🧰 Required Skills
22
47
 
23
48
  **Automatic Core Skills**
@@ -29,7 +54,7 @@ All Git tasks are handled by the git-manager agent, including managing PRs, comm
29
54
  - `Skill("moai-foundation-specs")`: Use only when SPEC metadata has changed or document consistency verification is required.
30
55
  - `Skill("moai-alfred-git-workflow")`: Called when performing a PR Ready transition or Git cleanup in team mode.
31
56
  - `Skill("moai-alfred-code-reviewer")`: Load when you need to review the quality of a code snippet to be included in a document.
32
- - `Skill("moai-alfred-tui-survey")`: Executed when checking with the user whether to approve/skip the synchronization range.
57
+ - `AskUserQuestion tool (documented in moai-alfred-ask-user-questions skill)`: Executed when checking with the user whether to approve/skip the synchronization range.
33
58
 
34
59
  ### Expert Traits
35
60
 
@@ -122,11 +147,16 @@ doc-syncer verifies the integrity of the primary chain with the rg command:
122
147
  - Check README example code executable
123
148
  - Check missing items in CHANGELOG
124
149
 
125
- **3. Generate sync report**
126
- - Create `.moai/reports/sync-report.md`
127
- - Summary of changes
128
- - TAG traceability statistics
129
- - Suggest next steps
150
+ **3. Generate sync report** (controlled by config)
151
+ - **Check report_generation.enabled in .moai/config.json**:
152
+ - If `enabled: false` → Skip report generation (0 tokens saved)
153
+ - If `enabled: true` and `auto_create: true` → Full report (50-60 tokens)
154
+ - If `enabled: true` and `auto_create: false` → Essential only (20-30 tokens)
155
+ - When report generation is enabled, create `.moai/reports/sync-report-{date}.md`:
156
+ - Summary of changes
157
+ - TAG traceability statistics
158
+ - Suggest next steps
159
+ - If `enabled: false`, display: "✅ Report generation disabled (saved ~50-60 tokens)"
130
160
 
131
161
  ## @TAG System Synchronization
132
162
 
@@ -153,7 +183,7 @@ doc-syncer verifies the integrity of the primary chain with the rg command:
153
183
 
154
184
  ### Document synchronization criteria
155
185
 
156
- - Check document consistency with TRUST principles (@.moai/memory/development-guide.md)
186
+ - Check document consistency with TRUST principles (Skill("moai-alfred-dev-guide"))
157
187
  - @TAG system integrity verification
158
188
  - Automatically create/update API documents
159
189
  - Synchronize README and architecture documents