moai-adk 0.4.5__py3-none-any.whl → 0.20.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (433) hide show
  1. moai_adk/__init__.py +1 -1
  2. moai_adk/__main__.py +74 -1
  3. moai_adk/cli/commands/__init__.py +1 -1
  4. moai_adk/cli/commands/analyze.py +119 -0
  5. moai_adk/cli/commands/backup.py +25 -1
  6. moai_adk/cli/commands/doctor.py +31 -5
  7. moai_adk/cli/commands/improve_user_experience.py +307 -0
  8. moai_adk/cli/commands/init.py +111 -10
  9. moai_adk/cli/commands/status.py +33 -3
  10. moai_adk/cli/commands/update.py +921 -130
  11. moai_adk/cli/commands/validate_links.py +120 -0
  12. moai_adk/cli/prompts/init_prompts.py +22 -87
  13. moai_adk/core/analysis/__init__.py +9 -0
  14. moai_adk/core/analysis/session_analyzer.py +388 -0
  15. moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
  16. moai_adk/core/analysis/tag_chain_repair.py +879 -0
  17. moai_adk/core/config/__init__.py +19 -0
  18. moai_adk/core/config/migration.py +235 -0
  19. moai_adk/core/git/__init__.py +1 -1
  20. moai_adk/core/git/branch.py +1 -1
  21. moai_adk/core/git/commit.py +1 -1
  22. moai_adk/core/git/manager.py +1 -1
  23. moai_adk/core/issue_creator.py +313 -0
  24. moai_adk/core/mcp/setup.py +56 -0
  25. moai_adk/core/mcp/setup_old.py +296 -0
  26. moai_adk/core/project/backup_utils.py +1 -1
  27. moai_adk/core/project/checker.py +2 -2
  28. moai_adk/core/project/detector.py +211 -12
  29. moai_adk/core/project/initializer.py +85 -15
  30. moai_adk/core/project/phase_executor.py +76 -13
  31. moai_adk/core/project/validator.py +13 -13
  32. moai_adk/core/quality/__init__.py +1 -1
  33. moai_adk/core/quality/trust_checker.py +1 -1
  34. moai_adk/core/quality/validators/__init__.py +1 -1
  35. moai_adk/core/quality/validators/base_validator.py +1 -1
  36. moai_adk/core/tags/__init__.py +86 -0
  37. moai_adk/core/tags/auto_corrector.py +693 -0
  38. moai_adk/core/tags/ci_validator.py +463 -0
  39. moai_adk/core/tags/cli.py +283 -0
  40. moai_adk/core/tags/generator.py +109 -0
  41. moai_adk/core/tags/inserter.py +99 -0
  42. moai_adk/core/tags/mapper.py +126 -0
  43. moai_adk/core/tags/parser.py +76 -0
  44. moai_adk/core/tags/policy_validator.py +580 -0
  45. moai_adk/core/tags/pre_commit_validator.py +421 -0
  46. moai_adk/core/tags/reporter.py +956 -0
  47. moai_adk/core/tags/rollback_manager.py +525 -0
  48. moai_adk/core/tags/tags.py +149 -0
  49. moai_adk/core/tags/validator.py +897 -0
  50. moai_adk/core/template/__init__.py +1 -1
  51. moai_adk/core/template/backup.py +1 -1
  52. moai_adk/core/template/merger.py +50 -1
  53. moai_adk/core/template/processor.py +119 -13
  54. moai_adk/core/template_engine.py +268 -0
  55. moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
  56. moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
  57. moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
  58. moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
  59. moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
  60. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
  61. moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
  62. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
  63. moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
  64. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
  65. moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
  66. moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
  67. moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
  68. moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
  69. moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
  70. moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
  71. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
  72. moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
  73. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
  74. moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
  75. moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
  76. moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
  77. moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
  78. moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
  79. moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
  80. moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
  81. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
  82. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
  83. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
  84. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
  85. moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
  86. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
  87. moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
  88. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
  89. moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
  90. moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
  91. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
  92. moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
  93. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
  94. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
  95. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
  96. moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
  97. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
  98. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
  99. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
  100. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
  101. moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
  102. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
  103. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
  104. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
  105. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
  106. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
  107. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
  108. moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
  109. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
  110. moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
  111. moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
  112. moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
  113. moai_adk/templates/.claude/settings.json +96 -14
  114. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
  115. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
  116. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
  117. moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
  118. moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
  119. moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
  120. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
  121. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
  122. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
  123. moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
  124. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
  125. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
  126. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
  127. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
  128. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
  129. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
  130. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
  131. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
  132. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
  133. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
  134. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
  135. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
  136. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
  137. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
  138. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
  139. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
  140. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
  141. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
  142. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
  143. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
  144. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
  145. moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
  146. moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
  147. moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
  148. moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
  149. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
  150. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
  151. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
  152. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
  153. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
  154. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
  155. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
  156. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
  157. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
  158. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
  159. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
  160. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
  161. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
  162. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
  163. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
  164. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
  165. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
  166. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
  167. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
  168. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
  169. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
  170. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
  171. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
  172. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
  173. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
  174. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
  175. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
  176. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
  177. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
  178. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
  179. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
  180. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
  181. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
  182. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
  183. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
  184. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
  185. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
  186. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
  187. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
  188. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
  189. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
  190. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
  191. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
  192. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
  193. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
  194. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
  195. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
  196. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
  197. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
  198. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
  199. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
  200. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
  201. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
  202. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
  203. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
  204. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
  205. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
  206. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
  207. moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
  208. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
  209. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
  210. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
  211. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
  212. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
  213. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
  214. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
  215. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
  216. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
  217. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
  218. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
  219. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
  220. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
  221. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
  222. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
  223. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
  224. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
  225. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
  226. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
  227. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
  228. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
  229. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
  230. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
  231. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
  232. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
  233. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
  234. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
  235. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
  236. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
  237. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
  238. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
  239. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
  240. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
  241. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
  242. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
  243. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
  244. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
  245. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
  246. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
  247. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
  248. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
  249. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
  250. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
  251. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
  252. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
  254. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
  257. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
  260. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
  263. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
  266. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
  270. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
  272. moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
  273. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
  274. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
  275. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
  276. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
  277. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
  278. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
  279. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
  280. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
  281. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
  282. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
  283. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
  284. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
  285. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
  286. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
  287. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
  288. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
  289. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
  290. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
  291. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
  292. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
  293. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
  294. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
  295. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
  297. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
  298. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
  304. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
  305. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
  306. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
  307. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
  308. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
  309. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
  310. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
  311. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
  312. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
  313. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
  314. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
  315. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
  316. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
  317. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
  318. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
  319. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
  320. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
  321. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
  322. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
  323. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
  324. moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
  325. moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
  326. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
  327. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
  328. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
  329. moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
  330. moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
  331. moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
  332. moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
  333. moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
  334. moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
  335. moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
  336. moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
  337. moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
  338. moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
  339. moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
  340. moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
  341. moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
  342. moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
  343. moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
  344. moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
  345. moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
  346. moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
  347. moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
  348. moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
  349. moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
  350. moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
  351. moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
  352. moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
  353. moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
  354. moai_adk/templates/.git-hooks/pre-commit +66 -0
  355. moai_adk/templates/.git-hooks/pre-push +255 -0
  356. moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
  357. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
  358. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
  359. moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
  360. moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
  361. moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
  362. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
  363. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
  364. moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
  365. moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
  366. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
  367. moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
  368. moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
  369. moai_adk/templates/.github/workflows/release.yml +118 -0
  370. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
  371. moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
  372. moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
  373. moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
  374. moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
  375. moai_adk/templates/.github/workflows/tag-report.yml +269 -0
  376. moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
  377. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
  378. moai_adk/templates/.mcp.json +31 -0
  379. moai_adk/templates/.moai/config.json +80 -7
  380. moai_adk/templates/CLAUDE.md +562 -546
  381. moai_adk/utils/banner.py +5 -5
  382. moai_adk/utils/common.py +294 -0
  383. moai_adk/utils/link_validator.py +235 -0
  384. moai_adk/utils/logger.py +8 -8
  385. moai_adk/utils/user_experience.py +451 -0
  386. moai_adk-0.20.1.dist-info/METADATA +233 -0
  387. moai_adk-0.20.1.dist-info/RECORD +404 -0
  388. moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
  389. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
  390. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
  391. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
  392. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
  393. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
  394. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
  395. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
  396. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
  397. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
  398. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
  399. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
  400. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
  401. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
  402. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
  403. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
  404. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
  405. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
  406. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
  407. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
  408. moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
  409. moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
  410. moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
  411. moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
  412. moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
  413. moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
  414. moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
  415. moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
  416. moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
  417. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
  418. moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
  419. moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
  420. moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
  421. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  422. moai_adk/templates/.moai/memory/development-guide.md +0 -344
  423. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
  424. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  425. moai_adk/templates/.moai/project/product.md +0 -161
  426. moai_adk/templates/.moai/project/structure.md +0 -156
  427. moai_adk/templates/.moai/project/tech.md +0 -227
  428. moai_adk/templates/__init__.py +0 -2
  429. moai_adk-0.4.5.dist-info/METADATA +0 -369
  430. moai_adk-0.4.5.dist-info/RECORD +0 -152
  431. {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
  432. {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
  433. {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,470 +0,0 @@
1
- ---
2
- name: Study with Alfred
3
- description: Learning mode to easily learn new skills with Alfred
4
- ---
5
-
6
- # Study with Alfred
7
- > Interactive prompts rely on `Skill("moai-alfred-tui-survey")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
8
-
9
- **Audience**: Developers looking to learn new technologies/languages/frameworks
10
-
11
- This is a learning mode where Alfred easily explains new skills and helps you practice, like a friend learning together.
12
-
13
- ## How to Learn with Alfred
14
-
15
- **Alfred's role**:
16
- - Explain complex concepts in an easy-to-understand manner
17
- - Improve understanding with real-life analogies
18
- - Practice together step by step
19
- - Answer frequently asked questions
20
-
21
- **Learning Flow**:
22
- ```
23
- 1. What (What is this?) → Understanding the basic concept
24
- 2. Why (Why do you need it?) → Reasons for use and advantages
25
- 3. How (How to use it?) → Practice-based learning
26
- 4. Practice → Integration with MoAI-ADK
27
- ```
28
-
29
- ---
30
-
31
- ## 4 stages of learning
32
-
33
- ### Step 1: What (What is this?)
34
-
35
- **Alfred**: "I'll summarize the new technology in one sentence."
36
-
37
- **Explanation method**:
38
- - One line summary
39
- - Real life analogy
40
- - 3 key concepts
41
-
42
- **Example**: FastAPI (Python web framework)
43
- ```
44
- Alfred: "FastAPI is a tool to quickly create APIs with Python."
45
-
46
- Real life analogy:
47
- A tool that quickly assembles API pieces like Lego blocks
48
-
49
- One-line summary:
50
- Python + automatic verification + fast speed = FastAPI
51
-
52
- Key concepts:
53
- 1. Automatic documentation (Swagger UI)
54
- 2. Type verification (Pydantic)
55
- 3. Asynchronous processing (async/await)
56
- ```
57
-
58
- ### Step 2: Why (Why do you need it?)
59
-
60
- **Alfred**: “Let’s think together about the problems this technology solves.”
61
-
62
- **How ​​to explain**:
63
- - Problem situation
64
- - Solution
65
- - Actual use case
66
-
67
- **Example**: Why use FastAPI?
68
- ```
69
- Let's think about it with Alfred:
70
-
71
- Problem:
72
- "Flask is slow, and Django is too heavy. Type validation also has to be done manually."
73
-
74
- Solution:
75
- FastAPI is fast, lightweight, and automatically verifies types.
76
-
77
- Real world usage:
78
- - Uber: Real-time location API
79
- - Netflix: Recommendation system API
80
- - Microsoft: Azure services API
81
-
82
- Alfred: “Used in places where high speed and stability are required!”
83
- ```
84
-
85
- ### Step 3: How (How do I use it?)
86
-
87
- **Alfred**: "Let's start with the simplest example"
88
-
89
- **Learning order**:
90
- 1. Minimal example (Hello World)
91
- 2. Practical example (CRUD API)
92
- 3. Frequently Asked Questions
93
-
94
- **Example**: How to use FastAPI
95
- ```
96
- Alfred: “Let’s start with the simplest example”
97
-
98
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
99
- [Minimum example]
100
-
101
- from fastapi import FastAPI # ← Import FastAPI
102
-
103
- app = FastAPI() # ← Create app
104
-
105
- @app.get("/hello") # ← Create /hello address
106
- def hello():
107
- return {"message": "Hello!"} # ← Send response
108
-
109
- Alfred: “An API is complete in just 5 lines!”
110
-
111
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
112
- [Practical example: User inquiry API]
113
-
114
- from fastapi import FastAPI, HTTPException
115
- from pydantic import BaseModel
116
-
117
- app = FastAPI()
118
-
119
- class User(BaseModel):
120
- id: int
121
- name: str
122
- email: str
123
-
124
- @app.get("/users/{user_id}")
125
- async def get_user(user_id: int) -> User:
126
- user = await db.find_user(user_id)
127
- if not user:
128
- raise HTTPException(status_code=404, detail="User not found")
129
- return user
130
-
131
- Alfred: "Automatic verification with Pydantic, error handling with HTTPException!"
132
-
133
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
134
- [Frequently Asked Questions]
135
-
136
- Q: Compared to Flask?
137
- Alfred: “FastAPI is 3 times faster and has automatic verification.”
138
-
139
- Q: What is async/await?
140
- Alfred: "It's a way to handle multiple tasks simultaneously. While waiting for one request, you can process another request."
141
-
142
- Q: When is it best to use it?
143
- Alfred: “It’s best for fast API, real-time processing, and microservices.”
144
- ```
145
-
146
- ### Step 4: Practice
147
-
148
- **Alfred**: “Now shall we try using it with MoAI-ADK?”
149
-
150
- **Practice method**:
151
- - Practice with SPEC → TEST → CODE flow
152
- - Application of @TAG system
153
- - Compliance with TRUST 5 principles
154
-
155
- **Example**: Creating a user API with FastAPI
156
- ```
157
- Alfred: “Let’s create it together with the MoAI-ADK workflow!”
158
-
159
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
- [Step 1: Write SPEC]
161
-
162
- /alfred:1-plan "User Lookup API"
163
-
164
- SPEC created by Alfred:
165
- ---
166
- id: USER-001
167
- version: 0.0.1
168
- status: draft
169
- ---
170
-
171
- # @SPEC:USER-001: User Lookup API
172
-
173
- ## Ubiquitous Requirements
174
- - The system must provide an API to search user information by user ID.
175
-
176
- ## Event-driven Requirements
177
- - WHEN If a user ID that exists is requested, the system SHOULD return user information
178
- - WHEN If a user ID that does not exist is requested, the system SHOULD return a 404 error.
179
-
180
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
- [Step 2: TDD implementation]
182
-
183
- /alfred:2-run USER-001
184
-
185
- Alfred: “I’ll write a test first”
186
-
187
- # @TEST:USER-001 | SPEC: SPEC-USER-001.md
188
- def test_get_user_returns_user():
189
- response = client.get("/users/1")
190
- assert response.status_code == 200
191
- assert response.json()["id"] == 1
192
-
193
- def test_get_user_not_found():
194
- response = client.get("/users/999")
195
- assert response.status_code == 404
196
-
197
- Alfred: “Now let me write the code”
198
-
199
- # @CODE:USER-001 | SPEC: SPEC-USER-001.md | TEST: tests/test_user.py
200
- @app.get("/users/{user_id}")
201
- async def get_user(user_id: int) -> User:
202
- """@CODE:USER-001: User Lookup API"""
203
- user = await db.users.find_by_id(user_id)
204
- if not user:
205
- raise HTTPException(status_code=404, detail="User not found")
206
- return user
207
-
208
- Alfred: “SPEC → TEST → CODE are all connected!”
209
-
210
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
211
- [Step 3: Document Synchronization]
212
-
213
- /alfred:3-sync
214
-
215
- Alfred: “I will verify the TAG chain”
216
-
217
- ✓ @SPEC:USER-001 → .moai/specs/SPEC-USER-001.md
218
- ✓ @TEST:USER-001 → tests/test_user.py
219
- ✓ @CODE:USER-001 → src/api/user.py
220
- ✓ @DOC:USER-001 → docs/api/user.md (automatically generated)
221
-
222
- Alfred: "Complete! FastAPI + MoAI-ADK work together!"
223
- ```
224
-
225
- ---
226
-
227
- ## Framework-specific study guide
228
-
229
- ### TypeScript + Express
230
-
231
- **Alfred**: "It's the most popular web framework in Node.js"
232
-
233
- #### What (What is this?)
234
- ```
235
- Alfred: "Express is a tool to easily create a web server with Node.js."
236
-
237
- Real life analogy:
238
- The role is like a waiter in a restaurant, taking requests and delivering responses.
239
-
240
- One-line summary:
241
- Node.js + middleware + routing = Express
242
-
243
- Key concepts:
244
- 1. Middleware chain
245
- 2. Routing
246
- 3. Request-response processing
247
- ```
248
-
249
- #### Why (Why do you need it?)
250
- ```
251
- Alfred: “More than 95% of Node.js APIs use Express”
252
-
253
- Problem: Node.js default http module is too complicated
254
- Solution: Express can be easily created with a simple API
255
-
256
- Practical Use:
257
- - Uber, Netflix, PayPal, etc.
258
- ```
259
-
260
- #### How (How do you use it?)
261
- ```
262
- Alfred: “It’s the simplest example.”
263
-
264
- import express from 'express';
265
-
266
- const app = express();
267
-
268
- app.get('/users/:id', async (req, res) => {
269
- const user = await db.users.findById(req.params.id);
270
- res.json(user);
271
- });
272
-
273
- app.listen(3000);
274
-
275
- Alfred: “All you need is this to complete your API server!”
276
- ```
277
-
278
- #### Practice (with MoAI-ADK)
279
- ```
280
- Alfred: “Now let’s make it TDD”
281
-
282
- // @TEST:USER-001 | SPEC: SPEC-USER-001.md
283
- test('GET /users/:id returns user', async () => {
284
- const res = await request(app).get('/users/1');
285
- expect(res.status).toBe(200);
286
- expect(res.body.id).toBe('1');
287
- });
288
-
289
- // @CODE:USER-001 | SPEC: SPEC-USER-001.md | TEST: tests/user.test.ts
290
- app.get('/users/:id', async (req, res) => {
291
- const user = await db.users.findById(req.params.id);
292
- if (!user) {
293
- return res.status(404).json({ error: 'Not found' });
294
- }
295
- res.json(user);
296
- });
297
-
298
- Alfred: “SPEC → TEST → CODE completed!”
299
- ```
300
-
301
- #### Frequently Asked Questions
302
- ```
303
- Q: What is middleware?
304
- Alfred: "It is a step that goes through before processing a request. It is used for logging, authentication, etc."
305
-
306
- Q: How to handle async errors?
307
- Alfred: "If you use the express-async-errors package, it will be handled automatically."
308
-
309
- Q: FastAPI vs Express?
310
- Alfred: “Express is flexible and has a large ecosystem, and FastAPI is fast and has strong automatic verification.”
311
- ```
312
-
313
- ---
314
-
315
- ### Python + FastAPI
316
-
317
- **Alfred**: "It's the standard for modern Python web frameworks."
318
-
319
- #### What (What is this?)
320
- ```
321
- Alfred: "FastAPI is a tool to create fast APIs with Python."
322
-
323
- Real life analogy:
324
- Automatically verify and document like robots in a car factory
325
-
326
- One-line summary:
327
- Python + Pydantic + Async = FastAPI
328
-
329
- Key concepts:
330
- 1. Automatic Verification (Pydantic)
331
- 2. Automatic documentation (Swagger)
332
- 3. Asynchronous processing (async/await)
333
- ```
334
-
335
- #### Why (Why do you need it?)
336
- ```
337
- Alfred: “3x faster than Flask and more concise than Django”
338
-
339
- Problem: Flask is slow, Django is heavy
340
- Solution: FastAPI is fast, lightweight, yet powerful
341
-
342
- Actual use:
343
- - Uber, Microsoft, Netflix
344
- ```
345
-
346
- #### How (How do you use it?)
347
- ```
348
- Alfred: “It’s a basic example.”
349
-
350
- from fastapi import FastAPI
351
- from pydantic import BaseModel
352
-
353
- app = FastAPI()
354
-
355
- class User(BaseModel):
356
- id: int
357
- name: str
358
-
359
- @app.get("/users/{user_id}")
360
- async def get_user(user_id: int) -> User:
361
- return await db.find_user(user_id)
362
-
363
- Alfred: “Pydantic verifies it automatically!”
364
- ```
365
-
366
- #### Practice (with MoAI-ADK)
367
- ```
368
- Alfred: “Let’s build it together with TDD”
369
-
370
- # @TEST:USER-001 | SPEC: SPEC-USER-001.md
371
- def test_get_user():
372
- response = client.get("/users/1")
373
- assert response.status_code == 200
374
-
375
- # @CODE:USER-001 | SPEC: SPEC-USER-001.md | TEST: tests/test_user.py
376
- @app.get("/users/{user_id}")
377
- async def get_user(user_id: int) -> User:
378
- """@CODE:USER-001: User query"""
379
- user = await db.find_user(user_id)
380
- if not user:
381
- raise HTTPException(status_code=404)
382
- return user
383
-
384
- Alfred: “Complete!”
385
- ```
386
-
387
- #### Frequently Asked Questions
388
- ```
389
- Q: What is Pydantic?
390
- Alfred: “It is a library that automatically verifies data.”
391
-
392
- Q: Is async/await really necessary?
393
- Alfred: "If you need fast performance, it's essential, otherwise the sync function is fine."
394
-
395
- Q: Django vs FastAPI?
396
- Alfred: "Django is full-stack, FastAPI is API-only."
397
- ```
398
-
399
- ---
400
-
401
- ## Study Tips
402
-
403
- ### Alfred's Study Advice
404
-
405
- **1. Start small**
406
- ```
407
- Alfred: "Let's start with Hello World"
408
-
409
- Examples that are too complex can be confusing.
410
- Start with the simplest example and expand gradually.
411
- ```
412
-
413
- **2. Practice-oriented**
414
- ```
415
- Alfred: "Try the code yourself"
416
-
417
- Just read it and forget it right away.
418
- Try it yourself, run it, and correct the errors.
419
- ```
420
-
421
- **3. Integration with MoAI-ADK**
422
- ```
423
- Alfred: “I learn MoAI-ADK while learning new technologies.”
424
-
425
- If you practice with the SPEC → TEST → CODE flow,
426
- You can kill two birds with one stone!
427
- ```
428
-
429
- **4. Use frequently asked questions**
430
- ```
431
- Alfred: “If you have any questions, feel free to ask”
432
-
433
- “Why do I have to do this?”
434
- “Is there another way?”
435
- “How do I use it in practice?”
436
- ```
437
-
438
- ### Recommended learning sequence
439
-
440
- ```
441
- Step 1: Familiarize yourself with MoAI-ADK
442
- → /output-style moai-adk-learning
443
-
444
- Step 2: Learning a new framework (now)
445
- → /output-style study-with-alfred
446
-
447
- Step 3: Apply practical projects
448
- → /output-style agentic-coding
449
- ```
450
-
451
- ---
452
-
453
- ## Style conversion guide
454
-
455
- ### When this style suits you
456
- - ✅ When learning a new language/framework
457
- - ✅ When you want to easily understand complex concepts
458
- - ✅ When you want to learn practice-oriented
459
- - ✅ When you want to learn by talking with Alfred
460
-
461
- ### Switch to a different style
462
-
463
- | Situation | Recommended Style | Conversion command |
464
- | ----------------------------- | ----------------- | --------------------------------- |
465
- | First time using MoAI-ADK | moai-adk-learning | `/output-style moai-adk-learning` |
466
- | Practical project development | agentic-coding | `/output-style agentic-coding` |
467
-
468
- ---
469
-
470
- **Study with Alfred**: This is a learning mode that allows you to easily learn new skills as if talking with Alfred and apply them directly to practice by integrating with MoAI-ADK.
@@ -1,103 +0,0 @@
1
- ---
2
-
3
- name: moai-alfred-debugger-pro
4
- description: Advanced debugging support with stack trace analysis, error pattern detection, and fix suggestions. Use when unraveling complex runtime errors or stack traces.
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - TodoWrite
11
- ---
12
-
13
- # Alfred Debugger Pro
14
-
15
- ## Skill Metadata
16
- | Field | Value |
17
- | ----- | ----- |
18
- | Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
19
- | Auto-load | Triggered by Alfred debug-helper |
20
- | Trigger cues | Runtime failures surfaced in Alfred runs, stack trace walkthroughs, hotfix triage. |
21
-
22
- ## What it does
23
-
24
- Advanced debugging support with stack trace analysis, common error pattern detection, and actionable fix suggestions.
25
-
26
- ## When to use
27
-
28
- - Activates when Alfred encounters runtime errors and needs guided debugging steps.
29
- - “Resolve the error”, “What is the cause of this error?”, “Stack trace analysis”
30
- - Automatically invoked on runtime errors (via debug-helper sub-agent)
31
- - "Why not?", "Solving NullPointerException"
32
-
33
- ## How it works
34
-
35
- **Stack Trace Analysis**:
36
- ```python
37
- # Error example
38
- jwt.exceptions.ExpiredSignatureError: Signature has expired
39
-
40
- # Alfred Analysis
41
- 📍 Error Location: src/auth/service.py:142
42
- 🔍 Root Cause: JWT token has expired
43
- 💡 Fix Suggestion:
44
- 1. Implement token refresh logic
45
- 2. Check expiration before validation
46
- 3. Handle ExpiredSignatureError gracefully
47
- ```
48
-
49
- **Common Error Patterns**:
50
- - `NullPointerException` → Optional usage, guard clauses
51
- - `IndexError` → Boundary checks
52
- - `KeyError` → `.get()` with defaults
53
- - `TypeError` → Type hints, input validation
54
- - `ConnectionError` → Retry logic, timeouts
55
-
56
- **Debugging Checklist**:
57
- - [ ] Reproducible?
58
- - [ ] Log messages?
59
- - [ ] Input data?
60
- - [ ] Recent changes?
61
- - [ ] Dependency versions?
62
-
63
- **Language-specific Tips**:
64
- - **Python**: Logging, type guards
65
- - **TypeScript**: Type guards, null checks
66
- - **Java**: Optional, try-with-resources
67
-
68
- ## Best Practices
69
- - The text shown to the user is written using TUI/report expressions.
70
- - When running the tool, a summary of commands and results are recorded.
71
-
72
- ## Examples
73
- ```markdown
74
- - Call this skill inside the /alfred command to generate a report.
75
- - Add summary to Completion Report.
76
- ```
77
-
78
- ## Inputs
79
- - MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
80
- - Parameters passed from user commands or higher commands.
81
-
82
- ## Outputs
83
- - Reports, checklists or recommendations for your Alfred workflow.
84
- - Structured data for subsequent subagent calls.
85
-
86
- ## Failure Modes
87
- - When required input documents are missing or permissions are limited.
88
- - When disruptive changes are required without user approval.
89
-
90
- ## Dependencies
91
- - Cooperation with higher-level agents such as cc-manager and project-manager is required.
92
-
93
- ## References
94
- - Microsoft. "Debugging Techniques." https://learn.microsoft.com/visualstudio/debugger/ (accessed 2025-03-29).
95
- - JetBrains. "Debugging Code." https://www.jetbrains.com/help/idea/debugging-code.html (accessed 2025-03-29).
96
-
97
- ## Changelog
98
- - 2025-03-29: Added input/output/failure response to Alfred-specific skills.
99
-
100
- ## Works well with
101
-
102
- - alfred-code-reviewer
103
- - alfred-trust-validation
@@ -1,103 +0,0 @@
1
- ---
2
-
3
- name: moai-alfred-ears-authoring
4
- description: EARS (Easy Approach to Requirements Syntax) authoring guide with 5 statement patterns for clear, testable requirements. Use when generating EARS-style requirement sentences.
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - TodoWrite
11
- ---
12
-
13
- # Alfred EARS Authoring Guide
14
-
15
- ## Skill Metadata
16
- | Field | Value |
17
- | ----- | ----- |
18
- | Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
19
- | Auto-load | /alfred:1-plan requirements phase |
20
- | Trigger cues | Plan board EARS drafting, requirement interviews, structured SPEC authoring. |
21
-
22
- ## What it does
23
-
24
- EARS (Easy Approach to Requirements Syntax) authoring guide for writing clear, testable requirements using 5 statement patterns.
25
-
26
- ## When to use
27
-
28
- - Activates when Alfred is asked to capture requirements using the EARS patterns.
29
- - “Writing SPEC”, “Requirements summary”, “EARS syntax”
30
- - Automatically invoked by `/alfred:1-plan`
31
- - When writing or refining SPEC documents
32
-
33
- ## How it works
34
-
35
- EARS provides 5 statement patterns for structured requirements:
36
-
37
- ### 1. Ubiquitous (Basic Requirements)
38
- **Format**: The system must provide [function]
39
- **Example**: The system must provide user authentication function
40
-
41
- ### 2. Event-driven (event-based)
42
- **Format**: WHEN If [condition], the system must [operate]
43
- **Example**: WHEN When the user logs in, the system must issue a JWT token
44
-
45
- ### 3. State-driven
46
- **Format**: WHILE When in [state], the system must [operate]
47
- **Example**: WHILE When the user is authenticated, the system must allow access to protected resources
48
-
49
- ### 4. Optional (Optional function)
50
- **Format**: If WHERE [condition], the system can [operate]
51
- **Example**: If WHERE refresh token is provided, the system can issue a new access token
52
-
53
- ### 5. Constraints
54
- **Format**: IF [condition], the system SHOULD [constrain]
55
- **Example**: IF an invalid token is provided, the system SHOULD deny access
56
-
57
- ## Writing Tips
58
-
59
- ✅ Be specific and measurable
60
- ✅ Avoid vague terms (“adequate”, “sufficient”, “fast”)
61
- ✅ One requirement per statement
62
- ✅ Make it testable
63
-
64
- ## Best Practices
65
- - The text shown to the user is written using TUI/report expressions.
66
- - When running the tool, a summary of commands and results are recorded.
67
-
68
- ## Examples
69
- ```markdown
70
- - Call this skill inside the /alfred command to generate a report.
71
- - Add summary to Completion Report.
72
- ```
73
-
74
- ## Inputs
75
- - MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
76
- - Parameters passed from user commands or higher commands.
77
-
78
- ## Outputs
79
- - Reports, checklists or recommendations for your Alfred workflow.
80
- - Structured data for subsequent subagent calls.
81
-
82
- ## Failure Modes
83
- - When required input documents are missing or permissions are limited.
84
- - When disruptive changes are required without user approval.
85
-
86
- ## Dependencies
87
- - Cooperation with higher-level agents such as cc-manager and project-manager is required.
88
-
89
- ## References
90
- - Mavin, A., et al. "Easy Approach to Requirements Syntax (EARS)." IEEE RE, 2009.
91
- - INCOSE. "Guide for Writing Requirements." INCOSE-TP-2010-006-02 (accessed 2025-03-29).
92
-
93
- ## Changelog
94
- - 2025-03-29: Added input/output/failure response to Alfred-specific skills.
95
-
96
- ## Works well with
97
-
98
- - alfred-spec-metadata-validation
99
- - alfred-trust-validation
100
-
101
- ## Reference
102
-
103
- `.moai/memory/development-guide.md#ears-requirements-how-to`