moai-adk 0.15.1__py3-none-any.whl → 0.25.4__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 (417) hide show
  1. moai_adk/__init__.py +1 -2
  2. moai_adk/__main__.py +85 -2
  3. moai_adk/cli/__init__.py +0 -1
  4. moai_adk/cli/commands/__init__.py +0 -1
  5. moai_adk/cli/commands/analyze.py +127 -0
  6. moai_adk/cli/commands/backup.py +5 -3
  7. moai_adk/cli/commands/doctor.py +35 -11
  8. moai_adk/cli/commands/improve_user_experience.py +348 -0
  9. moai_adk/cli/commands/init.py +150 -23
  10. moai_adk/cli/commands/language.py +269 -0
  11. moai_adk/cli/commands/migrate.py +158 -0
  12. moai_adk/cli/commands/status.py +13 -12
  13. moai_adk/cli/commands/update.py +364 -60
  14. moai_adk/cli/commands/validate_links.py +118 -0
  15. moai_adk/cli/main.py +3 -2
  16. moai_adk/cli/prompts/init_prompts.py +79 -82
  17. moai_adk/core/__init__.py +0 -1
  18. moai_adk/core/analysis/__init__.py +9 -0
  19. moai_adk/core/analysis/session_analyzer.py +439 -0
  20. moai_adk/core/claude_integration.py +421 -0
  21. moai_adk/core/command_helpers.py +270 -0
  22. moai_adk/core/config/__init__.py +6 -0
  23. moai_adk/core/config/auto_spec_config.py +346 -0
  24. moai_adk/core/config/migration.py +133 -12
  25. moai_adk/core/context_manager.py +279 -0
  26. moai_adk/core/diagnostics/slash_commands.py +0 -1
  27. moai_adk/core/error_recovery_system.py +1289 -0
  28. moai_adk/core/git/__init__.py +0 -1
  29. moai_adk/core/git/branch.py +0 -1
  30. moai_adk/core/git/branch_manager.py +4 -4
  31. moai_adk/core/git/checkpoint.py +1 -5
  32. moai_adk/core/git/commit.py +0 -1
  33. moai_adk/core/git/event_detector.py +3 -5
  34. moai_adk/core/git/manager.py +0 -1
  35. moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
  36. moai_adk/core/integration/__init__.py +22 -0
  37. moai_adk/core/integration/engine.py +169 -0
  38. moai_adk/core/integration/integration_tester.py +225 -0
  39. moai_adk/core/integration/models.py +88 -0
  40. moai_adk/core/integration/utils.py +211 -0
  41. moai_adk/core/issue_creator.py +28 -18
  42. moai_adk/core/language_config.py +202 -0
  43. moai_adk/core/language_validator.py +556 -0
  44. moai_adk/core/mcp/setup.py +113 -0
  45. moai_adk/core/migration/__init__.py +18 -0
  46. moai_adk/core/migration/backup_manager.py +208 -0
  47. moai_adk/core/migration/file_migrator.py +218 -0
  48. moai_adk/core/migration/version_detector.py +143 -0
  49. moai_adk/core/migration/version_migrator.py +228 -0
  50. moai_adk/core/performance/__init__.py +6 -0
  51. moai_adk/core/performance/cache_system.py +318 -0
  52. moai_adk/core/performance/parallel_processor.py +116 -0
  53. moai_adk/core/project/__init__.py +0 -1
  54. moai_adk/core/project/backup_utils.py +2 -7
  55. moai_adk/core/project/checker.py +3 -3
  56. moai_adk/core/project/detector.py +20 -40
  57. moai_adk/core/project/initializer.py +42 -17
  58. moai_adk/core/project/phase_executor.py +415 -58
  59. moai_adk/core/project/validator.py +6 -25
  60. moai_adk/core/quality/__init__.py +1 -1
  61. moai_adk/core/quality/trust_checker.py +64 -110
  62. moai_adk/core/quality/validators/__init__.py +1 -1
  63. moai_adk/core/quality/validators/base_validator.py +1 -1
  64. moai_adk/core/rollback_manager.py +993 -0
  65. moai_adk/core/session_manager.py +667 -0
  66. moai_adk/core/spec/confidence_scoring.py +749 -0
  67. moai_adk/core/spec/ears_template_engine.py +1182 -0
  68. moai_adk/core/spec/quality_validator.py +721 -0
  69. moai_adk/core/spec_status_manager.py +488 -0
  70. moai_adk/core/template/__init__.py +0 -1
  71. moai_adk/core/template/backup.py +41 -1
  72. moai_adk/core/template/config.py +11 -12
  73. moai_adk/core/template/languages.py +0 -1
  74. moai_adk/core/template/merger.py +79 -22
  75. moai_adk/core/template/processor.py +614 -40
  76. moai_adk/core/template_engine.py +36 -27
  77. moai_adk/foundation/git/commit_templates.py +565 -0
  78. moai_adk/foundation/trust/trust_principles.py +725 -0
  79. moai_adk/foundation/trust/validation_checklist.py +1678 -0
  80. moai_adk/statusline/__init__.py +38 -0
  81. moai_adk/statusline/alfred_detector.py +107 -0
  82. moai_adk/statusline/config.py +364 -0
  83. moai_adk/statusline/enhanced_output_style_detector.py +364 -0
  84. moai_adk/statusline/git_collector.py +190 -0
  85. moai_adk/statusline/main.py +228 -0
  86. moai_adk/statusline/metrics_tracker.py +78 -0
  87. moai_adk/statusline/renderer.py +327 -0
  88. moai_adk/statusline/update_checker.py +135 -0
  89. moai_adk/statusline/version_reader.py +647 -0
  90. moai_adk/templates/.git-hooks/pre-commit +66 -0
  91. moai_adk/templates/.git-hooks/pre-push +116 -4
  92. moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
  93. moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
  94. moai_adk/templates/.gitignore +44 -0
  95. moai_adk/templates/.mcp.json +22 -0
  96. moai_adk/templates/CLAUDE.md +450 -1071
  97. moai_adk/utils/__init__.py +0 -1
  98. moai_adk/utils/banner.py +0 -1
  99. moai_adk/utils/common.py +308 -0
  100. moai_adk/utils/link_validator.py +249 -0
  101. moai_adk/utils/logger.py +4 -9
  102. moai_adk/utils/safe_file_reader.py +210 -0
  103. moai_adk/utils/user_experience.py +531 -0
  104. moai_adk-0.25.4.dist-info/METADATA +2279 -0
  105. moai_adk-0.25.4.dist-info/RECORD +112 -0
  106. moai_adk/core/tags/__init__.py +0 -86
  107. moai_adk/core/tags/ci_validator.py +0 -463
  108. moai_adk/core/tags/cli.py +0 -283
  109. moai_adk/core/tags/generator.py +0 -109
  110. moai_adk/core/tags/inserter.py +0 -99
  111. moai_adk/core/tags/mapper.py +0 -126
  112. moai_adk/core/tags/parser.py +0 -76
  113. moai_adk/core/tags/pre_commit_validator.py +0 -393
  114. moai_adk/core/tags/reporter.py +0 -956
  115. moai_adk/core/tags/tags.py +0 -149
  116. moai_adk/core/tags/validator.py +0 -897
  117. moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
  118. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
  119. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
  120. moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
  121. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
  122. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
  123. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
  124. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
  125. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
  126. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
  127. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
  128. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
  129. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
  130. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
  131. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
  132. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
  133. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
  134. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
  135. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
  136. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
  137. moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
  138. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
  139. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -136
  140. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
  141. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
  142. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
  143. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
  144. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
  145. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
  146. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
  147. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
  148. moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
  149. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
  150. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
  151. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
  152. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
  153. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
  154. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
  155. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
  156. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
  157. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
  158. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
  159. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
  160. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -161
  161. moai_adk/templates/.claude/settings.json +0 -144
  162. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
  163. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
  164. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
  165. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
  166. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
  167. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
  168. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
  169. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
  170. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
  171. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
  172. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
  173. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
  174. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  175. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  176. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  177. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
  178. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
  179. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
  180. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  181. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  182. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  183. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
  184. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
  185. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
  186. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  187. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  188. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  189. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
  190. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
  191. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
  192. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  193. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  194. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  195. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
  196. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
  197. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
  198. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
  199. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
  200. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
  201. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
  202. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
  203. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
  204. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
  205. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
  206. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
  207. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
  208. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
  209. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
  210. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
  211. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
  212. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
  213. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
  214. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
  215. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
  216. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
  217. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
  218. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
  219. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  220. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  221. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  222. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  223. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  224. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  225. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
  226. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
  227. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
  228. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  229. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  230. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  231. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
  232. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  233. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  234. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  235. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  236. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  237. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  238. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  239. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  240. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  241. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  242. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  243. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  244. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  245. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  246. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  247. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  248. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
  249. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
  250. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
  251. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
  252. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
  253. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  254. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
  255. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  256. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  257. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  258. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  259. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
  260. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  261. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
  262. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
  263. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
  264. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
  265. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
  266. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  267. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
  268. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
  269. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
  270. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  271. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  272. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
  273. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
  274. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
  275. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
  276. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
  277. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
  278. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  279. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  280. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  281. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  282. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  283. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  284. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
  285. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
  286. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
  287. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  288. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  289. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  290. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -128
  291. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
  292. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
  293. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  294. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  295. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  296. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  297. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  298. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  299. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  300. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  301. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  302. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  303. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  304. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  305. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  306. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  307. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  308. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  309. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  310. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  311. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  312. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  313. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  314. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  315. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  316. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  317. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
  318. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  319. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  320. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  321. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  322. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  323. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  324. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  325. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  326. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  327. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  328. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  329. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  330. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  331. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  332. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  333. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  334. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  335. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  336. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  337. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  338. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
  339. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  340. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  341. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
  342. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  343. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  344. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  345. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  346. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  347. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
  348. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
  349. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
  350. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
  351. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
  352. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
  353. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  354. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  355. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  356. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
  357. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
  358. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
  359. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
  360. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  361. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  362. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
  363. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
  364. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
  365. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
  366. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  367. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  368. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
  369. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  370. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  371. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
  372. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
  373. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
  374. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
  375. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
  376. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
  377. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  378. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  379. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  380. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  381. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  382. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  383. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
  384. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
  385. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
  386. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
  387. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
  388. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
  389. moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
  390. moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
  391. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
  392. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
  393. moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
  394. moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
  395. moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
  396. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
  397. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
  398. moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
  399. moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
  400. moai_adk/templates/.github/workflows/release.yml +0 -118
  401. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
  402. moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
  403. moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
  404. moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
  405. moai_adk/templates/.github/workflows/tag-report.yml +0 -269
  406. moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
  407. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
  408. moai_adk/templates/.moai/config.json +0 -115
  409. moai_adk/templates/workflows/go-tag-validation.yml +0 -30
  410. moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
  411. moai_adk/templates/workflows/python-tag-validation.yml +0 -42
  412. moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
  413. moai_adk-0.15.1.dist-info/METADATA +0 -3094
  414. moai_adk-0.15.1.dist-info/RECORD +0 -365
  415. {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/WHEEL +0 -0
  416. {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
  417. {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,1084 +0,0 @@
1
- ---
2
- name: alfred:3-sync
3
- description: "Synchronize documentation and finalize PR"
4
- argument-hint: 'Mode target path - Mode: auto (default)|force|status|project, target
5
- path: Synchronization target path'
6
- allowed-tools:
7
- - Read
8
- - Write
9
- - Edit
10
- - MultiEdit
11
- - Bash(git:*)
12
- - Bash(gh:*)
13
- - Bash(python3:*)
14
- - Task
15
- - Grep
16
- - Glob
17
- - TodoWrite
18
- ---
19
-
20
- # 📚 MoAI-ADK Step 3: Document Synchronization (+Optional PR Ready)
21
- > **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
22
- >
23
- > **Batched Design**: All AskUserQuestion calls follow batched design principles (1-4 questions per call) to minimize user interaction turns. See CLAUDE.md section "Alfred Command Completion Pattern" for details.
24
-
25
- <!-- @CODE:ALF-WORKFLOW-003:CMD-SYNC -->
26
-
27
- **4-Step Workflow Integration**: This command implements Step 4 of Alfred's workflow (Report & Commit with conditional report generation). See CLAUDE.md for full workflow details.
28
-
29
- ## 🚀 START HERE
30
-
31
- **CRITICAL**: Load the TUI Survey Skill FIRST before any user interaction:
32
-
33
- ```
34
- AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)
35
- ```
36
-
37
- This Skill MUST be loaded at the very beginning to enable TUI menu rendering for AskUserQuestion calls throughout this workflow.
38
-
39
- ## 🎯 Command Purpose
40
-
41
- Synchronize code changes to Living Documents and verify @TAG system to ensure complete traceability.
42
-
43
- **Document sync to**: $ARGUMENTS
44
-
45
- > **Standard two-step workflow** (see `CLAUDE.md` - "Alfred Command Execution Pattern" for details)
46
-
47
- ## 📋 Execution flow
48
-
49
- **Phase 0: Skill Loading** (IMMEDIATE)
50
- - Load `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` at the very start
51
- - This enables TUI menu rendering for all user interactions
52
-
53
- **Phase 1: Analysis & Planning**
54
- 1. **Project status analysis**: Git changes and TAG system verification
55
- 2. **Determine the scope of synchronization**: Full/partial/selective synchronization strategy
56
- 3. **User Confirmation**: Review and approve synchronization plan via AskUserQuestion (TUI menu)
57
-
58
- **Phase 2: Conditional Execution** (based on user choice)
59
- 4. **Document Synchronization**: Living Document updates and TAG integrity guaranteed (IF user selects "Proceed")
60
- 5. **Git operations**: Commit and PR state transitions via git-manager (IF user selects "Proceed")
61
- - OR abort workflow (IF user selects "Abort")
62
- - OR revise plan (IF user selects "Modify")
63
-
64
- ## 🧠 Associated Skills & Agents
65
-
66
- | Agent | Core Skill | Purpose |
67
- | ------------ | ------------------------------ | ------------------------------ |
68
- | tag-agent | `moai-alfred-tag-scanning` | Verify TAG system integrity |
69
- | quality-gate | `moai-alfred-trust-validation` | Check code quality before sync |
70
- | doc-syncer | `moai-alfred-tag-scanning` | Synchronize Living Documents |
71
- | git-manager | `moai-alfred-git-workflow` | Handle Git operations |
72
-
73
- **Note**: TUI Survey Skill is loaded once at Phase 0 and reused throughout all user interactions.
74
-
75
- ## 🔗 Associated Agent
76
-
77
- - **Phase 1**: quality-gate (🛡️ Quality Assurance Engineer) - Quality verification before synchronization (conditional)
78
- - **Primary**: doc-syncer (📖 Technical Writer) - Dedicated to document synchronization
79
- - **Secondary**: git-manager (🚀 Release Engineer) - Dedicated to Git commits/PR
80
-
81
- ## 💡 Example of use
82
-
83
- Users can run the command as follows:
84
- - `/alfred:3-sync` - Auto-sync (PR Ready only)
85
- - `/alfred:3-sync --auto-merge` - PR auto-merge + branch cleanup
86
- - `/alfred:3-sync force` - Force full synchronization
87
- - `/alfred:3-sync status` - Check synchronization status
88
- - `/alfred:3-sync project` - Integrated project synchronization
89
-
90
- ### 🚀 Fully automated GitFlow (--auto-merge)
91
-
92
- **Automatically performs the following actions when used in Team mode**:
93
- 1. Document synchronization complete
94
- 2. Switch to PR Ready
95
- 3. Check CI/CD status
96
- 4. PR automatic merge (squash)
97
- 5. Develop checkout and synchronization
98
- 6. Organizing local feature branches
99
- 7. **Ready for next task** ✅
100
-
101
- **Recommended use time**: When you want to complete the merge in one go after completing TDD implementation.
102
-
103
- **Personal mode**: Automate local main/develop merges and branch cleanups
104
-
105
- ## 🔍 STEP 1: Analyze synchronization scope and establish plan
106
-
107
- STEP 1 consists of **two independent phases** to provide flexible workflow based on project complexity:
108
-
109
- ### 📋 STEP 1 Workflow Overview
110
-
111
- ```
112
- ┌─────────────────────────────────────────────────────────────┐
113
- │ STEP 1: Synchronization Analysis & Planning │
114
- ├─────────────────────────────────────────────────────────────┤
115
- │ │
116
- │ Phase A (OPTIONAL) │
117
- │ ┌─────────────────────────────────────────┐ │
118
- │ │ 🔍 Explore Agent │ │
119
- │ │ • Navigate complex TAG chains │ │
120
- │ │ • Scan entire TAG system │ │
121
- │ │ • Identify orphan TAGs │ │
122
- │ └─────────────────────────────────────────┘ │
123
- │ ↓ │
124
- │ (exploration results) │
125
- │ ↓ │
126
- │ Phase B (REQUIRED) │
127
- │ ┌─────────────────────────────────────────┐ │
128
- │ │ ⚙️ tag-agent + doc-syncer Agents │ │
129
- │ │ • Verify TAG integrity (full project) │ │
130
- │ │ • Analyze Git changes │ │
131
- │ │ • Create synchronization plan │ │
132
- │ │ • Request user approval │ │
133
- │ └─────────────────────────────────────────┘ │
134
- │ ↓ │
135
- │ (user approval via AskUserQuestion) │
136
- │ ↓ │
137
- │ PROCEED TO STEP 2 │
138
- └─────────────────────────────────────────────────────────────┘
139
- ```
140
-
141
- **Key Points**:
142
- - **Phase A is optional** - Skip for simple single-SPEC changes
143
- - **Phase B is required** - Always runs to verify TAGs and plan sync
144
- - **Results flow forward** - Exploration results (if any) are passed to tag-agent
145
- - **⚠️ Important**: tag-agent verifies ENTIRE PROJECT, not just changed files
146
-
147
- ---
148
-
149
- ### 🔍 Phase A: TAG Chain Navigation (OPTIONAL)
150
-
151
- **Use the Explore agent for complex or extensive TAG chains.**
152
-
153
- #### When to use Phase A:
154
-
155
- - ✅ Large projects (100+ files)
156
- - ✅ Need comprehensive TAG chain integrity verification
157
- - ✅ Changes span multiple SPECs or modules
158
- - ❌ Simple changes to a single SPEC (skip to Phase B)
159
-
160
- #### How to invoke Explore agent:
161
-
162
- ```
163
- Invoking the Task tool (Explore agent):
164
- - subagent_type: "Explore"
165
- - description: "Scan entire TAG system"
166
- - prompt: "프로젝트 전체에서 @TAG 시스템을 스캔해주세요:
167
- - @SPEC TAG 위치 (.moai/specs/)
168
- - @TEST TAG 위치 (tests/)
169
- - @CODE TAG 위치 (src/)
170
- - @DOC TAG 위치 (docs/)
171
- - 고아 TAG 및 끊긴 참조 감지
172
- 상세도 수준: very thorough"
173
- ```
174
-
175
- **Note**: For simple changes, skip Phase A and proceed directly to Phase B.
176
-
177
- ---
178
-
179
- ### ⚙️ Phase B: TAG Verification & Sync Planning (REQUIRED)
180
-
181
- **Call tag-agent and doc-syncer to verify TAG integrity and plan synchronization.**
182
-
183
- This phase is **always required** and runs **two agents sequentially**:
184
-
185
- #### How to invoke agents:
186
-
187
- ```
188
- 1. Tag-agent call (TAG verification - FULL PROJECT SCOPE):
189
- - subagent_type: "tag-agent"
190
- - description: "Verify TAG system across entire project"
191
- - prompt: "전체 프로젝트에서 포괄적인 @TAG 시스템 검증을 수행해주세요.
192
-
193
- **필수 범위**: 변경된 파일만이 아니라 모든 소스 파일을 스캔합니다.
194
-
195
- **검증 항목**:
196
- 1. .moai/specs/ 디렉토리의 @SPEC TAG
197
- 2. tests/ 디렉토리의 @TEST TAG
198
- 3. src/ 디렉토리의 @CODE TAG
199
- 4. docs/ 디렉토리의 @DOC TAG
200
-
201
- **고아 감지** (필수):
202
- - 매칭되는 @SPEC이 없는 @CODE TAG 감지
203
- - 매칭되는 @CODE가 없는 @SPEC TAG 감지
204
- - 매칭되는 @SPEC이 없는 @TEST TAG 감지
205
- - 매칭되는 @SPEC/@CODE가 없는 @DOC TAG 감지
206
-
207
- **출력 형식**: 고아 TAG의 전체 목록을 위치와 함께 제공합니다.
208
-
209
- (선택사항) 탐색 결과: $EXPLORE_RESULTS"
210
-
211
- 2. doc-syncer call (synchronization plan):
212
- - subagent_type: "doc-syncer"
213
- - description: "Establish a document synchronization plan"
214
- - prompt: """당신은 doc-syncer 에이전트입니다.
215
-
216
- 언어 설정:
217
- - 대화_언어: {{CONVERSATION_LANGUAGE}}
218
- - 언어명: {{CONVERSATION_LANGUAGE_NAME}}
219
-
220
- 중요 지시사항:
221
- 문서 업데이트는 대화_언어를 반드시 존중해야 합니다:
222
- - 사용자 대면 문서 (README, 가이드): {{CONVERSATION_LANGUAGE}}
223
- - SPEC 문서 (spec.md, plan.md, acceptance.md): {{CONVERSATION_LANGUAGE}}
224
- - 코드 주석: {{CONVERSATION_LANGUAGE}} (기술 키워드 제외)
225
- - 기술 문서 및 YAML 프론트매터: 영어
226
-
227
- 스킬 호출:
228
- 필요 시 명시적 Skill() 호출 사용:
229
- - Skill("moai-foundation-tags") - TAG 체인 검증
230
- - Skill("moai-foundation-trust") - 품질 게이트 검사
231
- - Skill("moai-alfred-tag-scanning") - TAG 인벤토리 업데이트
232
-
233
- 작업:
234
- Git 변경사항을 분석하고 문서 동기화 계획을 수립해주세요.
235
- 모든 문서 업데이트가 대화_언어 설정과 일치하는지 확인합니다.
236
-
237
- $ARGUMENTS
238
- (선택사항) TAG 검증 결과: $TAG_VALIDATION_RESULTS"""
239
- ```
240
-
241
- **Note**:
242
- - **Sequential execution**: Run tag-agent first, then doc-syncer
243
- - **Results flow**: TAG validation results from tag-agent are passed to doc-syncer via `$TAG_VALIDATION_RESULTS`
244
- - **Phase A results**: If Phase A was executed, exploration results are passed to tag-agent via `$EXPLORE_RESULTS`
245
-
246
- ---
247
-
248
- ### Synchronization analysis in progress
249
-
250
- 1. **Check project status**
251
- - Git status and changed file list
252
- - Code-document consistency check
253
- - @TAG system verification (using tag-agent or Explore)
254
- - (Optional) Extensive TAG scan based on Explore results
255
-
256
- 2. **Determine the scope of synchronization**
257
- - Living Document area requiring update
258
- - TAG index need to be updated
259
- - PR status transition possibility (team mode)
260
-
261
- 3. **Establish a synchronization strategy**
262
- - Synchronization approach for each mode
263
- - Estimated work time and priorities
264
- - Identify potential risks
265
-
266
- ### Phase 1 Details: Quality pre-verification (conditional automatic execution)
267
-
268
- Quickly check code quality before synchronization.
269
-
270
- **Differences from Phase 3 (2-build)**:
271
- - **Phase 3**: In-depth verification after completion of TDD implementation (test coverage, code quality, security)
272
- - **Phase 1**: Quick scan before synchronization (file corruption, critical issues only)
273
-
274
- **Purpose**: Prevent documentation of code with quality issues
275
-
276
- **Execution conditions (automatic judgment)**:
277
- - Check the number of code change lines with Git diff
278
- - Changed lines > 50 lines: Automatically run
279
- - Changed lines ≤ 50 lines: Skip
280
- - Change only document: Skip
281
-
282
- **Verification items**:
283
- - **Verify only changed files**: File targets verified by Git diff
284
- - **TRUST principle verification**: Run trust-checker script
285
- - **Code style**: Run linter (changed files only)
286
- - **TAG chain**: Verify changed TAG integrity
287
-
288
- **How ​​it works**:
289
- Alfred automatically calls the quality-gate agent when there are a lot of code changes to perform quick quality verification before document synchronization.
290
-
291
- **Handling verification results**:
292
-
293
- ✅ **PASS (0 Critical)**: Synchronization in progress
294
-
295
- ⚠️ **WARNING (0 Critical, Warning included)**: Synchronization proceeds after displaying warning.
296
-
297
- ❌ **CRITICAL (1 or more Critical)**: Synchronization stopped, correction recommended
298
- - Critical issue found: Synchronization stopped, correction recommended
299
- - User selection: “Retry after modification” or “Force proceed”
300
-
301
- **Skip verification option**:
302
- To skip pre-verification, use the `/alfred:3-sync --skip-pre-check` option.
303
-
304
- ---
305
-
306
- ### 🎯 Synchronization Plan Approval (DECISION POINT 1)
307
-
308
- After completing synchronization analysis and establishing a plan, Alfred invokes AskUserQuestion to gather user approval:
309
-
310
- ```python
311
- AskUserQuestion(
312
- questions=[
313
- {
314
- "question": "Synchronization plan is ready. How would you like to proceed?",
315
- "header": "Plan Approval",
316
- "multiSelect": false,
317
- "options": [
318
- {
319
- "label": "✅ Proceed with Sync",
320
- "description": "Execute document synchronization as planned"
321
- },
322
- {
323
- "label": "🔄 Request Modifications",
324
- "description": "Specify changes to the synchronization strategy"
325
- },
326
- {
327
- "label": "🔍 Review Details",
328
- "description": "Re-examine TAG validation results and changes"
329
- },
330
- {
331
- "label": "❌ Abort",
332
- "description": "Cancel synchronization, keep current state"
333
- }
334
- ]
335
- }
336
- ]
337
- )
338
- ```
339
-
340
- **Response Processing**:
341
- - **✅ Proceed with Sync** (`answers["0"] === "Proceed"`) → Execute Phase 2 (document synchronization)
342
- - **🔄 Request Modifications** (`answers["0"] === "Modifications"`) → Collect feedback and re-analyze
343
- - **🔍 Review Details** (`answers["0"] === "Review"`) → Display TAG validation results, then re-present decision
344
- - **❌ Abort** (`answers["0"] === "Abort"`) → Stop synchronization, maintain current branches
345
-
346
- ---
347
-
348
- ## 🚀 STEP 2: Execute document synchronization (after user approval)
349
-
350
- After user approval (collected via `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`), the doc-syncer agent performs **Living Document synchronization and @TAG updates**, and optionally executes PR Ready transitions only in team mode.
351
-
352
- ---
353
-
354
- ### 2.0.5 Domain-Based Sync Routing (Automatic - During Sync)
355
-
356
- **Purpose**: Route documentation sync to domain-specific experts based on changed files
357
-
358
- **When to run**: During doc-syncer execution, after analyzing git changes
359
-
360
- **Detection Logic**:
361
-
362
- Alfred analyzes changed files to determine which domains were modified:
363
-
364
- ```bash
365
- # Get list of changed files
366
- git diff --name-only HEAD~1 HEAD
367
-
368
- # Domain detection by file patterns
369
- ```
370
-
371
- **File Pattern → Domain Mapping**:
372
-
373
- | File Patterns | Domain | Sync Focus |
374
- |---------------|--------|-----------|
375
- | `src/components/*`, `src/pages/*`, `*.tsx`, `*.jsx`, `*.vue` | Frontend | Component documentation, Storybook, UI architecture |
376
- | `src/api/*`, `src/models/*`, `src/routes/*`, `src/services/*` | Backend | API documentation (OpenAPI), schema docs, error handling |
377
- | `Dockerfile`, `docker-compose.yml`, `.github/workflows/*`, `terraform/*`, `k8s/*` | DevOps | Deployment docs, CI/CD status, infrastructure diagrams |
378
- | `src/database/*`, `migrations/*`, `*.sql`, `schema/*` | Database | Schema documentation, migration logs, query optimization |
379
- | `notebooks/*`, `src/pipelines/*`, `*.ipynb`, `src/models/ml/*` | Data Science | Pipeline documentation, model cards, data validation |
380
- | `src/mobile/*`, `ios/*`, `android/*`, `*.swift`, `*.kt` | Mobile | Platform-specific docs, app lifecycle, native modules |
381
-
382
- **Automatic Invocation Pattern**:
383
-
384
- ```python
385
- # Pseudo-code for domain detection from git changes
386
- changed_files = git_diff("HEAD~1", "HEAD")
387
-
388
- detected_domains = []
389
- if any(".tsx" in f or ".jsx" in f or "src/components/" in f for f in changed_files):
390
- detected_domains.append("frontend")
391
- if any("src/api/" in f or "src/models/" in f or "src/routes/" in f for f in changed_files):
392
- detected_domains.append("backend")
393
- if any("Dockerfile" in f or ".github/workflows/" in f or "docker-compose" in f for f in changed_files):
394
- detected_domains.append("devops")
395
- # ... repeat for all domains
396
-
397
- # Invoke domain-specific sync for each detected domain
398
- for domain in detected_domains:
399
- Task(
400
- subagent_type="Explore",
401
- prompt=f"Generate domain-specific sync report for {domain} changes"
402
- )
403
- ```
404
-
405
- **Example Invocation** (Frontend + Backend detected):
406
-
407
- ```python
408
- # Frontend sync
409
- Task(
410
- subagent_type="Explore",
411
- prompt="""You are frontend-expert providing sync documentation.
412
-
413
- Changed Files: [src/components/Dashboard.tsx, src/pages/Home.vue]
414
-
415
- Provide frontend-specific documentation:
416
- 1. Component documentation updates
417
- 2. Storybook story generation
418
- 3. UI architecture diagram updates
419
- 4. Accessibility compliance notes
420
-
421
- Output format: Markdown document for .moai/reports/sync-frontend.md"""
422
- )
423
-
424
- # Backend sync
425
- Task(
426
- subagent_type="Explore",
427
- prompt="""You are backend-expert providing sync documentation.
428
-
429
- Changed Files: [src/api/auth.py, src/models/user.py, src/routes/users.py]
430
-
431
- Provide backend-specific documentation:
432
- 1. OpenAPI spec generation
433
- 2. Schema documentation updates
434
- 3. Error handling documentation
435
- 4. API endpoint examples
436
-
437
- Output format: Markdown document for .moai/reports/sync-backend.md"""
438
- )
439
- ```
440
-
441
- **Output Storage Structure**:
442
-
443
- ```
444
- .moai/reports/
445
- ├── sync-report-2025-10-23.md # Combined sync report
446
- ├── sync-frontend-2025-10-23.md # Frontend-specific sync
447
- ├── sync-backend-2025-10-23.md # Backend-specific sync
448
- └── sync-devops-2025-10-23.md # DevOps-specific sync
449
- ```
450
-
451
- **Combined Sync Report Format**:
452
-
453
- ```markdown
454
- ## 📚 Documentation Sync Report - 2025-10-23
455
-
456
- ### Changed Files Summary
457
- - Frontend: 3 files (components, pages)
458
- - Backend: 5 files (api, models, routes)
459
- - DevOps: 1 file (Dockerfile)
460
-
461
- ### Domain-Specific Sync Results
462
-
463
- #### 🎨 Frontend Sync
464
- - ✅ Component documentation: Dashboard.tsx documented
465
- - ✅ Storybook stories: 2 stories generated
466
- - ✅ UI architecture: Component hierarchy diagram updated
467
- - 📄 Details: [sync-frontend-2025-10-23.md](./sync-frontend-2025-10-23.md)
468
-
469
- #### ⚙️ Backend Sync
470
- - ✅ OpenAPI spec: /api/auth endpoints documented
471
- - ✅ Schema documentation: User model fields updated
472
- - ✅ Error handling: 401/403 response examples added
473
- - 📄 Details: [sync-backend-2025-10-23.md](./sync-backend-2025-10-23.md)
474
-
475
- #### 🚀 DevOps Sync
476
- - ✅ Dockerfile: Multi-stage build documented
477
- - ✅ Deployment: Railway configuration updated
478
- - 📄 Details: [sync-devops-2025-10-23.md](./sync-devops-2025-10-23.md)
479
-
480
- ### @TAG Verification
481
- - ✅ All changed files have @TAG references
482
- - ✅ SPEC → CODE → TEST → DOC chain intact
483
-
484
- ### Next Steps
485
- - Review domain-specific sync reports
486
- - Update README.md with new features
487
- - Create PR for documentation changes
488
- ```
489
-
490
- **Integration with doc-syncer**:
491
-
492
- ```python
493
- # doc-syncer orchestrates domain-specific sync
494
- Task(
495
- subagent_type="doc-syncer",
496
- prompt="""You are doc-syncer agent.
497
-
498
- DOMAIN SYNC RESULTS:
499
- {domain_sync_results}
500
-
501
- Consolidate all domain-specific sync reports into master sync report.
502
- Ensure @TAG chain integrity across all domains.
503
- Update .moai/reports/sync-report-{date}.md
504
-
505
- $ARGUMENTS"""
506
- )
507
- ```
508
-
509
- **Graceful Degradation**:
510
- - If no domain detected → Standard sync (no domain-specific reports)
511
- - If domain expert unavailable → Use generic sync templates
512
- - Multi-domain changes → Generate separate reports, combine into master
513
-
514
- ---
515
-
516
- ### Phase 2 Details: SPEC Completion Processing (Automatic)
517
-
518
- The doc-syncer agent automatically determines whether TDD implementation is complete and updates SPEC metadata.
519
-
520
- **Automatic update conditions**:
521
- - SPEC with status `draft`
522
- - RED → GREEN → REFACTOR commit exists
523
- - @TEST and @CODE TAG exist
524
-
525
- **Update details**:
526
- - `status: draft` → `status: completed`
527
- - `version: 0.0.x` → `version: 0.1.0`
528
- - Automatic addition of HISTORY section
529
-
530
- **If conditions are not met**: Phase 2 detailed work is automatically skipped
531
-
532
- ---
533
-
534
- ### Phase 2-1: SPEC Document Synchronization (CRITICAL)
535
-
536
- **IMPORTANT**: Any code or file changes MUST be reflected in SPEC documents to maintain specification alignment.
537
-
538
- #### When to synchronize SPEC documents:
539
-
540
- 1. **After code modifications**:
541
- - Functional changes to implemented features
542
- - Bug fixes that alter expected behavior
543
- - Performance optimizations with observable changes
544
- - API/function signature changes
545
- - New dependencies or external integrations
546
-
547
- 2. **After requirement clarifications**:
548
- - Acceptance criteria refinements
549
- - Edge case discoveries during implementation
550
- - User feedback incorporation
551
- - Security/compliance adjustments
552
-
553
- 3. **After structural changes**:
554
- - File organization or module restructuring
555
- - New configuration options
556
- - Breaking API changes
557
- - Database schema modifications
558
-
559
- #### SPEC documents requiring update:
560
-
561
- All files in `.moai/specs/SPEC-{ID}/` must be synchronized:
562
-
563
- - **spec.md**: Update EARS requirements if implementation differs from specification
564
- - **plan.md**: Revise implementation strategy if approach changed
565
- - **acceptance.md**: Update acceptance criteria if new test cases or edge cases discovered
566
-
567
- #### Synchronization rules:
568
-
569
- **Code ↔ SPEC Comparison**:
570
- ```
571
- 1. Review Git diff for changed files
572
- 2. Identify functional impacts:
573
- ├─ Signature changes (parameters, return values)
574
- ├─ Behavior changes (logic flow, edge cases)
575
- ├─ Performance characteristics (latency, throughput changes)
576
- └─ External dependencies (new APIs, services)
577
- 3. Map changes to SPEC requirements:
578
- ├─ Verify each changed function matches EARS statement
579
- ├─ Check if acceptance criteria still valid
580
- └─ Identify any spec-to-code divergence
581
- 4. Update SPEC documents:
582
- ├─ Correct EARS statements to match actual implementation
583
- ├─ Add discovered edge cases to acceptance criteria
584
- ├─ Update plan.md with implementation changes
585
- └─ Maintain TAG references (@SPEC, @CODE, @TEST consistency)
586
- ```
587
-
588
- #### Example: When synchronization is needed
589
-
590
- **Scenario 1: Bug Fix Changes Behavior**
591
- ```
592
- Git change: Fixed database connection retry logic
593
- - Was: Max 3 retries with 1-second delay
594
- - Now: Max 5 retries with exponential backoff
595
-
596
- SPEC update required:
597
- - spec.md: Update EARS statement for retry behavior
598
- - acceptance.md: Add test case for exponential backoff
599
- - Update @CODE TAG location if function moved
600
- ```
601
-
602
- **Scenario 2: API Signature Changes**
603
- ```
604
- Git change: Refactored authentication function signature
605
- - Was: validate_token(token: str) -> bool
606
- - Now: validate_token(token: str, ttl: int = 3600) -> dict
607
-
608
- SPEC update required:
609
- - spec.md: Update function requirements for new TTL parameter
610
- - acceptance.md: Add test cases for TTL validation
611
- - plan.md: Document reason for signature change
612
- ```
613
-
614
- **Scenario 3: New Edge Cases Discovered**
615
- ```
616
- Git change: Added null-check validation during testing
617
- - Discovered: Special handling needed for empty strings
618
-
619
- SPEC update required:
620
- - spec.md: Add EARS statement for empty string edge case
621
- - acceptance.md: Add test case for empty string handling
622
- - Link with @TEST TAG from test file
623
- ```
624
-
625
- #### SPEC-Code Divergence Detection:
626
-
627
- **Anti-pattern: Code without matching SPEC**
628
- ```
629
- ❌ WRONG: Code changes exist but SPEC documents unchanged
630
- - Function behavior diverges from specification
631
- - Acceptance criteria becomes inaccurate
632
- - @TAG chain breaks (CODE exists without matching SPEC reference)
633
-
634
- ✅ CORRECT: Code changes synchronized to SPEC
635
- - SPEC documents updated to match implementation
636
- - All EARS statements verified against actual code
637
- - @TAG chain maintained: SPEC ↔ CODE ↔ TEST ↔ DOC
638
- ```
639
-
640
- #### SPEC Synchronization Checklist (doc-syncer responsibility):
641
-
642
- Before marking sync as complete:
643
- - [ ] All changed code files reviewed against SPEC
644
- - [ ] EARS statements match implementation behavior
645
- - [ ] Acceptance criteria valid for current code
646
- - [ ] Edge cases discovered during implementation added to SPEC
647
- - [ ] @CODE/@TEST TAGs point to correct locations
648
- - [ ] @SPEC TAG references updated if files reorganized
649
- - [ ] HISTORY section updated if version changed
650
- - [ ] No spec-code divergence remains
651
-
652
- ---
653
-
654
- ## function
655
-
656
- - **Automatic Document Synchronization**: The doc-syncer agent performs Living Document synchronization and @TAG updates. Optionally implements the PR Ready transition only in team mode.
657
- - **SPEC-Code Alignment**: doc-syncer verifies that SPEC documents match implemented code and updates them when changes are detected.
658
-
659
- ## Synchronization output
660
-
661
- - `.moai/reports/sync-report.md` creation/update
662
- - TAG chain verification: Direct code scan (`rg '@TAG' -n src/ tests/`)
663
-
664
- ## Execution method by mode
665
-
666
- ## 📋 STEP 1 Implementation Guide: Analyzing the scope of synchronization and establishing a plan
667
-
668
- ### 1. Project status analysis
669
-
670
- Alfred calls the doc-syncer agent to analyze synchronization targets and scopes.
671
-
672
- #### Analysis Checklist
673
-
674
- - [ ] **Git status**: Changed files, branch status, commit history
675
- - [ ] **Document consistency**: Need for code-to-document synchronization
676
- - [ ] **TAG system**: @TAG scheme verification and broken links
677
- - [ ] **Sync scope**: Full vs partial vs specific path synchronization
678
-
679
- ### 2. Determine synchronization strategy
680
-
681
- #### Mode-specific synchronization approach
682
-
683
- | mode | Synchronization range | PR processing | Key Features |
684
- | ------------ | ------------------------------- | ---------------------- | ---------------------- |
685
- | **Personal** | Local document synchronization | checkpoint only | Focus on personal work |
686
- | **Team** | Full Sync + TAG | PR Ready conversion | Collaboration support |
687
- | **Auto** | Intelligent automatic selection | Decisions by situation | Optimal strategy |
688
- | **Force** | Force full sync | Full regeneration | For error recovery |
689
-
690
- #### Expected scope of work
691
-
692
- - **Living Document**: API documentation, README, architecture document
693
- - **TAG index**: Update `.moai/indexes/tags.db`
694
- - **Sync report**: `.moai/reports/sync-report.md`
695
- - **PR status**: Draft → Ready for Review transition
696
-
697
- ### 3. Generate synchronization plan report
698
-
699
- Present your plan in the following format:
700
-
701
- ```
702
- ## Document Synchronization Plan Report: [TARGET]
703
-
704
- ### 📊 Health Analysis Results
705
- - **Changed Files**: [Number and Type]
706
- - **Synchronization Required**: [High/Medium/Low]
707
- - **TAG System Status**: [Healthy/Problem Detected]
708
-
709
- ### 🎯 Sync Strategy
710
- - **Selected Mode**: [auto/force/status/project]
711
- - **Sync Scope**: [Full/Partial/Selective]
712
- - **PR Handling**: [Maintain/Switch Ready/Create New PR]
713
-
714
- ### ⚠️ Notes
715
- - **Potential conflicts**: [Possible document conflicts]
716
- - **TAG issues**: [Broken links, duplicate TAGs]
717
- - **Performance impact**: [Estimated time for large synchronization]
718
-
719
- ### ✅ Expected deliverables
720
- - **sync-report.md**: [Summary of sync results]
721
- - **tags.db**: [Updated TAG index]
722
- - **Living Documents**: [Updated document list]
723
- - **PR Status**: [PR transition in team mode]
724
-
725
- ---
726
- **Approval Request**: Do you want to proceed with synchronization using the above plan?
727
- (select “Proceed”, “Modify [Content]”, or “Abort”)
728
- ```
729
-
730
- ---
731
-
732
- ## 🚀 STEP 2 Implementation Guide: Document Synchronization (After Approval)
733
-
734
- Only when the user selects **"Proceed"** or **"Start"** will Alfred call the doc-syncer agent to perform Living Document synchronization and TAG updates.
735
-
736
- ### Sync step-by-step guide
737
-
738
- 1. **Living Document Synchronization**: Code → Document automatically reflected
739
- 2. **TAG System Verification**: @TAG System Integrity Verification
740
- 3. **Index Update**: Traceability Matrix Update
741
- 4. **Create Report**: Create a summary of synchronization results
742
-
743
- ### Agent collaboration structure
744
-
745
- - **Step 1**: The `doc-syncer` agent is dedicated to Living Document synchronization and @TAG management.
746
- - **Step 2**: The `git-manager` agent is dedicated to all Git commits, PR state transitions, and synchronization.
747
- - **Single Responsibility Principle**: doc-syncer only performs document tasks, and git-manager only performs Git tasks.
748
- - **Sequential execution**: Executes in the order doc-syncer → git-manager to maintain clear dependencies.
749
- - **No inter-agent calls**: Each agent does not directly call other agents, and executes commands. Runs sequentially in levels only.
750
-
751
- ## 🚀 Optimized parallel/sequential hybrid workflow
752
-
753
- ### Phase 1: Quick status check (parallel execution)
754
-
755
- Do the following **simultaneously**:
756
-
757
- ```
758
- Task 1 (haiku): Check Git status
759
- ├── Collect list of changed files
760
- ├── Check branch status
761
- └── Determine need for synchronization
762
-
763
- Task 2 (sonnet): Analyze document structure
764
- ├── Detect project type
765
- ├── Collect TAG list
766
- └── Determine synchronization scope
767
- ```
768
-
769
- ### Phase 2: Document synchronization (sequential execution)
770
-
771
- The `doc-syncer` agent (sonnet) handles intensive processing:
772
-
773
- - Living Document synchronization
774
- - @TAG system verification and update
775
- - Document-code consistency check
776
- - TAG traceability matrix update
777
-
778
- ### Phase 3: Git task processing (sequential execution)
779
-
780
- Final processing by the `git-manager` agent (haiku):
781
-
782
- - Commit document changes
783
- - Apply synchronization strategy for each mode
784
- - Switch PR Ready in Team mode
785
- - Automatically assign reviewers (using gh CLI)
786
-
787
- ### Phase 4: PR merge and branch cleanup (optional)
788
-
789
- Additional processing by `git-manager` when using the `--auto-merge` flag:
790
-
791
- **Team mode (GitFlow)**:
792
- 1. Check PR status (CI/CD pass check)
793
- 2. PR automatic merge (to develop branch)
794
- 3. Delete remote feature branch
795
- 4. Local develop checkout and synchronization
796
- 5. Organizing local feature branches
797
- 6. Notification that the next task is ready
798
-
799
- **Personal Mode**:
800
- 1. Local main/develop merge
801
- 2. Delete feature branch
802
- 3. Check out the base branch
803
- 4. Notification that the next task is ready
804
-
805
- **Performance improvements**: Minimize latency by parallelizing the initial verification step
806
-
807
- ### Argument handling
808
-
809
- - **$1 (mode)**: `$1` → `auto` (default)|`force`|`status`|`project`
810
- - **$2 (path)**: `$2` → Sync target path (optional)
811
- - **flags**:
812
- - `--auto-merge`: Enable PR automatic merge and branch cleanup (Team mode)
813
- - `--skip-pre-check`: Skip pre-quality check
814
- - `--skip-quality-check`: Skip final quality check
815
-
816
- **Command usage example**:
817
- - `/alfred:3-sync` - Basic automatic synchronization (optimized by mode)
818
- - `/alfred:3-sync --auto-merge` - PR automatic merge + branch cleanup (Team mode recommended)
819
- - `/alfred:3-sync force` - Force full synchronization
820
- - `/alfred:3-sync status` - Check synchronization status
821
- - `/alfred:3-sync project` - Integrated project synchronization
822
- - `/alfred:3-sync auto src/auth/` - Specific path Synchronization
823
- - `/alfred:3-sync --auto-merge --skip-pre-check` - Fast merge
824
-
825
- ### Agent role separation
826
-
827
- #### doc-syncer dedicated area
828
-
829
- - Living Document synchronization (code ↔ document)
830
- - @TAG system verification and update
831
- - Automatic creation/update of API document
832
- - README and architecture document synchronization
833
- - Verification of document-code consistency
834
-
835
- #### git-manager dedicated area
836
-
837
- - All Git commit operations (add, commit, push)
838
- - Apply synchronization strategy for each mode
839
- - PR status transition (Draft → Ready)
840
- - **PR auto merge** (when --auto-merge flag)
841
- - Check CI/CD status
842
- - Conflict verification
843
- - Execute Squash merge
844
- - Remote branch deletion
845
- - **Branch cleanup and conversion**
846
- - Local develop checkout
847
- - Remote synchronization (git pull)
848
- - Local feature branch deletion
849
- - Automatic assignment and labeling of reviewers
850
- - GitHub CLI integration and remote synchronization
851
-
852
- ### 🧪 Personal Mode
853
-
854
- - The git-manager agent automatically creates checkpoints before and after synchronization
855
- - The README, in-depth documentation, and PR body are organized manually according to the checklist.
856
-
857
- ### 🏢 Team Mode
858
-
859
- - Full synchronization of Living Document + @TAG verification/correction
860
- - Optionally perform PR Ready conversion and labeling only when gh CLI is set
861
- - Fully automated when using **--auto-merge flag**:
862
- 1. Document synchronization complete.
863
- 2. git push origin feature/SPEC-{ID}
864
- 3. gh pr ready {PR_NUMBER}
865
- 4. Check CI/CD status (gh pr checks)
866
- 5. gh pr merge --squash --delete-branch
867
- 6. git checkout develop && git pull origin develop
868
- 7. Notification that the next task is ready
869
-
870
- **Important**: All Git operations (commit, sync, PR management) are handled by the git-manager agent, so this command does not run Git operations directly.
871
-
872
- **Branch Policy**:
873
- - Base branch: `develop` (GitFlow standard)
874
- - After merge: automatically checkout `develop`
875
- - Next `/alfred:1-plan` automatically starts in `develop`
876
-
877
- ## Synchronization Details (Summary)
878
-
879
- 1. Project analysis and TAG verification → Check broken/duplicate/orphaned TAG
880
- 2. Code ↔ Document synchronization → API/README/architecture document update, SPEC ↔ Code TODO synchronization
881
- 3. TAG chain verification → `rg '@TAG' -n src/ tests/` (scan code directly)
882
-
883
- ## Next steps
884
-
885
- **Recommendation**: For better performance and context management, start a new chat session with the `/clear` or `/new` command before proceeding to the next step.
886
-
887
- - The entire MoAI-ADK workflow is completed after document synchronization is completed
888
- - All Git operations are dedicated to the git-manager agent to ensure consistency
889
- - Only command-level orchestration is used without direct calls between agents
890
-
891
- ## Report results
892
-
893
- Report synchronization results in a structured format:
894
-
895
- ### Successful synchronization (summary example)
896
-
897
- ✅ Document synchronization complete — Update N, Create M, TAG Modify K, Verification passed
898
-
899
- ### Partial synchronization (problem detected)
900
-
901
- ```
902
- ⚠️ Partial sync completed (issue found)
903
-
904
- ❌ Problems that need solving:
905
- ├── Broken links: X (specific list)
906
- ├── Duplicate TAG: X
907
- └── Orphan TAG: X
908
-
909
- 🛠️ Auto-correction recommendations:
910
- 1. Broken link recovery
911
- 2. Merge duplicate TAGs
912
- 3. Orphan TAG cleanup
913
- ```
914
-
915
- ## 🎯 PR Merge Strategy Selection (DECISION POINT 2)
916
-
917
- After document synchronization completes successfully, Alfred checks team mode and invokes AskUserQuestion for PR merge strategy:
918
-
919
- ```python
920
- AskUserQuestion(
921
- questions=[
922
- {
923
- "question": "Document synchronization complete. How would you like to handle the PR?",
924
- "header": "PR Merge Strategy",
925
- "multiSelect": false,
926
- "options": [
927
- {
928
- "label": "🤖 Auto-Merge (Recommended)",
929
- "description": "Automatically merge PR and clean up branch (team mode)"
930
- },
931
- {
932
- "label": "📋 Manual Review",
933
- "description": "Keep PR in Ready state for manual review and merge"
934
- },
935
- {
936
- "label": "✏️ Keep as Draft",
937
- "description": "Maintain PR in draft state for further refinement"
938
- },
939
- {
940
- "label": "🔄 New Cycle",
941
- "description": "Save changes and start new feature (skip PR for now)"
942
- }
943
- ]
944
- }
945
- ]
946
- )
947
- ```
948
-
949
- **Response Processing**:
950
- - **🤖 Auto-Merge** (`answers["0"] === "Auto-Merge"`) → Execute PR auto-merge with CI checks, update develop branch
951
- - **📋 Manual Review** (`answers["0"] === "Manual"`) → Transition PR to Ready state, notify reviewers
952
- - **✏️ Keep as Draft** (`answers["0"] === "Draft"`) → Leave PR in draft, ready for refinement
953
- - **🔄 New Cycle** (`answers["0"] === "New"`) → Skip PR handling, proceed to next feature planning
954
-
955
- ---
956
-
957
- ## Final Step
958
-
959
- After PR strategy is confirmed, Alfred invokes AskUserQuestion to ask the user what to do next:
960
-
961
- ```python
962
- AskUserQuestion(
963
- questions=[
964
- {
965
- "question": "Documentation synchronization complete. What would you like to do next?",
966
- "header": "Next Steps",
967
- "multiSelect": false,
968
- "options": [
969
- {
970
- "label": "📋 Create Next SPEC",
971
- "description": "Start new feature planning with /alfred:1-plan"
972
- },
973
- {
974
- "label": "📤 Merge PR",
975
- "description": "Review and merge PR to develop branch"
976
- },
977
- {
978
- "label": "🔄 Start New Session",
979
- "description": "Execute /clear for fresh session (recommended for performance)"
980
- }
981
- ]
982
- }
983
- ]
984
- )
985
- ```
986
-
987
- **User Responses**:
988
- - **📋 Create Next SPEC**: Proceed to `/alfred:1-plan` for creating next SPEC
989
- - **📤 Merge PR**: Manual PR review and merge on GitHub
990
- - **🔄 Start New Session**: Execute `/clear` to start fresh session (recommended for performance)
991
-
992
- ---
993
-
994
- ## Next steps guidance
995
-
996
- ### Development cycle complete
997
-
998
- **Default mode (PR Ready only)**:
999
- ```
1000
- 🔄 MoAI-ADK 3-step workflow completion:
1001
- ✅ /alfred:1-plan → Create EARS specification (feature/SPEC-{ID} branch)
1002
- ✅ /alfred:2-run → TDD implementation
1003
- ✅ /alfred:3-sync → Document synchronization + PR Ready
1004
-
1005
- ⏳ Next steps: PR review and manual merge required
1006
- > gh pr view (check PR)
1007
- > gh pr merge --squash (merge after review)
1008
- ```
1009
-
1010
- **Auto Merge Mode (Recommended)**:
1011
- ```
1012
- 🔄 Fully automated GitFlow workflow:
1013
- ✅ /alfred:1-plan → EARS specification creation (from develop)
1014
- ✅ /alfred:2-run → TDD implementation
1015
- ✅ /alfred:3-sync --auto-merge → Document synchronization + PR Merge + branch cleanup
1016
-
1017
- 🎉 Automatic switch to develop branch done!
1018
- 📍 You are here: develop (ready for next work)
1019
- > /alfred:1-plan "Describe next feature" # Create new branch in develop
1020
- ```
1021
-
1022
- ### Integrated project mode
1023
-
1024
- **When to use**:
1025
- - When the implementation of multiple SPECs has been completed and the entire project documentation needs to be updated
1026
- - When periodic synchronization of the entire document in Personal mode is required.
1027
-
1028
- **Differences from Personal/Team mode**:
1029
- - **Personal/Team mode**: Synchronize only specific SPEC-related documents
1030
- - **Project mode**: Synchronize README, architecture documentation, and entire API documentation
1031
-
1032
- **Output**:
1033
- - README.md (updated complete feature list)
1034
- - docs/architecture.md (updated system design)
1035
- - docs/api/ (unified API documentation)
1036
- - .moai/indexes/ (rebuilt full TAG index)
1037
-
1038
- ```
1039
- 🏢 Integrated branch sync complete!
1040
-
1041
- 📋 Entire project synchronization:
1042
- ├── README.md (full feature list)
1043
- ├── docs/architecture.md (system design)
1044
- ├── docs/api/ (unified API documentation)
1045
- └── .moai/indexes/ (full TAG index)
1046
-
1047
- 🎯 PR conversion support completed
1048
- ```
1049
-
1050
- ## Constraints and Assumptions
1051
-
1052
- **Environment Dependency:**
1053
-
1054
- - Git repository required
1055
- - gh CLI (required for GitHub integration)
1056
- - Python3 (TAG verification script)
1057
-
1058
- **Prerequisites:**
1059
-
1060
- - MoAI-ADK project structure (.moai/, .claude/)
1061
- - TDD implementation completion status
1062
- - Compliance with TRUST 5 principles
1063
-
1064
- **Limitations:**
1065
-
1066
- - TAG verification is based on file existence
1067
- - PR automatic conversion only works in gh CLI environment
1068
- - Coverage figures need to be measured separately
1069
-
1070
- ---
1071
-
1072
- ## 🧠 Context Management
1073
-
1074
- > For more information: Skill("moai-alfred-dev-guide") - see section "Context Engineering"
1075
-
1076
- ### Core strategy of this command
1077
-
1078
- **Load first**: `.moai/reports/sync-report-latest.md` (old sync state)
1079
-
1080
- **Recommendation**: Document synchronization is complete. Now that the entire MoAI-ADK cycle (1-spec → 2-build → 3-sync) has been completed, start a new conversation session with the `/clear` or `/new` command before developing the next feature.
1081
-
1082
- ---
1083
-
1084
- **Aims to improve code-document consistency and ensure @TAG traceability by linking with the doc-syncer subagent.**