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,615 +0,0 @@
1
- # Alfred Interactive Questions - Real-World Examples
2
-
3
- > **Main Skill**: [SKILL.md](SKILL.md)
4
- > **API Reference**: [reference.md](reference.md)
5
-
6
- ---
7
-
8
- ## Example 1: Vague Feature Request
9
-
10
- ### Scenario
11
-
12
- **User**: "Add a completion page for the competition."
13
-
14
- **Alfred detects ambiguity**:
15
- - Where should it live? (new route vs modify existing)
16
- - Who can access it? (public vs authenticated)
17
- - What should it display? (results vs simple message)
18
-
19
- ### AskUserQuestion Invocation
20
-
21
- ```typescript
22
- const answer = await AskUserQuestion({
23
- questions: [
24
- {
25
- question: "How should the completion page be implemented?",
26
- header: "Approach",
27
- multiSelect: false,
28
- options: [
29
- {
30
- label: "New public route",
31
- description: "New page at /competition-complete, visible to all visitors."
32
- },
33
- {
34
- label: "Modify existing page",
35
- description: "Add conditional logic to existing /end page based on competition status."
36
- },
37
- {
38
- label: "Environment flag",
39
- description: "Set NEXT_PUBLIC_COMPETITION_CLOSED=true to show message on homepage."
40
- }
41
- ]
42
- },
43
- {
44
- question: "For logged-in participants, what should they see?",
45
- header: "Behavior",
46
- multiSelect: false,
47
- options: [
48
- {
49
- label: "Show full results",
50
- description: "Redirect to /end page with their submission history and rankings."
51
- },
52
- {
53
- label: "Show simple message",
54
- description: "Display 'Competition concluded. Thank you for participating!' only."
55
- }
56
- ]
57
- }
58
- ]
59
- });
60
-
61
- // Result:
62
- // {
63
- // "Approach": "New public route",
64
- // "Behavior": "Show full results"
65
- // }
66
- ```
67
-
68
- ### Outcome
69
-
70
- Alfred now knows **exactly** what to build:
71
- - Create `/app/competition-complete/page.tsx`
72
- - New public route
73
- - Logged-in users redirected to `/end` page with full results
74
- - Non-logged-in users see simple completion message
75
-
76
- ---
77
-
78
- ## Example 2: Implementation Approach (Pattern 1)
79
-
80
- ### Scenario
81
-
82
- **User**: "Add i18n support to the app."
83
-
84
- **Alfred detects**:
85
- - Multiple valid i18n libraries exist
86
- - Each has different trade-offs (DX, complexity, performance)
87
- - User hasn't specified preference
88
-
89
- ### AskUserQuestion Invocation
90
-
91
- ```typescript
92
- const answer = await AskUserQuestion({
93
- questions: [{
94
- question: "Which i18n library should we use for Next.js 15?",
95
- header: "Library",
96
- multiSelect: false,
97
- options: [
98
- {
99
- label: "next-intl",
100
- description: "Native Next.js 15 support, best DX, automatic type safety."
101
- },
102
- {
103
- label: "react-i18next",
104
- description: "Most popular, flexible, more setup required, larger bundle."
105
- },
106
- {
107
- label: "Format.js",
108
- description: "ICU message format, powerful pluralization, steeper learning curve."
109
- }
110
- ]
111
- }]
112
- });
113
-
114
- // Result: { "Library": "next-intl" }
115
- ```
116
-
117
- ### Outcome
118
-
119
- Alfred proceeds with `next-intl`, avoiding:
120
- - ❌ Guessing wrong library
121
- - ❌ Implementing then refactoring later
122
- - ❌ 3-5 rounds of "actually, can we use X instead?"
123
-
124
- ---
125
-
126
- ## Example 3: Risky Operation Confirmation (Pattern 2)
127
-
128
- ### Scenario
129
-
130
- **User**: "Delete all test users from production database."
131
-
132
- **Alfred detects**:
133
- - Destructive operation (data loss)
134
- - Production environment (high risk)
135
- - Explicit confirmation required
136
-
137
- ### AskUserQuestion Invocation
138
-
139
- ```typescript
140
- const answer = await AskUserQuestion({
141
- questions: [{
142
- question: "⚠️ This will PERMANENTLY delete 50 test users from PRODUCTION database. Are you sure?",
143
- header: "Confirm",
144
- multiSelect: false,
145
- options: [
146
- {
147
- label: "No, cancel",
148
- description: "Abort operation. No changes will be made."
149
- },
150
- {
151
- label: "Yes, proceed",
152
- description: "🚨 IRREVERSIBLE. Delete 50 users now."
153
- }
154
- ]
155
- }]
156
- });
157
-
158
- // Result: { "Confirm": "No, cancel" } (user cancelled)
159
- ```
160
-
161
- ### Outcome
162
-
163
- Alfred **aborts** operation without executing destructive command. User explicitly chose to cancel after seeing full risk disclosure.
164
-
165
- ---
166
-
167
- ## Example 4: Multi-Select Feature Selection (Pattern 4)
168
-
169
- ### Scenario
170
-
171
- **User**: "Set up testing for the new project."
172
-
173
- **Alfred detects**:
174
- - Multiple testing frameworks can coexist
175
- - User might want unit + E2E + visual testing
176
- - No explicit preference stated
177
-
178
- ### AskUserQuestion Invocation
179
-
180
- ```typescript
181
- const answer = await AskUserQuestion({
182
- questions: [{
183
- question: "Which testing frameworks should we set up? (Select all that apply)",
184
- header: "Test Tools",
185
- multiSelect: true, // Multiple selections allowed
186
- options: [
187
- {
188
- label: "Unit tests (Vitest)",
189
- description: "Fast, modern, Vite-native. ~2min setup."
190
- },
191
- {
192
- label: "E2E tests (Playwright)",
193
- description: "Browser automation, cross-browser. ~10min setup."
194
- },
195
- {
196
- label: "Visual regression",
197
- description: "Screenshot comparison with Playwright. ~5min setup."
198
- }
199
- ]
200
- }]
201
- });
202
-
203
- // Result: { "Test Tools": ["Unit tests (Vitest)", "E2E tests (Playwright)"] }
204
- ```
205
-
206
- ### Outcome
207
-
208
- Alfred installs and configures:
209
- - ✅ Vitest for unit tests
210
- - ✅ Playwright for E2E tests
211
- - ❌ Skips visual regression (not selected)
212
-
213
- ---
214
-
215
- ## Example 5: Sequential Questions (Conditional Flow, Pattern 5)
216
-
217
- ### Scenario
218
-
219
- **User**: "Add authentication to the app."
220
-
221
- **Alfred detects**:
222
- - First decision: Enable auth? (Yes/No)
223
- - Second decision: If yes, which provider? (depends on Q1)
224
-
225
- ### AskUserQuestion Invocation (Part 1)
226
-
227
- ```typescript
228
- // Question 1: Enable authentication?
229
- const q1 = await AskUserQuestion({
230
- questions: [{
231
- question: "Should we enable user authentication?",
232
- header: "Auth",
233
- multiSelect: false,
234
- options: [
235
- {
236
- label: "Yes",
237
- description: "User login required for protected routes."
238
- },
239
- {
240
- label: "No",
241
- description: "Public access only, no authentication."
242
- }
243
- ]
244
- }]
245
- });
246
-
247
- // Result: { "Auth": "Yes" }
248
- ```
249
-
250
- ### AskUserQuestion Invocation (Part 2, Conditional)
251
-
252
- ```typescript
253
- // Question 2: Only ask if Q1 = "Yes"
254
- if (q1["Auth"] === "Yes") {
255
- const q2 = await AskUserQuestion({
256
- questions: [{
257
- question: "Which authentication provider?",
258
- header: "Provider",
259
- multiSelect: false,
260
- options: [
261
- {
262
- label: "JWT + email",
263
- description: "Traditional email/password with JWT tokens. ~30min setup."
264
- },
265
- {
266
- label: "OAuth (Google)",
267
- description: "Third-party login via Google. Faster for users. ~20min setup."
268
- },
269
- {
270
- label: "SAML",
271
- description: "Enterprise SSO (for corporate environments). ~2hr setup."
272
- }
273
- ]
274
- }]
275
- });
276
-
277
- // Result: { "Provider": "OAuth (Google)" }
278
- }
279
- ```
280
-
281
- ### Outcome
282
-
283
- Alfred implements:
284
- - ✅ Authentication enabled
285
- - ✅ OAuth with Google provider
286
- - ✅ Skips JWT setup (not selected)
287
- - ❌ If Q1 was "No", Q2 never asked (saves time)
288
-
289
- ---
290
-
291
- ## Example 6: Option Grouping (Hierarchical Selection)
292
-
293
- ### Scenario
294
-
295
- **User**: "Set up a database for the project."
296
-
297
- **Alfred detects**:
298
- - 8+ database options exist
299
- - Too many for one question → choice paralysis
300
- - Need hierarchical selection: Category → Specific
301
-
302
- ### AskUserQuestion Invocation (Step 1: Category)
303
-
304
- ```typescript
305
- // Step 1: Narrow by database type
306
- const category = await AskUserQuestion({
307
- questions: [{
308
- question: "What type of database does your project need?",
309
- header: "DB Type",
310
- multiSelect: false,
311
- options: [
312
- {
313
- label: "Relational (SQL)",
314
- description: "PostgreSQL, MySQL, SQLite. ACID guarantees, structured data."
315
- },
316
- {
317
- label: "Document (NoSQL)",
318
- description: "MongoDB, CouchDB. Flexible schema, JSON documents."
319
- },
320
- {
321
- label: "Key-Value",
322
- description: "Redis, Memcached. In-memory cache, fast reads."
323
- }
324
- ]
325
- }]
326
- });
327
-
328
- // Result: { "DB Type": "Relational (SQL)" }
329
- ```
330
-
331
- ### AskUserQuestion Invocation (Step 2: Specific Choice)
332
-
333
- ```typescript
334
- // Step 2: Specific database within category
335
- if (category["DB Type"] === "Relational (SQL)") {
336
- const specific = await AskUserQuestion({
337
- questions: [{
338
- question: "Which SQL database?",
339
- header: "SQL DB",
340
- multiSelect: false,
341
- options: [
342
- {
343
- label: "PostgreSQL",
344
- description: "Advanced features (JSON, full-text search, extensions). Industry standard."
345
- },
346
- {
347
- label: "MySQL",
348
- description: "Most popular, wide hosting support, good performance."
349
- },
350
- {
351
- label: "SQLite",
352
- description: "Embedded, serverless, single-file. Good for prototypes and small apps."
353
- }
354
- ]
355
- }]
356
- });
357
-
358
- // Result: { "SQL DB": "PostgreSQL" }
359
- }
360
- ```
361
-
362
- ### Outcome
363
-
364
- Alfred avoids:
365
- - ❌ Presenting 8 options at once (choice paralysis)
366
- - ❌ User confusion ("What's the difference between MariaDB and MySQL?")
367
-
368
- Instead:
369
- - ✅ First narrows to category (3 options)
370
- - ✅ Then presents specific choices within category (3 options)
371
- - ✅ Clear, manageable decision flow
372
-
373
- ---
374
-
375
- ## Example 7: Batch Related Questions
376
-
377
- ### Scenario
378
-
379
- **User**: "Initialize a new Next.js project with best practices."
380
-
381
- **Alfred detects**:
382
- - Multiple independent decisions needed
383
- - All decisions are related to project setup
384
- - Can ask 3 questions at once (no dependencies)
385
-
386
- ### AskUserQuestion Invocation
387
-
388
- ```typescript
389
- const answers = await AskUserQuestion({
390
- questions: [
391
- {
392
- question: "Which database?",
393
- header: "Database",
394
- multiSelect: false,
395
- options: [
396
- { label: "PostgreSQL", description: "Relational, ACID-compliant, advanced features." },
397
- { label: "MongoDB", description: "Document store, flexible schema, rapid prototyping." }
398
- ]
399
- },
400
- {
401
- question: "Which testing frameworks? (Select all that apply)",
402
- header: "Testing",
403
- multiSelect: true, // Multiple selections allowed
404
- options: [
405
- { label: "Unit tests", description: "Vitest for fast unit testing." },
406
- { label: "E2E tests", description: "Playwright for browser automation." },
407
- { label: "Visual tests", description: "Screenshot comparison testing." }
408
- ]
409
- },
410
- {
411
- question: "Enable TypeScript strict mode?",
412
- header: "TypeScript",
413
- multiSelect: false,
414
- options: [
415
- { label: "Yes (recommended)", description: "Strict type checking, catch errors early." },
416
- { label: "No", description: "Loose type checking, faster initial development." }
417
- ]
418
- }
419
- ]
420
- });
421
-
422
- // Result:
423
- // {
424
- // "Database": "PostgreSQL",
425
- // "Testing": ["Unit tests", "E2E tests"],
426
- // "TypeScript": "Yes (recommended)"
427
- // }
428
- ```
429
-
430
- ### Outcome
431
-
432
- Alfred configures project with:
433
- - ✅ PostgreSQL database
434
- - ✅ Vitest unit tests
435
- - ✅ Playwright E2E tests
436
- - ❌ No visual regression tests
437
- - ✅ TypeScript strict mode enabled
438
-
439
- All decided in **one interaction** instead of 3 separate back-and-forth exchanges.
440
-
441
- ---
442
-
443
- ## Example 8: Error Recovery After Test Failure
444
-
445
- ### Scenario
446
-
447
- **Context**: Alfred is in `/alfred:2-run` phase, tests are failing.
448
-
449
- **Alfred detects**:
450
- - Tests fail after implementation
451
- - Multiple possible fixes exist
452
- - User input needed to decide repair strategy
453
-
454
- ### AskUserQuestion Invocation
455
-
456
- ```typescript
457
- const answer = await AskUserQuestion({
458
- questions: [{
459
- question: "Tests are failing. How should we proceed?",
460
- header: "Fix Strategy",
461
- multiSelect: false,
462
- options: [
463
- {
464
- label: "Fix implementation",
465
- description: "Adjust code to pass existing tests (tests are correct)."
466
- },
467
- {
468
- label: "Update tests",
469
- description: "Modify tests to match new implementation (implementation is correct)."
470
- },
471
- {
472
- label: "Debug together",
473
- description: "Review both implementation and tests to identify root cause."
474
- }
475
- ]
476
- }]
477
- });
478
-
479
- // Result: { "Fix Strategy": "Fix implementation" }
480
- ```
481
-
482
- ### Outcome
483
-
484
- Alfred:
485
- - ✅ Keeps tests unchanged
486
- - ✅ Fixes implementation to satisfy test expectations
487
- - ✅ Avoids "test modification to make them pass" anti-pattern
488
- - ✅ Follows RED → GREEN → REFACTOR TDD cycle correctly
489
-
490
- ---
491
-
492
- ## Example 9: SPEC Scope Clarification (spec-builder)
493
-
494
- ### Scenario
495
-
496
- **User**: "Create SPEC for performance improvements."
497
-
498
- **Alfred detects** (spec-builder sub-agent):
499
- - SPEC title is vague ("performance improvements")
500
- - Scope undefined (backend? frontend? database?)
501
- - Multiple domains affected
502
-
503
- ### AskUserQuestion Invocation
504
-
505
- ```typescript
506
- const answer = await AskUserQuestion({
507
- questions: [
508
- {
509
- question: "Which area needs performance improvements?",
510
- header: "Domain",
511
- multiSelect: false,
512
- options: [
513
- { label: "Backend API", description: "Optimize API response times, database queries." },
514
- { label: "Frontend", description: "Improve page load times, bundle size, rendering." },
515
- { label: "Database", description: "Add indexes, optimize queries, caching." },
516
- { label: "All of the above", description: "Comprehensive performance audit." }
517
- ]
518
- },
519
- {
520
- question: "What's the performance target?",
521
- header: "Target",
522
- multiSelect: false,
523
- options: [
524
- { label: "< 200ms API", description: "API responses under 200ms (P95)." },
525
- { label: "< 2s page load", description: "Pages load under 2 seconds (P95)." },
526
- { label: "< 100ms queries", description: "Database queries under 100ms (P95)." }
527
- ]
528
- }
529
- ]
530
- });
531
-
532
- // Result:
533
- // {
534
- // "Domain": "Backend API",
535
- // "Target": "< 200ms API"
536
- // }
537
- ```
538
-
539
- ### Outcome
540
-
541
- spec-builder generates precise SPEC:
542
- - ✅ Title: `[PERF-001] Optimize Backend API Response Times to <200ms`
543
- - ✅ Scope: Backend API performance only
544
- - ✅ Clear success criteria: P95 latency < 200ms
545
- - ❌ Avoids vague SPEC like "Improve performance"
546
-
547
- ---
548
-
549
- ## Example 10: Doc Sync Mode Selection (doc-syncer)
550
-
551
- ### Scenario
552
-
553
- **User**: "Sync documentation."
554
-
555
- **Alfred detects** (doc-syncer sub-agent):
556
- - Sync mode unclear (auto-detect vs force-regenerate vs partial)
557
- - User hasn't specified preference
558
- - Different modes have different time/accuracy trade-offs
559
-
560
- ### AskUserQuestion Invocation
561
-
562
- ```typescript
563
- const answer = await AskUserQuestion({
564
- questions: [{
565
- question: "Which documentation sync mode?",
566
- header: "Sync Mode",
567
- multiSelect: false,
568
- options: [
569
- {
570
- label: "auto",
571
- description: "Smart detection of changes. Fast, minimal updates. (Recommended)"
572
- },
573
- {
574
- label: "force",
575
- description: "Regenerate ALL documentation. Slow but guaranteed accurate."
576
- },
577
- {
578
- label: "partial",
579
- description: "Update only specified sections. Fast, targeted."
580
- }
581
- ]
582
- }]
583
- });
584
-
585
- // Result: { "Sync Mode": "auto" }
586
- ```
587
-
588
- ### Outcome
589
-
590
- doc-syncer:
591
- - ✅ Uses auto-detection mode
592
- - ✅ Only updates changed sections
593
- - ✅ Faster execution (1-2 min vs 10 min for force mode)
594
- - ✅ User sees clear time/accuracy trade-off before deciding
595
-
596
- ---
597
-
598
- ## Summary: Pattern Catalog
599
-
600
- | Pattern | Use Case | Example Scenario |
601
- |---------|----------|------------------|
602
- | **Pattern 1: Implementation Approach** | Multiple valid implementation paths | "Add i18n support" (which library?) |
603
- | **Pattern 2: Confirmation** | Risky/destructive operations | "Delete production data" (are you sure?) |
604
- | **Pattern 3: Multi-Option Selection** | Choose ONE from multiple frameworks/tools | "Which testing framework?" |
605
- | **Pattern 4: Multi-Select** | Enable/disable independent features | "Which features to enable?" (check multiple) |
606
- | **Pattern 5: Sequential Questions** | Q2 depends on Q1 answer | "Enable auth?" → If yes, "Which provider?" |
607
- | **Pattern 6: Option Grouping** | Too many options → hierarchical selection | Database type → Specific database |
608
- | **Pattern 7: Batch Questions** | Multiple independent decisions | Project setup (DB + Testing + TypeScript) |
609
- | **Pattern 8: Error Recovery** | Handle failures with user guidance | Test failure → Fix implementation vs update tests |
610
- | **Pattern 9: SPEC Clarification** | Vague SPEC scope/title | "Performance improvements" → Which domain? |
611
- | **Pattern 10: Mode Selection** | Choose workflow mode/strategy | Doc sync mode (auto vs force vs partial) |
612
-
613
- ---
614
-
615
- **End of Examples** | 2025-10-27