moai-adk 0.15.0__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 -392
  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 -1525
  134. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -802
  135. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -709
  136. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1009
  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.0.dist-info/METADATA +0 -3079
  414. moai_adk-0.15.0.dist-info/RECORD +0 -365
  415. {moai_adk-0.15.0.dist-info β†’ moai_adk-0.25.4.dist-info}/WHEEL +0 -0
  416. {moai_adk-0.15.0.dist-info β†’ moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
  417. {moai_adk-0.15.0.dist-info β†’ moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,802 +0,0 @@
1
- ---
2
- name: alfred:1-plan
3
- description: "Define specifications and create development branch"
4
- argument-hint: Title 1 Title 2 ... | SPEC-ID modifications
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - MultiEdit
10
- - Grep
11
- - Glob
12
- - TodoWrite
13
- - Bash(git:*)
14
- - Bash(gh:*)
15
- - Bash(rg:*)
16
- - Bash(mkdir:*)
17
- ---
18
-
19
- # πŸ—οΈ MoAI-ADK Step 1: Establish a plan (Plan) - Always make a plan first and then proceed.
20
- > **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.
21
- >
22
- > **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.
23
-
24
- <!-- @CODE:ALF-WORKFLOW-001:CMD-PLAN -->
25
-
26
- **4-Step Workflow Integration**: This command implements Steps 1-2 of Alfred's workflow (Intent Understanding β†’ Plan Creation). See CLAUDE.md for full workflow details.
27
-
28
- ## 🎯 Command Purpose
29
-
30
- **"Plan β†’ Run β†’ Sync"** As the first step in the workflow, it supports the entire planning process from ideation to plan creation.
31
-
32
- **Plan for**: $ARGUMENTS
33
-
34
- ## πŸ€– CodeRabbit AI Integration (Local Only)
35
-
36
- This local environment includes CodeRabbit AI review integration for SPEC documents:
37
-
38
- **Automatic workflows:**
39
- - βœ… SPEC review: CodeRabbit analyzes SPEC metadata and EARS structure
40
- - βœ… GitHub Issue sync: SPEC files automatically create/update GitHub Issues
41
- - βœ… Auto-approval: Draft PRs are approved when quality meets standards (80%+)
42
- - βœ… SPEC quality validation: Checklist for metadata, structure, and content
43
-
44
- **Scope:**
45
- - 🏠 **Local environment**: Full CodeRabbit integration with auto-approval
46
- - πŸ“¦ **Published packages**: Users get GitHub Issue sync only (no CodeRabbit)
47
-
48
- > See `.coderabbit.yaml` for detailed review rules and SPEC validation checklist
49
-
50
- ## πŸ’‘ Planning philosophy: "Always make a plan first and then proceed."
51
-
52
- `/alfred:1-plan` is a general-purpose command that **creates a plan**, rather than simply β€œcreating” a SPEC document.
53
-
54
- ### 3 main scenarios
55
-
56
- #### Scenario 1: Creating a Plan (Primary Method) ⭐
57
- ```bash
58
- /alfred:1-plan "User authentication function"
59
- β†’ Refine idea
60
- β†’ Requirements specification using EARS syntax
61
- β†’ Create feature/SPEC-XXX branch
62
- β†’ Create Draft PR
63
- ```
64
-
65
- #### Scenario 2: Brainstorming
66
- ```bash
67
- /alfred:1-plan "Payment system improvement idea"
68
- β†’ Organizing and structuring ideas
69
- β†’ Deriving requirements candidates
70
- β†’ Technical review and risk analysis
71
- ```
72
-
73
- #### Scenario 3: Improve existing SPEC
74
- ```bash
75
- /alfred:1-plan "SPEC-AUTH-001 Security Enhancement"
76
- β†’ Analyze existing plan
77
- β†’ Establish improvement direction
78
- β†’ Create new version plan
79
- ```
80
-
81
- > **Standard two-step workflow** (see `CLAUDE.md` - "Alfred Command Execution Pattern" for details)
82
-
83
- ## πŸ“‹ Execution flow
84
-
85
- 1. **Project Analysis**: In-depth analysis of product/structure/tech.md
86
- 2. **SPEC candidate discovery**: Prioritization based on business requirements
87
- 3. **User Verification**: Review and approve writing plan
88
- 4. **Plan creation**: Generate specifications of EARS structure (spec.md, plan.md, acceptance.md)
89
- 5. **Git operations**: Create branches/PRs via git-manager
90
-
91
- ## 🧠 Associated Skills & Agents
92
-
93
- | Agent | Core Skill | Purpose |
94
- | ------------ | -------------------------- | --------------------------- |
95
- | spec-builder | `moai-foundation-ears` | Write SPEC with EARS syntax |
96
- | git-manager | `moai-alfred-git-workflow` | Create branch and PR |
97
-
98
- **Note**: TUI Survey Skill is used for user confirmations during the plan phase and is shared across all interactive prompts.
99
-
100
- ## πŸ”— Associated Agent
101
-
102
- - **Primary**: spec-builder (πŸ—οΈ System Architect) - Dedicated to writing SPEC documents
103
- - **Secondary**: git-manager (πŸš€ Release Engineer) - Dedicated to creating Git branches/PRs
104
-
105
- ## πŸ’‘ Example of use
106
-
107
- Users can run commands like this:
108
- - `/alfred:1-plan` - Auto-suggestion based on project documents
109
- - `/alfred:1-plan "JWT authentication system"` - Manually create a single SPEC
110
- - `/alfred:1-plan SPEC-001 "Security hardening"` - Supplementation of existing SPEC
111
-
112
- ## πŸ” STEP 1: Project analysis and planning
113
-
114
- STEP 1 consists of **two independent phases** to provide flexible workflow based on user request clarity:
115
-
116
- ### πŸ“‹ STEP 1 Workflow Overview
117
-
118
- ```
119
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
120
- β”‚ STEP 1: Project Analysis & Planning β”‚
121
- β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
122
- β”‚ β”‚
123
- β”‚ Phase A (OPTIONAL) β”‚
124
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
125
- β”‚ β”‚ πŸ” Explore Agent β”‚ β”‚
126
- β”‚ β”‚ β€’ Find relevant files by keywords β”‚ β”‚
127
- β”‚ β”‚ β€’ Locate existing SPEC documents β”‚ β”‚
128
- β”‚ β”‚ β€’ Identify implementation patterns β”‚ β”‚
129
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
130
- β”‚ ↓ β”‚
131
- β”‚ (exploration results) β”‚
132
- β”‚ ↓ β”‚
133
- β”‚ Phase B (REQUIRED) β”‚
134
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
135
- β”‚ β”‚ βš™οΈ spec-builder Agent β”‚ β”‚
136
- β”‚ β”‚ β€’ Analyze project documents β”‚ β”‚
137
- β”‚ β”‚ β€’ Propose SPEC candidates β”‚ β”‚
138
- β”‚ β”‚ β€’ Design EARS structure β”‚ β”‚
139
- β”‚ β”‚ β€’ Request user approval β”‚ β”‚
140
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
141
- β”‚ ↓ β”‚
142
- β”‚ (user approval via AskUserQuestion) β”‚
143
- β”‚ ↓ β”‚
144
- β”‚ PROCEED TO STEP 2 β”‚
145
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
146
- ```
147
-
148
- **Key Points**:
149
- - **Phase A is optional** - Skip if user provides clear SPEC title
150
- - **Phase B is required** - Always runs to analyze project and create SPEC
151
- - **Results flow forward** - Exploration results (if any) are passed to spec-builder
152
-
153
- ---
154
-
155
- ### πŸ” Phase A: Codebase Exploration (OPTIONAL)
156
-
157
- **Use the Explore agent when user request is unclear or needs context.**
158
-
159
- #### When to use Phase A:
160
-
161
- - βœ… User uses vague keywords ("where is...", "find me...", "related to...")
162
- - βœ… Need to understand existing code structure before planning
163
- - βœ… Feature spans multiple files or modules
164
- - ❌ User provides clear SPEC title (skip to Phase B)
165
-
166
- #### How to invoke Explore agent:
167
-
168
- ```
169
- Invoking the Task tool (Explore agent):
170
- - subagent_type: "Explore"
171
- - description: "Explore related files in the codebase"
172
- - prompt: "λ‹€μŒ ν‚€μ›Œλ“œμ™€ κ΄€λ ¨λœ λͺ¨λ“  νŒŒμΌμ„ μ°Ύμ•„μ£Όμ„Έμš”: $ARGUMENTS
173
- - 파일 μœ„μΉ˜ (src/, tests/, docs/)
174
- - κ΄€λ ¨ SPEC λ¬Έμ„œ (.moai/specs/)
175
- - κΈ°μ‘΄ κ΅¬ν˜„ μ½”λ“œ
176
- 상세도 μˆ˜μ€€: medium"
177
- ```
178
-
179
- **Note**: If user provides clear SPEC title, skip Phase A and proceed directly to Phase B.
180
-
181
- ---
182
-
183
- ### βš™οΈ Phase B: SPEC Planning (REQUIRED)
184
-
185
- **Call the spec-builder agent to analyze project and create SPEC documents.**
186
-
187
- This phase is **always required** regardless of whether Phase A was executed.
188
-
189
- #### How to invoke spec-builder:
190
-
191
- ```
192
- Call the Task tool:
193
- - subagent_type: "spec-builder"
194
- - description: "Analyze the plan and establish a plan"
195
- - prompt: """당신은 spec-builder μ—μ΄μ „νŠΈμž…λ‹ˆλ‹€.
196
-
197
- μ–Έμ–΄ μ„€μ •:
198
- - λŒ€ν™”_μ–Έμ–΄: {{CONVERSATION_LANGUAGE}}
199
- - μ–Έμ–΄λͺ…: {{CONVERSATION_LANGUAGE_NAME}}
200
-
201
- μ€‘μš” μ§€μ‹œμ‚¬ν•­:
202
- SPEC λ¬Έμ„œλŠ” 이쀑 μ–Έμ–΄ ꡬ쑰λ₯Ό 따라야 ν•©λ‹ˆλ‹€ (μ‚¬μš©μž μ–Έμ–΄ + μ˜μ–΄ μš”μ•½):
203
-
204
- conversation_language == 'ko' (ν•œκ΅­μ–΄)인 경우:
205
- - YAML 메타데이터: μ˜μ–΄λ§Œ μ‚¬μš©
206
- - 제λͺ© (@SPEC νƒœκ·Έ): ν•œκ΅­μ–΄ μ£Όμš”, μ˜μ–΄ 버전은 ν•˜λ‹¨μ— 기재
207
- - μ£Όμš” λ‚΄μš© (뢄석, μš”κ΅¬μ‚¬ν•­, EARS): ν•œκ΅­μ–΄
208
- - SUMMARY μ„Ήμ…˜: μ˜μ–΄ (ꡭ제 κΈ°μ—¬μžλ₯Ό μœ„ν•΄ 100-200단어)
209
- - HISTORY: ν•œκ΅­μ–΄ (μƒˆλ‘œμš΄ ν•­λͺ©), μ£Όμš” λ²„μ „μ—λŠ” μ˜μ–΄ μš”μ•½
210
-
211
- conversation_language == 'ja' (일본어)인 경우:
212
- - ν•œκ΅­μ–΄μ™€ λ™μΌν•œ 이쀑 μ–Έμ–΄ νŒ¨ν„΄ μ‚¬μš©
213
- - μ£Όμš” λ‚΄μš©: 일본어
214
- - SUMMARY: μ˜μ–΄
215
-
216
- λ‹€λ₯Έ 언어인 경우:
217
- - μ£Όμš” λ‚΄μš©: μ‚¬μš©μž μ§€μ • μ–Έμ–΄
218
- - SUMMARY: μ˜μ–΄ (항상)
219
-
220
- μŠ€ν‚¬ 호좜:
221
- ν•„μš” μ‹œ λͺ…μ‹œμ  Skill() 호좜 μ‚¬μš©:
222
- - Skill("moai-foundation-specs") - SPEC ꡬ쑰 κ°€μ΄λ“œ
223
- - Skill("moai-foundation-ears") - EARS 문법 μš”κ΅¬μ‚¬ν•­
224
- - Skill("moai-alfred-spec-metadata-validation") - 메타데이터 검증
225
-
226
- μž‘μ—…:
227
- ν”„λ‘œμ νŠΈ λ¬Έμ„œλ₯Ό λΆ„μ„ν•˜μ—¬ SPEC ν›„λ³΄μžλ₯Ό μ œμ‹œν•΄μ£Όμ„Έμš”.
228
- 뢄석 λͺ¨λ“œλ‘œ μ‹€ν–‰ν•˜λ©°, λ‹€μŒμ„ 포함해야 ν•©λ‹ˆλ‹€:
229
- 1. product/structure/tech.md의 심측 뢄석
230
- 2. SPEC ν›„λ³΄μž 식별 및 μš°μ„ μˆœμœ„ κ²°μ •
231
- 3. EARS ꡬ쑰 섀계
232
- 4. μ‚¬μš©μž 승인 λŒ€κΈ°
233
-
234
- μ‚¬μš©μž μž…λ ₯: $ARGUMENTS
235
- (선택사항) 탐색 κ²°κ³Ό: $EXPLORE_RESULTS"""
236
- ```
237
-
238
- **Note**: If Phase A was executed, pass the exploration results via `$EXPLORE_RESULTS` variable.
239
-
240
- ### Plan analysis progress
241
-
242
- 1. **Project document analysis**
243
- - In-depth analysis of product/structure/tech.md
244
- - Review existing SPEC list and priorities (.moai/specs/ scan)
245
- - Evaluate implementation feasibility and complexity
246
- - (Optional) Identify existing code structure by reflecting the Explore results
247
-
248
- 2. **Discovering SPEC candidates**
249
- - Extracting core business requirements
250
- - Reflecting technical constraints
251
- - Creating a list of SPEC candidates by priority
252
-
253
- 3. **Implementation plan report**
254
- - Present step-by-step plan creation plan
255
- - Estimated scope of work and dependency analysis
256
- - Design EARS structure and Acceptance Criteria
257
-
258
- ### User verification steps
259
-
260
- After reviewing your implementation plan, Alfred invokes `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` to present the following options:
261
- - **"Go"** or **"Start"**: Start writing the plan as planned
262
- - **"Modify [Content]"**: Request modifications to the plan
263
- - **"Stop"**: Stop writing the plan
264
-
265
- ---
266
-
267
- ## πŸš€ STEP 2: Create plan document (after user approval)
268
-
269
- After user approval (collected via `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`), call the spec-builder and git-manager agents using the **Task tool**.
270
-
271
- ### βš™οΈ How to call an agent
272
-
273
- ```
274
- 1. Call spec-builder (create plan):
275
- - subagent_type: "spec-builder"
276
- - description: "Create SPEC document"
277
- - prompt: """당신은 spec-builder μ—μ΄μ „νŠΈμž…λ‹ˆλ‹€.
278
-
279
- μ–Έμ–΄ μ„€μ •:
280
- - λŒ€ν™”_μ–Έμ–΄: {{CONVERSATION_LANGUAGE}}
281
- - μ–Έμ–΄λͺ…: {{CONVERSATION_LANGUAGE_NAME}}
282
-
283
- μ€‘μš” μ§€μ‹œμ‚¬ν•­:
284
- λͺ¨λ“  SPEC λ¬Έμ„œλŠ” λŒ€ν™”_μ–Έμ–΄λ‘œ μž‘μ„±λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€:
285
- - spec.md: 전체 λ¬Έμ„œλ₯Ό λŒ€ν™”_μ–Έμ–΄λ‘œ μž‘μ„±
286
- - plan.md: 전체 λ¬Έμ„œλ₯Ό λŒ€ν™”_μ–Έμ–΄λ‘œ μž‘μ„±
287
- - acceptance.md: 전체 λ¬Έμ„œλ₯Ό λŒ€ν™”_μ–Έμ–΄λ‘œ μž‘μ„±
288
-
289
- YAML ν”„λ‘ νŠΈλ§€ν„°μ™€ @TAG μ‹λ³„μžλŠ” λ°˜λ“œμ‹œ μ˜μ–΄λ‘œ μœ μ§€ν•©λ‹ˆλ‹€.
290
- μ½”λ“œ μ˜ˆμ œμ™€ 기술 ν‚€μ›Œλ“œλŠ” ν˜Όν•© κ°€λŠ₯ (μ½”λ“œλŠ” μ˜μ–΄, μ„€λͺ…은 μ‚¬μš©μž μ–Έμ–΄).
291
-
292
- μŠ€ν‚¬ 호좜:
293
- ν•„μš” μ‹œ λͺ…μ‹œμ  Skill() 호좜 μ‚¬μš©:
294
- - Skill("moai-foundation-specs") - SPEC ꡬ쑰 κ°€μ΄λ“œ
295
- - Skill("moai-foundation-ears") - EARS 문법 μš”κ΅¬μ‚¬ν•­
296
- - Skill("moai-alfred-spec-metadata-validation") - 메타데이터 검증
297
- - Skill("moai-alfred-tag-scanning") - TAG 체인 참쑰
298
-
299
- μž‘μ—…:
300
- STEP 1μ—μ„œ 승인된 κ³„νšμ— 따라 SPEC λ¬Έμ„œλ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.
301
- EARS ꡬ쑰에 λŒ€ν•œ λͺ…μ„Έλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€."""
302
-
303
- 2. Invoke git-manager (Git task):
304
- - subagent_type: "git-manager"
305
- - description: "Create Git branch/PR with duplicate prevention"
306
- - prompt: """당신은 git-manager μ—μ΄μ „νŠΈμž…λ‹ˆλ‹€.
307
-
308
- μ–Έμ–΄ μ„€μ •:
309
- - λŒ€ν™”_μ–Έμ–΄: {{CONVERSATION_LANGUAGE}}
310
- - μ–Έμ–΄λͺ…: {{CONVERSATION_LANGUAGE_NAME}}
311
-
312
- μ€‘μš” μ§€μ‹œμ‚¬ν•­ (νŒ€ λͺ¨λ“œ 쀑볡 λ°©μ§€):
313
- GitHub Issue λ˜λŠ” PR을 λ§Œλ“€κΈ° 전에:
314
- 1. 항상 제λͺ©μ— SPEC-IDκ°€ μžˆλŠ” κΈ°μ‘΄ Issueλ₯Ό ν™•μΈν•˜μ„Έμš”
315
- 2. 항상 feature/SPEC-{ID} 브랜치λͺ…μ˜ κΈ°μ‘΄ PR을 ν™•μΈν•˜μ„Έμš”
316
- 3. Issueκ°€ μ‘΄μž¬ν•˜λ©΄ β†’ μ—…λ°μ΄νŠΈ, 쀑볡 생성 κΈˆμ§€
317
- 4. PR이 μ‘΄μž¬ν•˜λ©΄ β†’ μ—…λ°μ΄νŠΈ, 쀑볡 생성 κΈˆμ§€
318
- 5. λ‘˜ λ‹€ μ‘΄μž¬ν•˜λ©΄ β†’ μ΅œμ‹  SPEC λ²„μ „μœΌλ‘œ λͺ¨λ‘ μ—…λ°μ΄νŠΈ
319
- 6. λ ˆμ΄λΈ” ν•„ν„° μ‹€νŒ¨ μ‹œ λŒ€μ²΄ 검색 μ‚¬μš© (일뢀 IssueλŠ” λ ˆμ΄λΈ” 없을 수 있음)
320
- 7. 항상 λ ˆμ΄λΈ” μΆ”κ°€: "spec", "planning", + μš°μ„ μˆœμœ„ λ ˆμ΄λΈ”
321
-
322
- git-manager.md의 "SPEC μž‘μ„± μ‹œ" μ„Ήμ…˜μ—μ„œ μžμ„Έν•œ 쀑볡 λ°©μ§€ ν”„λ‘œν† μ½œκ³Ό μ½”λ“œ 예제λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.
323
-
324
- μž‘μ—…:
325
- μ™„μ„±λœ SPEC λ¬Έμ„œμ— λŒ€ν•΄ κΈ°λŠ₯ 브랜치(feature/SPEC-{SPEC_ID})와 Draft PR(β†’ develop)을 μƒμ„±ν•©λ‹ˆλ‹€.
326
- GitHub μ—”ν‹°ν‹°λ₯Ό μƒμ„±ν•˜κΈ° 전에 쀑볡 λ°©μ§€ ν”„λ‘œν† μ½œμ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.
327
-
328
- 좜λ ₯ μ–Έμ–΄: {{CONVERSATION_LANGUAGE}}"""
329
- ```
330
-
331
- ## function
332
-
333
- - **Project document analysis**: Analyzes `.moai/project/{product,structure,tech}.md` to suggest implementation candidates and generates SPEC after user approval.
334
- - **Personal mode**: Create a `.moai/specs/SPEC-{ID}/` directory and a template document (**Directory name format required**: `SPEC-` prefix + TAG ID).
335
- - **Team mode**: Create a GitHub Issue (or Discussion) Associate it with a branch template.
336
-
337
- ## How to use
338
-
339
- The user executes the command in the form:
340
- - `/alfred:1-plan` - Auto-suggestion based on project documents (recommended)
341
- - `/alfred:1-plan "JWT Authentication System"` - Manually create a single SPEC
342
- - `/alfred:1-plan SPEC-001 "Security Reinforcement"` - Supplementation of existing SPEC
343
-
344
- If not entered, 3 to 5 priorities will be suggested based on the Q&A results, and only the approved items will be confirmed as actual SPECs.
345
-
346
- ## Summary of processing by mode
347
-
348
- | mode | output | Branch Strategy | Additional Actions |
349
- | -------- | -------------------------------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
350
- | Personal | Templates `.moai/specs/SPEC-XXX/spec.md`, `plan.md`, `acceptance.md`, etc. | Branch from `main` or `develop` (based on settings) | git-manager agent automatically creates checkpoints |
351
- | Team | GitHub Issue (`[SPEC-XXX] Title`), Draft PR (optional) | **Always branch from `develop`** (GitFlow standard) | `gh` CLI stay logged in, Draft PR β†’ develop created |
352
-
353
- ## Input options
354
-
355
- - **Automatic suggestion**: `/alfred:1-plan` β†’ Create a list of candidates based on the core bullet of the project document
356
- - **Manual creation**: Pass the title as an argument β†’ Create only 1 case, Acceptance template is supplemented after reply
357
- - **Supplementation mode**: `SPEC-ID Delivered in β€œmemo” format β†’ Update existing SPEC document/Issue
358
-
359
- ## πŸ“‹ STEP 1 Execution Guide: Project Analysis and Planning
360
-
361
- ### ⚠️ Essential rules: Directory naming convention
362
-
363
- **Format that must be followed**: `.moai/specs/SPEC-{ID}/`
364
-
365
- **Correct Example**:
366
- - βœ… `SPEC-AUTH-001/`
367
- - βœ… `SPEC-REFACTOR-001/`
368
- - βœ… `SPEC-UPDATE-REFACTOR-001/`
369
-
370
- **Incorrect example**:
371
- - ❌ `AUTH-001/` (missing SPEC- prefix)
372
- - ❌ `SPEC-001-auth/` (additional text after ID)
373
- - ❌ `SPEC-AUTH-001-jwt/` (additional text after ID)
374
-
375
- **Duplicate check required**: Before creating a new SPEC ID, be sure to search the existing TAG ID to prevent duplication.
376
-
377
- **Composite Domain Rules**:
378
- - βœ… Allow: `UPDATE-REFACTOR-001` (2 domains)
379
- - ⚠️ Caution: `UPDATE-REFACTOR-FIX-001` (3+ domains, simplification recommended)
380
-
381
- ---
382
-
383
- ### 1. Analysis of project documents
384
-
385
- Alfred calls the spec-builder agent to perform project document-based planning analysis and planning.
386
-
387
- #### Analysis Checklist
388
-
389
- - [ ] **Requirements extraction**: Identify key business requirements in product.md
390
- - [ ] **Architectural constraints**: Identify system design constraints in structure.md
391
- - [ ] **Technical constraints**: Technology stack and quality policy in tech.md
392
- - [ ] **Existing SPEC**: Review current SPEC list and priorities
393
-
394
- ### 2. SPEC candidate discovery strategy
395
-
396
- #### Prioritization criteria
397
-
398
- | Priority | standards | SPEC Candidate Type |
399
- | ---------- | --------------------------- | ------------------------------------------- |
400
- | **High** | Core Business Values ​​ | User core functions, API design |
401
- | **Medium** | System Stability | Authentication/Security, Data Management |
402
- | **Low** | Improvements and expansions | UI/UX improvement, performance optimization |
403
-
404
- #### Approach by SPEC type
405
-
406
- - **API/Backend**: Endpoint design, data model, authentication
407
- - **Frontend**: User interface, state management, routing
408
- - **Infrastructure**: Deployment, monitoring, security policy
409
- - **Quality**: Test strategy, performance criteria, documentation
410
-
411
- ### 3. Create a plan Create a plan report
412
-
413
- Present your plan in the following format:
414
-
415
- ```
416
- ## Plan Creation Plan Report: [TARGET]
417
-
418
- ### πŸ“Š Analysis Results
419
- - **Discovered SPEC Candidates**: [Number and Category]
420
- - **High Priority**: [List of Core SPECs]
421
- - **Estimated Work Time**: [Time Estimation]
422
-
423
- ### 🎯 Writing Strategy
424
- - **Selected SPEC**: [SPEC ID and Title to Write]
425
- - **EARS Structure**: [Event-Action-Response-State Design]
426
- - **Acceptance Criteria**: [Given-When-Then Scenario]
427
-
428
- ### πŸ“¦ Technology stack and library versions (optional)
429
- **Included only if technology stack is determined during planning stage**:
430
- - **Web search**: Use `WebSearch` to find the latest stable versions of key libraries to use
431
- - **Specify versions**: Specify exact versions for each library, e.g. `fastapi>=0.118.3`)
432
- - **Stability priority**: Exclude beta/alpha versions, select only production stable versions
433
- - **Note**: Detailed version is finalized in `/alfred:2-run` stage
434
-
435
- ### ⚠️ Precautions
436
- - **Technical constraints**: [Restraints to consider]
437
- - **Dependency**: [Relevance with other SPECs]
438
- - **Branch strategy**: [Processing by Personal/Team mode]
439
-
440
- ### βœ… Expected deliverables
441
- - **spec.md**: [Core specifications of the EARS structure]
442
- - **plan.md**: [Implementation plan]
443
- - **acceptance.md**: [Acceptance criteria]
444
- - **Branches/PR**: [Git operations by mode]
445
-
446
- ---
447
- **Approval Request**: Would you like to proceed with creating a plan with the above plan?
448
- (Choose between β€œProceed,” β€œModify [Content],” or β€œAbort”)
449
- ```
450
-
451
- ---
452
-
453
- ## πŸš€ STEP 2 Implementation Guide: Create a Plan (After Approval)
454
-
455
- Only if the user selects **"Proceed"** or **"Start"** will Alfred call the spec-builder agent to begin building the SPEC document.
456
-
457
- ### EARS specification writing guide
458
-
459
- 1. **Event**: Define trigger events that occur in the system
460
- 2. **Action**: Specification of the system's action for an event
461
- 3. **Response**: Defining a response as a result of an action
462
- 4. **State**: Specifies system state changes and side effects
463
-
464
- **Example** (see `development-guide.md` for details):
465
- ```markdown
466
- ### Ubiquitous Requirements
467
- - The system must provide user authentication functionality
468
-
469
- ### Event-driven Requirements
470
- - WHEN the user logs in with valid credentials, the system must issue a JWT token
471
-
472
- ### State-driven Requirements
473
- - When the WHILE token is in an unexpired state, the system must allow access to the protected resource.
474
-
475
- ### Unwanted Behaviors
476
- - If the IF token has expired, the system must return a 401 Unauthorized response.
477
- ```
478
-
479
- ### πŸ“„ SPEC Document Template
480
-
481
- #### YAML Front Matter Schema
482
-
483
- > **πŸ“‹ SPEC Metadata Standard (SSOT)**: Skill("moai-alfred-spec-metadata-extended")
484
-
485
- **Metadata that must be included** at the top of the spec.md file:
486
- - **7 required fields**: id, version, status, created, updated, author, priority
487
- - **9 optional fields**: category, labels, depends_on, blocks, related_specs, related_issue, scope
488
-
489
- **Simple reference example**:
490
- ```yaml
491
- ---
492
- id: AUTH-001
493
- version: 0.0.1
494
- status: draft
495
- created: 2025-09-15
496
- updated: 2025-09-15
497
- author: @Goos
498
- priority: high
499
- ---
500
- ```
501
-
502
- **Core rules**:
503
- - **id**: Same as TAG ID (`<domain>-<3 digits>`) - Never change after creation
504
- - **Directory name**: `.moai/specs/SPEC-{ID}/` (e.g. `SPEC-AUTH-001/`)
505
- - **Duplicate Check**: `rg "@SPEC:{ID}" -n .moai/specs/` Required
506
- - **version**: v0.0.1 (INITIAL) β†’ v0.1.0 (Implementation Completed) β†’ v1.0.0 (Stable)
507
- - **author**: GitHub @ prefix is required before ID (e.g. `@Goos`)
508
- - **priority**: critical | high | medium | low
509
-
510
- **Full field description and validation methods**: see Skill("moai-alfred-spec-metadata-extended")
511
-
512
- #### HISTORY section (required)
513
-
514
- You must include a HISTORY section **right after the YAML Front Matter**:
515
-
516
- ```markdown
517
- # @SPEC:DOMAIN-NNN: JWT-based authentication system
518
-
519
- ## HISTORY
520
-
521
- ### v0.0.1 (2025-09-15)
522
- - **INITIAL**: Initial creation of JWT-based authentication system specification
523
- - **AUTHOR**: @Goos
524
- - **SCOPE**: Token issuance, verification, and renewal logic
525
- - **CONTEXT**: Reflects requirements for strengthening user authentication
526
-
527
- ### v0.0.2 (2025-09-20)
528
- - **ADDED**: Added social login requirements (Draft modification)
529
- - **AUTHOR**: @Goos
530
- - **REVIEW**: @security-team (approved)
531
- - **CHANGES**:
532
- - OAuth2 integration requirements
533
- - Google/GitHub login support
534
-
535
- ### v0.1.0 (2025-10-01)
536
- - **IMPLEMENTATION COMPLETED**: TDD implementation completed (status: draft β†’ completed)
537
- - **TDD CYCLE**: RED β†’ GREEN β†’ REFACTOR
538
- - **COMMITS**: [Implementation commit hash list]
539
- - **FILES**: [Created/modified file list]
540
- ```
541
-
542
- **HISTORY writing rules**:
543
- - **Version system**: v0.0.1 (INITIAL) β†’ v0.1.0 (implementation complete) β†’ v1.0.0 (stabilization)
544
- - Detailed version system: See Skill("moai-alfred-spec-metadata-extended") for version-system guide
545
- - **Version order**: Latest version on top (reverse order)
546
- - **Change type tag**: INITIAL, ADDED, CHANGED, IMPLEMENTATION COMPLETED, BREAKING, DEPRECATED, REMOVED, FIXED
547
- - Detailed description: See Skill("moai-alfred-spec-metadata-extended") for history-writing-guide
548
- - **Required items**: Version, date, AUTHOR, changes
549
- - **Optional items**: REVIEW, SCOPE, CONTEXT, MIGRATION
550
-
551
- #### SPEC document overall structure
552
-
553
- ```markdown
554
- ---
555
- id: AUTH-001
556
- version: 1.0.0
557
- status: draft
558
- created: 2025-09-15
559
- updated: 2025-09-15
560
- author: @username
561
- ---
562
-
563
- # @SPEC:DOMAIN-NNN: [SPEC title]
564
-
565
- ## HISTORY
566
- [Change history by version – see example above]
567
-
568
- ## Environment
569
- [System environment and prerequisites]
570
-
571
- ## Assumptions
572
- [Design assumptions]
573
-
574
- ## Requirements
575
- ### Ubiquitous
576
- - The system must provide [feature]
577
-
578
- ### Event-driven (event-driven)
579
- - WHEN [condition], the system must [operate]
580
-
581
- ### State-driven
582
- - WHILE When in [state], the system must [operate]
583
-
584
- ### Optional (Optional function)
585
- - If WHERE [condition], the system can [operate]
586
-
587
- ### Unwanted Behaviors
588
- - IF [condition], the system must [respond appropriately with error handling or quality gates]
589
-
590
- ## Traceability (@TAG)
591
- - **SPEC**: @SPEC:DOMAIN-NNN
592
- - **TEST**: tests/auth/test_service.py
593
- - **CODE**: src/auth/service.py
594
- - **DOC**: docs/api/authentication.md
595
- ```
596
-
597
- ### Agent collaboration structure
598
-
599
- - **Step 1**: The `spec-builder` agent is dedicated to analyzing project documents and creating SPEC documents.
600
- - **Step 2**: The `git-manager` agent is dedicated to branch creation and GitHub Issue/PR creation.
601
- - **Single Responsibility Principle**: spec-builder only writes plans, git-manager only performs Git/GitHub operations.
602
- - **Sequential execution**: Executes in the order spec-builder β†’ git-manager to maintain clear dependencies.
603
- - **No inter-agent calls**: Each agent calls the other agents. It is not called directly, but is executed sequentially only at the command level.
604
-
605
- ## πŸš€ Optimized workflow execution order
606
-
607
- ### Phase 1: Parallel project analysis (performance optimization)
608
-
609
- **Perform simultaneously**:
610
-
611
- ```
612
- Task 1 (haiku): Scan project structure
613
- β”œβ”€β”€ Detect languages/frameworks
614
- β”œβ”€β”€ Collect list of existing SPECs
615
- └── Draft priority backlog
616
-
617
- Task 2 (sonnet): In-depth document analysis
618
- β”œβ”€β”€ product.md requirements extraction
619
- β”œβ”€β”€ structure.md architecture analysis
620
- └── tech.md technical constraints
621
- ```
622
-
623
- **Performance improvements**: Parallelize basic scans and deep analysis to minimize latency
624
-
625
- ### Phase 2: Create SPEC document integration
626
-
627
- The `spec-builder` agent (sonnet) integrates the results of the parallel analysis:
628
-
629
- - Proposal of function candidates based on project document
630
- - Creation of SPEC document after user approval (using MultiEdit)
631
- - Simultaneous creation of 3 files (spec.md, plan.md, acceptance.md)
632
-
633
- ### Phase 3: Git task processing
634
-
635
- Final processing by the `git-manager` agent (haiku):
636
-
637
- - **Branch creation**: Apply strategy for each mode
638
- - **Personal mode**: Branch from `main` or `develop` (based on project settings)
639
- - **Team mode**: **Always branch from `develop`** (GitFlow standard)
640
- - Branch name: `feature/SPEC-{ID}` format
641
- - **Create GitHub Issue**: Create SPEC Issue in Team mode
642
- - **Create Draft PR**: `feature/SPEC-{ID}` β†’ `develop` in Team mode Create PR
643
- - **Initial Commit**: Commit SPEC document and create tags
644
-
645
- **Important**: Each agent runs independently, and direct calls between agents are prohibited.
646
-
647
- ## Agent role separation
648
-
649
- ### spec-builder dedicated area
650
-
651
- - Analysis of project documents and discovery of SPEC candidates
652
- - Preparation of EARS structure specifications
653
- - Preparation of Acceptance Criteria (Given-When-Then)
654
- - Verification of SPEC document quality
655
- - Application of @TAG system
656
-
657
- ### git-manager dedicated area
658
-
659
- - Create and manage all Git branches
660
- - **Apply branch strategy for each mode**
661
- - Personal: Branch from `main` or `develop`
662
- - Team: **Always branch from `develop`** (GitFlow)
663
- - Create GitHub Issue/PR
664
- - Team Mode: Create Draft PR (`feature/SPEC-{ID}` β†’ `develop`)
665
- - Create initial commit and tags
666
- - Handle remote synchronization
667
-
668
- ## Step 2 workflow execution sequence
669
-
670
- ### Phase 1: Analysis and planning phase
671
-
672
- **Plan Analyzer** does the following:
673
-
674
- 1. **Loading project document**: In-depth analysis of product/structure/tech.md
675
- 2. **SPEC candidate discovery**: Prioritization based on business requirements
676
- 3. **Establishment of implementation strategy**: EARS structure and acceptance design
677
- 4. **Creating a Writing Plan**: Presents a step-by-step approach to writing a plan
678
- 5. **Awaiting user approval**: Review plan and gather feedback
679
-
680
- ### Phase 2: Plan preparation phase (after approval)
681
-
682
- The `spec-builder` agent **continuously** performs after user approval:
683
-
684
- 1. **Writing EARS specification**: Event-Action-Response-State structuring
685
- 2. **Acceptance Criteria**: Given-When-Then Scenario Writing
686
- 3. **Document quality verification**: Apply TRUST principles and @TAG
687
- 4. **Template creation**: Simultaneous creation of spec.md, plan.md, acceptance.md
688
-
689
- ### Phase 3: Git operations (git-manager)
690
-
691
- The `git-manager` agent does **all at once** after the SPEC is complete:
692
-
693
- 1. **Create branch**: Apply branch strategy for each mode
694
- 2. **GitHub Issue**: Create SPEC Issue in Team mode
695
- 3. **Initial commit**: Commit SPEC document and create tags
696
- 4. **Remote Sync**: Apply synchronization strategy for each mode
697
-
698
- ### Phase 3.5: CodeRabbit SPEC Review (Local Only)
699
-
700
- **After Draft PR is created, CodeRabbit automatically:**
701
-
702
- ```bash
703
- echo "πŸ€– Waiting for CodeRabbit SPEC review..."
704
-
705
- # CodeRabbit triggers automatically on Draft PR creation
706
- # Review includes:
707
- # - SPEC metadata validation (YAML frontmatter)
708
- # - EARS structure completeness check
709
- # - Acceptance criteria quality (Given-When-Then)
710
- # - @TAG system traceability
711
- # - Documentation clarity
712
-
713
- # Expected time: 1-2 minutes
714
- for i in {1..12}; do
715
- sleep 10
716
-
717
- # Check PR review status
718
- approval=$(gh pr view $pr_num --json reviewDecision --jq '.reviewDecision')
719
-
720
- if [ "$approval" = "APPROVED" ]; then
721
- echo "βœ… CodeRabbit approved SPEC PR!"
722
- echo "β†’ Ready for development with /alfred:2-run SPEC-$spec_id"
723
- break
724
- fi
725
-
726
- echo "⏳ CodeRabbit reviewing... ($i/12)"
727
- done
728
- ```
729
-
730
- **CodeRabbit review includes:**
731
- - βœ… YAML frontmatter validation (7 required fields)
732
- - βœ… HISTORY section structure and completeness
733
- - βœ… EARS requirements clarity (Ubiquitous/Event-driven/State-driven/Optional/Unwanted Behaviors)
734
- - βœ… Acceptance criteria quality (Given-When-Then scenarios)
735
- - βœ… @TAG system compliance (SPEC/TEST/CODE/DOC traceability)
736
- - βœ… Documentation and formatting
737
-
738
- See `.coderabbit.yaml` for detailed SPEC review checklist.
739
-
740
- ## Writing Tips
741
-
742
- - Information that is not in the product/structure/tech document is supplemented by asking a new question.
743
- - Acceptance Criteria is encouraged to be written at least 2 times in 3 columns Given/When/Then.
744
- - The number of modules is reduced due to the relaxation of the Readable standard among the TRUST principles. If the recommended value (default 5) is exceeded, please include justification in the SPEC `context` section.
745
-
746
- ---
747
-
748
- ## 🧠 Context Management
749
-
750
- > For more information: Skill("moai-alfred-dev-guide") - see section "Context Engineering"
751
-
752
- ### Core strategy of this command
753
-
754
- **Load first**: `.moai/project/product.md` (business requirement)
755
-
756
- **Recommendation**: The plan is complete. You can experience better performance and context management by starting a new chat session with the `/clear` or `/new` command before proceeding to the next step (`/alfred:2-run`).
757
-
758
- ---
759
-
760
- ## Final Step
761
-
762
- After plan creation completes, Alfred automatically invokes AskUserQuestion to ask the user what to do next:
763
-
764
- ```python
765
- AskUserQuestion(
766
- questions=[
767
- {
768
- "question": "μŠ€νŽ™ μž‘μ„±μ΄ μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμœΌλ‘œ 뭘 ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?",
769
- "header": "λ‹€μŒ 단계",
770
- "multiSelect": false,
771
- "options": [
772
- {
773
- "label": "πŸ”¨ κ΅¬ν˜„ μ‹œμž‘",
774
- "description": "/alfred:2-run SPEC-XXX둜 TDD κ΅¬ν˜„ μ§„ν–‰"
775
- },
776
- {
777
- "label": "πŸ“ μŠ€νŽ™ μˆ˜μ •",
778
- "description": "SPEC λ¬Έμ„œ κ²€ν†  ν›„ μˆ˜μ •"
779
- },
780
- {
781
- "label": "πŸ”„ μƒˆ μ„Έμ…˜ μ‹œμž‘",
782
- "description": "μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μœ„ν•΄ /clear μ‹€ν–‰"
783
- }
784
- ]
785
- }
786
- ]
787
- )
788
- ```
789
-
790
- **User Responses**:
791
- - **πŸ”¨ κ΅¬ν˜„ μ‹œμž‘**: Proceed to `/alfred:2-run SPEC-XXX` for TDD implementation
792
- - **πŸ“ μŠ€νŽ™ μˆ˜μ •**: Review and modify SPEC documents before implementation
793
- - **πŸ”„ μƒˆ μ„Έμ…˜ μ‹œμž‘**: Execute `/clear` to start fresh session (recommended for performance)
794
-
795
- ---
796
-
797
- ## Next steps
798
-
799
- **Recommendation**: For better performance and context management, start a new chat session with the `/clear` or `/new` command before proceeding to the next step.
800
-
801
- - Start implementing TDD with `/alfred:2-run SPEC-XXX`
802
- - Team mode: After creating an issue, the git-manager agent automatically creates a branch.