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,137 +0,0 @@
1
- # moai-spec-authoring Skill
2
-
3
- **Version**: 1.2.0
4
- **Created**: 2025-10-23
5
- **Updated**: 2025-10-29
6
- **Status**: Active
7
- **Tier**: Foundation
8
-
9
- ## Overview
10
-
11
- Comprehensive guide for authoring SPEC documents in MoAI-ADK projects. Provides complete YAML metadata structure, EARS syntax patterns, version management strategies, and validation tools.
12
-
13
- ## Key Features
14
-
15
- - **7 Required + 9 Optional Metadata Fields**: Complete reference with lifecycle examples
16
- - **5 Official EARS Patterns**: Ubiquitous, Event-driven, State-driven, Optional, Unwanted Behaviors
17
- - **Version Lifecycle**: Semantic versioning from draft to production
18
- - **TAG Integration**: @SPEC, @TEST, @CODE, @DOC chain management
19
- - **Validation Tools**: Pre-submission checklist and automation scripts
20
- - **Common Pitfalls**: Prevention strategies for 7 major issues
21
-
22
- ## File Structure (Progressive Disclosure)
23
-
24
- ```
25
- .claude/skills/moai-spec-authoring/
26
- ├── SKILL.md # Core overview + Quick Start (~500 words)
27
- ├── reference.md # Complete metadata reference + EARS syntax
28
- ├── examples.md # Real-world examples + patterns + troubleshooting
29
- ├── examples/
30
- │ └── validate-spec.sh # Automated SPEC validation script
31
- └── README.md # This file
32
- ```
33
-
34
- ## Quick Links
35
-
36
- - **Quick Start**: [SKILL.md](./SKILL.md#quick-start-5-step-spec-creation)
37
- - **Metadata Reference**: [reference.md](./reference.md#complete-metadata-field-reference)
38
- - **EARS Syntax**: [reference.md](./reference.md#ears-requirement-syntax)
39
- - **Examples**: [examples.md](./examples.md#real-world-ears-examples)
40
- - **Troubleshooting**: [examples.md](./examples.md#troubleshooting)
41
-
42
- ## Usage
43
-
44
- ### Automatic Activation
45
-
46
- This Skill automatically loads when:
47
- - `/alfred:1-plan` command is executed
48
- - SPEC document creation is requested
49
- - Requirements clarification is discussed
50
-
51
- ### Manual Reference
52
-
53
- Consult detailed sections for:
54
- - SPEC authoring best practices
55
- - Existing SPEC document validation
56
- - Metadata issue troubleshooting
57
- - EARS syntax pattern reference
58
-
59
- ## Validation Command
60
-
61
- ```bash
62
- # Validate SPEC metadata
63
- rg "^(id|version|status|created|updated|author|priority):" .moai/specs/SPEC-AUTH-001/spec.md
64
-
65
- # Check for duplicate IDs
66
- rg "@SPEC:AUTH-001" -n .moai/specs/
67
-
68
- # Scan entire TAG chain
69
- rg '@(SPEC|TEST|CODE|DOC):AUTH-001' -n
70
-
71
- # Use automated script
72
- ./examples/validate-spec.sh .moai/specs/SPEC-AUTH-001
73
- ```
74
-
75
- ## Example SPEC Structure
76
-
77
- ```markdown
78
- ---
79
- id: AUTH-001
80
- version: 0.0.1
81
- status: draft
82
- created: 2025-10-29
83
- updated: 2025-10-29
84
- author: @YourHandle
85
- priority: high
86
- ---
87
-
88
- # @SPEC:AUTH-001: JWT Authentication System
89
-
90
- ## HISTORY
91
- ### v0.0.1 (2025-10-29)
92
- - **INITIAL**: JWT authentication SPEC draft
93
-
94
- ## Environment
95
- **Runtime**: Node.js 20.x
96
-
97
- ## Assumptions
98
- 1. User storage: PostgreSQL
99
- 2. Secret management: Environment variables
100
-
101
- ## Requirements
102
-
103
- ### Ubiquitous Requirements
104
- **UR-001**: The system shall provide JWT-based authentication.
105
-
106
- ### Event-driven Requirements
107
- **ER-001**: WHEN the user submits valid credentials, the system shall issue a JWT token.
108
-
109
- ### State-driven Requirements
110
- **SR-001**: WHILE the user is in an authenticated state, the system shall permit access to protected resources.
111
-
112
- ### Optional Features
113
- **OF-001**: WHERE multi-factor authentication is enabled, the system can require OTP verification.
114
-
115
- ### Unwanted Behaviors
116
- **UB-001**: IF a token has expired, THEN the system shall deny access and return HTTP 401.
117
- ```
118
-
119
- ## Integration
120
-
121
- Works seamlessly with:
122
- - `spec-builder` agent - SPEC creation
123
- - `moai-foundation-ears` - EARS syntax patterns
124
- - `moai-foundation-specs` - Metadata validation
125
- - `moai-foundation-tags` - TAG system integration
126
-
127
- ## Support
128
-
129
- For questions or issues:
130
- 1. Refer to comprehensive documentation: `SKILL.md`, `reference.md`, `examples.md`
131
- 2. Use `/alfred:1-plan` for guided SPEC creation
132
- 3. Review existing SPECs in `.moai/specs/` for examples
133
-
134
- ---
135
-
136
- **Maintained By**: MoAI-ADK Team
137
- **Last Updated**: 2025-10-29
@@ -1,219 +0,0 @@
1
- ---
2
- name: moai-alfred-spec-authoring
3
- version: 1.2.0
4
- created: 2025-10-23
5
- updated: 2025-11-02
6
- status: active
7
- description: SPEC document authoring guide - YAML metadata, EARS syntax (5 patterns with Unwanted Behaviors), validation checklist
8
- keywords: ['spec', 'authoring', 'ears', 'metadata', 'requirements', 'tdd', 'planning']
9
- allowed-tools:
10
- - Read
11
- - Bash
12
- - Glob
13
- ---
14
-
15
- # SPEC Authoring Skill
16
-
17
- ## Skill Metadata
18
-
19
- | Field | Value |
20
- | ----- | ----- |
21
- | **Skill Name** | moai-alfred-spec-authoring |
22
- | **Version** | 1.2.0 (2025-11-02) |
23
- | **Allowed tools** | Read, Bash, Glob |
24
- | **Auto-load** | `/alfred:1-plan`, SPEC authoring tasks |
25
- | **Tier** | Alfred |
26
-
27
- ---
28
-
29
- ## What It Does
30
-
31
- Comprehensive guide for authoring SPEC documents in MoAI-ADK. Provides YAML metadata structure (7 required + 9 optional fields), official EARS requirement syntax (5 patterns including Unwanted Behaviors), version management lifecycle, TAG integration, and validation strategies.
32
-
33
- **Key capabilities**:
34
- - Step-by-step SPEC creation workflow
35
- - Complete metadata field reference with lifecycle rules
36
- - EARS syntax templates and real-world patterns
37
- - Pre-submission validation checklist
38
- - Common pitfalls prevention guide
39
- - `/alfred:1-plan` workflow integration
40
-
41
- ---
42
-
43
- ## When to Use
44
-
45
- **Automatic triggers**:
46
- - `/alfred:1-plan` command execution
47
- - SPEC document creation requests
48
- - Requirements clarification discussions
49
- - Feature planning sessions
50
-
51
- **Manual invocation**:
52
- - Learn SPEC authoring best practices
53
- - Validate existing SPEC documents
54
- - Troubleshoot metadata issues
55
- - Understand EARS syntax patterns
56
-
57
- ---
58
-
59
- ## Quick Start: 5-Step SPEC Creation
60
-
61
- ### Step 1: Initialize SPEC Directory
62
-
63
- ```bash
64
- mkdir -p .moai/specs/SPEC-{DOMAIN}-{NUMBER}
65
- # Example: Authentication feature
66
- mkdir -p .moai/specs/SPEC-AUTH-001
67
- ```
68
-
69
- ### Step 2: Write YAML Front Matter
70
-
71
- ```yaml
72
- ---
73
- id: AUTH-001
74
- version: 0.0.1
75
- status: draft
76
- created: 2025-10-29
77
- updated: 2025-10-29
78
- author: @YourGitHubHandle
79
- priority: high
80
- ---
81
- ```
82
-
83
- ### Step 3: Add SPEC Title & HISTORY
84
-
85
- ```markdown
86
- # @SPEC:AUTH-001: JWT Authentication System
87
-
88
- ## HISTORY
89
-
90
- ### v0.0.1 (2025-10-29)
91
- - **INITIAL**: JWT authentication SPEC draft created
92
- - **AUTHOR**: @YourHandle
93
- ```
94
-
95
- ### Step 4: Define Environment & Assumptions
96
-
97
- ```markdown
98
- ## Environment
99
-
100
- **Runtime**: Node.js 20.x or later
101
- **Framework**: Express.js
102
- **Database**: PostgreSQL 15+
103
-
104
- ## Assumptions
105
-
106
- 1. User credentials stored in PostgreSQL
107
- 2. JWT secrets managed via environment variables
108
- 3. Server clock synchronized with NTP
109
- ```
110
-
111
- ### Step 5: Write EARS Requirements
112
-
113
- ```markdown
114
- ## Requirements
115
-
116
- ### Ubiquitous Requirements
117
- **UR-001**: The system shall provide JWT-based authentication.
118
-
119
- ### Event-driven Requirements
120
- **ER-001**: WHEN the user submits valid credentials, the system shall issue a JWT token with 15-minute expiration.
121
-
122
- ### State-driven Requirements
123
- **SR-001**: WHILE the user is in an authenticated state, the system shall permit access to protected resources.
124
-
125
- ### Optional Features
126
- **OF-001**: WHERE multi-factor authentication is enabled, the system can require OTP verification after password confirmation.
127
-
128
- ### Unwanted Behaviors
129
- **UB-001**: IF a token has expired, THEN the system shall deny access and return HTTP 401.
130
- ```
131
-
132
- ---
133
-
134
- ## Five EARS Pattern Overview
135
-
136
- | Pattern | Keyword | Purpose | Example |
137
- |---------|---------|---------|---------|
138
- | **Ubiquitous** | shall | Core functionality always active | "The system shall provide login capability" |
139
- | **Event-driven** | WHEN | Response to specific events | "WHEN login fails, display error" |
140
- | **State-driven** | WHILE | Persistent behavior during state | "WHILE in authenticated state, permit access" |
141
- | **Optional** | WHERE | Conditional features based on flags | "WHERE premium enabled, unlock feature" |
142
- | **Unwanted Behaviors** | IF-THEN | Error handling, quality gates, business rules | "IF token expires, deny access + return 401" |
143
-
144
- ---
145
-
146
- ## Seven Required Metadata Fields
147
-
148
- 1. **id**: `<DOMAIN>-<NUMBER>` (e.g., `AUTH-001`) - Immutable identifier
149
- 2. **version**: `MAJOR.MINOR.PATCH` (e.g., `0.0.1`) - Semantic versioning
150
- 3. **status**: `draft` | `active` | `completed` | `deprecated`
151
- 4. **created**: `YYYY-MM-DD` - Initial creation date
152
- 5. **updated**: `YYYY-MM-DD` - Final modification date
153
- 6. **author**: `@GitHubHandle` - Primary author (@ prefix required)
154
- 7. **priority**: `critical` | `high` | `medium` | `low`
155
-
156
- **Version Lifecycle**:
157
- - `0.0.x` → draft (authoring phase)
158
- - `0.1.0` → completed (implementation done)
159
- - `1.0.0` → stable (production-ready)
160
-
161
- ---
162
-
163
- ## Validation Checklist
164
-
165
- ### Metadata Validation
166
- - [ ] All 7 required fields present
167
- - [ ] `author` field includes @ prefix
168
- - [ ] `version` format is `0.x.y`
169
- - [ ] `id` is not duplicated (`rg "@SPEC:AUTH-001" -n .moai/specs/`)
170
-
171
- ### Content Validation
172
- - [ ] YAML Front Matter complete
173
- - [ ] Title includes `@SPEC:{ID}` TAG block
174
- - [ ] HISTORY section has v0.0.1 INITIAL entry
175
- - [ ] Environment section defined
176
- - [ ] Assumptions section defined (minimum 3 items)
177
- - [ ] Requirements section uses EARS patterns
178
- - [ ] Traceability section shows TAG chain structure
179
-
180
- ### EARS Syntax Validation
181
- - [ ] Ubiquitous: "shall" + capability
182
- - [ ] Event-driven: Starts with "WHEN [trigger]"
183
- - [ ] State-driven: Starts with "WHILE [state]"
184
- - [ ] Optional: Starts with "WHERE [feature]", uses "can"
185
- - [ ] Unwanted Behaviors: "IF-THEN" or direct constraint expression
186
-
187
- ---
188
-
189
- ## Common Pitfalls
190
-
191
- 1. ❌ **Changing SPEC ID after assignment** → Breaks TAG chain
192
- 2. ❌ **Skipping HISTORY updates** → Content changes without audit trail
193
- 3. ❌ **Jumping version numbers** → v0.0.1 → v1.0.0 without intermediate steps
194
- 4. ❌ **Ambiguous requirements** → "Fast and user-friendly" (unmeasurable)
195
- 5. ❌ **Missing @ prefix in author** → `author: Goos` instead of `author: @Goos`
196
- 6. ❌ **Mixing EARS patterns** → Multiple keywords in single requirement
197
-
198
- ---
199
-
200
- ## Related Skills
201
-
202
- - `moai-foundation-ears` - Official EARS syntax patterns
203
- - `moai-foundation-specs` - Metadata validation automation
204
- - `moai-foundation-tags` - TAG system integration
205
- - `moai-alfred-spec-metadata-validation` - Automated validation
206
-
207
- ---
208
-
209
- ## Detailed Reference
210
-
211
- - **Full Metadata Reference**: [reference.md](./reference.md)
212
- - **Practical Examples**: [examples.md](./examples.md)
213
-
214
- ---
215
-
216
- **Last Updated**: 2025-10-29
217
- **Version**: 1.2.0
218
- **Maintained By**: MoAI-ADK Team
219
- **Support**: Use `/alfred:1-plan` command for guided SPEC creation
@@ -1,161 +0,0 @@
1
- #!/usr/bin/env bash
2
- # validate-spec.sh - SPEC validation helper for MoAI-ADK
3
- # Usage: ./validate-spec.sh .moai/specs/SPEC-AUTH-001
4
-
5
- set -e
6
-
7
- SPEC_DIR="$1"
8
-
9
- if [ -z "$SPEC_DIR" ]; then
10
- echo "Usage: $0 <SPEC_DIR>"
11
- echo "Example: $0 .moai/specs/SPEC-AUTH-001"
12
- exit 1
13
- fi
14
-
15
- if [ ! -d "$SPEC_DIR" ]; then
16
- echo "Error: Directory $SPEC_DIR does not exist"
17
- exit 1
18
- fi
19
-
20
- if [ ! -f "$SPEC_DIR/spec.md" ]; then
21
- echo "Error: spec.md not found in $SPEC_DIR"
22
- exit 1
23
- fi
24
-
25
- echo "=========================================="
26
- echo "Validating SPEC: $SPEC_DIR"
27
- echo "=========================================="
28
- echo ""
29
-
30
- # Check required fields
31
- echo -n "Required fields (7)... "
32
- REQUIRED_COUNT=$(rg "^(id|version|status|created|updated|author|priority):" "$SPEC_DIR/spec.md" | wc -l | tr -d ' ')
33
- if [ "$REQUIRED_COUNT" -eq 7 ]; then
34
- echo "✅ ($REQUIRED_COUNT/7)"
35
- else
36
- echo "❌ ($REQUIRED_COUNT/7)"
37
- echo " Missing fields. Expected: id, version, status, created, updated, author, priority"
38
- fi
39
-
40
- # Check author format
41
- echo -n "Author format (@Handle)... "
42
- if rg "^author: @[A-Z]" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
43
- echo "✅"
44
- else
45
- echo "❌"
46
- echo " Expected format: author: @YourHandle"
47
- fi
48
-
49
- # Check version format
50
- echo -n "Version format (0.x.y)... "
51
- if rg "^version: 0\.\d+\.\d+" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
52
- echo "✅"
53
- else
54
- echo "❌"
55
- echo " Expected format: version: 0.x.y (e.g., 0.0.1, 0.1.0)"
56
- fi
57
-
58
- # Check HISTORY section
59
- echo -n "HISTORY section... "
60
- if rg "^## HISTORY" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
61
- echo "✅"
62
- else
63
- echo "❌"
64
- echo " Missing HISTORY section"
65
- fi
66
-
67
- # Check TAG block
68
- echo -n "TAG block (@SPEC:ID)... "
69
- if rg "^# @SPEC:" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
70
- echo "✅"
71
- else
72
- echo "❌"
73
- echo " Expected format: # @SPEC:YOUR-ID: Title"
74
- fi
75
-
76
- # Check Environment section
77
- echo -n "Environment section... "
78
- if rg "^## Environment" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
79
- echo "✅"
80
- else
81
- echo "⚠️ (optional but recommended)"
82
- fi
83
-
84
- # Check Assumptions section
85
- echo -n "Assumptions section... "
86
- if rg "^## Assumptions" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
87
- echo "✅"
88
- else
89
- echo "⚠️ (optional but recommended)"
90
- fi
91
-
92
- # Check Requirements section
93
- echo -n "Requirements section... "
94
- if rg "^## Requirements" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
95
- echo "✅"
96
- else
97
- echo "❌"
98
- echo " Missing Requirements section"
99
- fi
100
-
101
- # Check duplicate IDs
102
- SPEC_ID=$(basename "$SPEC_DIR" | sed 's/SPEC-//')
103
- echo -n "Duplicate ID check ($SPEC_ID)... "
104
- DUPLICATE_COUNT=$(rg "@SPEC:$SPEC_ID" -n .moai/specs/ 2>/dev/null | wc -l | tr -d ' ')
105
- if [ "$DUPLICATE_COUNT" -eq 1 ]; then
106
- echo "✅ (1 occurrence)"
107
- else
108
- echo "❌ (found $DUPLICATE_COUNT occurrences)"
109
- if [ "$DUPLICATE_COUNT" -gt 1 ]; then
110
- echo " Duplicate SPEC IDs detected:"
111
- rg "@SPEC:$SPEC_ID" -n .moai/specs/
112
- fi
113
- fi
114
-
115
- # Check EARS patterns
116
- echo ""
117
- echo "EARS Pattern Usage:"
118
- echo -n " Ubiquitous (UR-XXX)... "
119
- if rg "^\*\*UR-\d+" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
120
- COUNT=$(rg "^\*\*UR-\d+" "$SPEC_DIR/spec.md" | wc -l | tr -d ' ')
121
- echo "✅ ($COUNT found)"
122
- else
123
- echo "⚠️ (none found)"
124
- fi
125
-
126
- echo -n " Event-driven (ER-XXX)... "
127
- if rg "^\*\*ER-\d+" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
128
- COUNT=$(rg "^\*\*ER-\d+" "$SPEC_DIR/spec.md" | wc -l | tr -d ' ')
129
- echo "✅ ($COUNT found)"
130
- else
131
- echo "⚠️ (none found)"
132
- fi
133
-
134
- echo -n " State-driven (SR-XXX)... "
135
- if rg "^\*\*SR-\d+" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
136
- COUNT=$(rg "^\*\*SR-\d+" "$SPEC_DIR/spec.md" | wc -l | tr -d ' ')
137
- echo "✅ ($COUNT found)"
138
- else
139
- echo "⚠️ (none found)"
140
- fi
141
-
142
- echo -n " Optional Features (OF-XXX)... "
143
- if rg "^\*\*OF-\d+" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
144
- COUNT=$(rg "^\*\*OF-\d+" "$SPEC_DIR/spec.md" | wc -l | tr -d ' ')
145
- echo "✅ ($COUNT found)"
146
- else
147
- echo "⚠️ (none found)"
148
- fi
149
-
150
- echo -n " Unwanted Behaviors (UB-XXX)... "
151
- if rg "^\*\*UB-\d+" "$SPEC_DIR/spec.md" > /dev/null 2>&1; then
152
- COUNT=$(rg "^\*\*UB-\d+" "$SPEC_DIR/spec.md" | wc -l | tr -d ' ')
153
- echo "✅ ($COUNT found)"
154
- else
155
- echo "⚠️ (none found)"
156
- fi
157
-
158
- echo ""
159
- echo "=========================================="
160
- echo "Validation complete!"
161
- echo "=========================================="