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
@@ -0,0 +1,570 @@
1
+ ---
2
+ name: moai-tag-policy-validator
3
+ version: 1.0.0
4
+ created: 2025-11-05
5
+ updated: 2025-11-05
6
+ status: active
7
+ description: Comprehensive TAG system validator and policy enforcer that monitors, validates, and corrects TAG usage across code, tests, and documentation. Use when ensuring TAG compliance, validating TAG policy violations, analyzing TAG coverage, or when maintaining TAG system integrity and governance.
8
+ keywords: [tag-validation, tag-policy, tag-governance, tag-coverage, tag-compliance, tag-correction]
9
+ allowed-tools:
10
+ - Read
11
+ - Glob
12
+ - Grep
13
+ - Bash
14
+ - Write
15
+ ---
16
+
17
+ # TAG Policy Validator and Governance System
18
+
19
+ ## Skill Metadata
20
+
21
+ | Field | Value |
22
+ | ----- | ----- |
23
+ | Version | 1.0.0 |
24
+ | Tier | Alfred (TAG System) |
25
+ | Auto-load | When TAG violations detected or on demand |
26
+ | Purpose | Ensure TAG system integrity and policy compliance |
27
+
28
+ ---
29
+
30
+ ## What It Does
31
+
32
+ Comprehensive TAG system validator and policy enforcer that monitors TAG usage, validates compliance with TAG policies, analyzes coverage, and provides automatic corrections for TAG violations. Ensures the integrity and governance of the MoAI-ADK TAG system.
33
+
34
+ **Core capabilities**:
35
+ - ✅ Real-time TAG policy validation and enforcement
36
+ - ✅ TAG coverage analysis across code, tests, and documentation
37
+ - ✅ Automatic TAG violation detection and correction
38
+ - ✅ TAG policy compliance reporting and metrics
39
+ - ✅ Orphaned TAG detection and resolution
40
+ - ✅ TAG chain integrity verification (SPEC→TEST→CODE→DOC)
41
+ - ✅ TAG policy governance and rule management
42
+ - ✅ TAG system health monitoring and alerts
43
+
44
+ ---
45
+
46
+ ## When to Use
47
+
48
+ - ✅ When validating TAG policy compliance
49
+ - ✅ Before committing changes with TAG modifications
50
+ - ✅ During code reviews and quality assurance
51
+ - ✅ When analyzing TAG coverage and completeness
52
+ - ✅ For TAG system maintenance and governance
53
+ - ✅ When troubleshooting TAG-related issues
54
+ - ✅ Before major releases or deployments
55
+
56
+ ---
57
+
58
+ ## TAG Policy Framework
59
+
60
+ ### 1. TAG Policy Rules
61
+ ```python
62
+ TAG_POLICIES = {
63
+ "SPEC_TAGS": {
64
+ "required_fields": ["id", "version", "status", "created", "updated", "author", "priority"],
65
+ "format_validation": {
66
+ "id": r"SPEC-[0-9]{3}",
67
+ "version": r"[0-9]+\.[0-9]+\.[0-9]+",
68
+ "status": r"^(draft|active|completed|archived)$"
69
+ },
70
+ "content_validation": {
71
+ "min_content_length": 100,
72
+ "required_sections": ["## What It Does", "## When to Use"],
73
+ "max_content_lines": 500
74
+ }
75
+ },
76
+ "CODE_TAGS": {
77
+ "placement_rules": {
78
+ "function_comments": True,
79
+ "class_documentation": True,
80
+ "module_level": True
81
+ },
82
+ "content_requirements": {
83
+ "min_description_length": 20,
84
+ "require_examples": True,
85
+ "require_parameters": True
86
+ }
87
+ },
88
+ "TEST_TAGS": {
89
+ "coverage_requirements": {
90
+ "test_function_tagging": True,
91
+ "test_class_tagging": True,
92
+ "parameter_testing": True
93
+ },
94
+ "content_validation": {
95
+ "require_test_description": True,
96
+ "require_expected_behavior": True
97
+ }
98
+ },
99
+ "DOC_TAGS": {
100
+ "linking_rules": {
101
+ "bidirectional_links": True,
102
+ "chain_completeness": True,
103
+ "no_broken_links": True
104
+ },
105
+ "content_requirements": {
106
+ "up_to_date": True,
107
+ "accuracy_check": True,
108
+ "completeness_check": True
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ ### 2. TAG Chain Validation
115
+ ```python
116
+ def validate_tag_chains():
117
+ """Validate complete TAG chains: SPEC → TEST → CODE → DOC"""
118
+ chain_analysis = {
119
+ "complete_chains": [],
120
+ "broken_chains": [],
121
+ "missing_links": [],
122
+ "orphaned_tags": []
123
+ }
124
+
125
+ # Find all SPEC tags
126
+ spec_tags = find_all_tags("SPEC-")
127
+
128
+ for spec_tag in spec_tags:
129
+ chain = {
130
+ "spec": spec_tag,
131
+ "tests": find_linked_tests(spec_tag),
132
+ "code": find_linked_code(spec_tag),
133
+ "docs": find_linked_docs(spec_tag)
134
+ }
135
+
136
+ # Validate chain completeness
137
+ if is_complete_chain(chain):
138
+ chain_analysis["complete_chains"].append(chain)
139
+ else:
140
+ missing = identify_missing_links(chain)
141
+ chain_analysis["broken_chains"].append({
142
+ "spec": spec_tag,
143
+ "missing_links": missing,
144
+ "severity": assess_chain_severity(missing)
145
+ })
146
+
147
+ return chain_analysis
148
+ ```
149
+
150
+ ### 3. TAG Coverage Analysis
151
+ ```python
152
+ def analyze_tag_coverage():
153
+ """Analyze TAG coverage across project"""
154
+ coverage_metrics = {
155
+ "total_functions": count_functions(),
156
+ "tagged_functions": count_tagged_functions(),
157
+ "total_classes": count_classes(),
158
+ "tagged_classes": count_tagged_classes(),
159
+ "total_tests": count_tests(),
160
+ "tagged_tests": count_tagged_tests(),
161
+ "total_docs": count_documentation_files(),
162
+ "tagged_docs": count_tagged_docs(),
163
+ "coverage_percentages": {},
164
+ "untagged_areas": []
165
+ }
166
+
167
+ # Calculate coverage percentages
168
+ coverage_metrics["coverage_percentages"] = {
169
+ "functions": (coverage_metrics["tagged_functions"] / coverage_metrics["total_functions"]) * 100,
170
+ "classes": (coverage_metrics["tagged_classes"] / coverage_metrics["total_classes"]) * 100,
171
+ "tests": (coverage_metrics["tagged_tests"] / coverage_metrics["total_tests"]) * 100,
172
+ "docs": (coverage_metrics["tagged_docs"] / coverage_metrics["total_docs"]) * 100
173
+ }
174
+
175
+ # Identify untagged areas
176
+ coverage_metrics["untagged_areas"] = find_untagged_areas()
177
+
178
+ return coverage_metrics
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Validation Engine
184
+
185
+ ### 1. Real-time Validation
186
+ ```python
187
+ def validate_file_tags(file_path, file_content):
188
+ """Validate TAGs in a specific file"""
189
+ validation_result = {
190
+ "file_path": file_path,
191
+ "file_type": determine_file_type(file_path),
192
+ "tags_found": extract_tags(file_content),
193
+ "violations": [],
194
+ "recommendations": [],
195
+ "compliance_score": 0.0
196
+ }
197
+
198
+ # Extract and validate tags
199
+ tags = extract_tags(file_content)
200
+
201
+ for tag in tags:
202
+ violations = validate_single_tag(tag, file_path)
203
+ validation_result["violations"].extend(violations)
204
+
205
+ # Calculate compliance score
206
+ validation_result["compliance_score"] = calculate_compliance_score(
207
+ validation_result["violations"], file_path
208
+ )
209
+
210
+ # Generate recommendations
211
+ validation_result["recommendations"] = generate_recommendations(
212
+ validation_result["violations"], file_path
213
+ )
214
+
215
+ return validation_result
216
+ ```
217
+
218
+ ### 2. Policy Violation Detection
219
+ ```python
220
+ def detect_policy_violations():
221
+ """Detect all TAG policy violations in project"""
222
+ violations = {
223
+ "spec_violations": [],
224
+ "code_violations": [],
225
+ "test_violations": [],
226
+ "doc_violations": [],
227
+ "cross_file_violations": [],
228
+ "policy_compliance": {}
229
+ }
230
+
231
+ # Scan all files for violations
232
+ for file_path in get_all_project_files():
233
+ file_violations = scan_file_for_violations(file_path)
234
+
235
+ violation_type = categorize_violations(file_violations)
236
+ violations[violation_type].extend(file_violations)
237
+
238
+ # Check cross-file violations
239
+ violations["cross_file_violations"] = check_cross_file_violations()
240
+
241
+ # Calculate overall compliance
242
+ violations["policy_compliance"] = calculate_overall_compliance(violations)
243
+
244
+ return violations
245
+ ```
246
+
247
+ ### 3. Automatic Correction System
248
+ ```python
249
+ def auto_correct_violations(violations, dry_run=True):
250
+ """Automatically correct TAG violations"""
251
+ corrections_applied = []
252
+ correction_failures = []
253
+
254
+ for violation in violations:
255
+ if violation.auto_correctable:
256
+ try:
257
+ correction = generate_correction(violation)
258
+
259
+ if not dry_run:
260
+ apply_correction(correction)
261
+
262
+ corrections_applied.append({
263
+ "violation": violation,
264
+ "correction": correction,
265
+ "status": "applied" if not dry_run else "preview"
266
+ })
267
+
268
+ except Exception as e:
269
+ correction_failures.append({
270
+ "violation": violation,
271
+ "error": str(e),
272
+ "status": "failed"
273
+ })
274
+
275
+ return {
276
+ "corrections_applied": corrections_applied,
277
+ "correction_failures": correction_failures,
278
+ "summary": generate_correction_summary(corrections_applied, correction_failures)
279
+ }
280
+ ```
281
+
282
+ ---
283
+
284
+ ## TAG System Governance
285
+
286
+ ### 1. Policy Management
287
+ ```python
288
+ def update_tag_policies(new_policies):
289
+ """Update TAG policies with validation"""
290
+ policy_update = {
291
+ "timestamp": datetime.now().isoformat(),
292
+ "old_policies": get_current_policies(),
293
+ "new_policies": new_policies,
294
+ "impact_analysis": analyze_policy_impact(new_policies),
295
+ "validation_results": validate_new_policies(new_policies)
296
+ }
297
+
298
+ # Validate new policies
299
+ if policy_update["validation_results"]["is_valid"]:
300
+ apply_new_policies(new_policies)
301
+ policy_update["status"] = "applied"
302
+ else:
303
+ policy_update["status"] = "rejected"
304
+ policy_update["rejection_reasons"] = policy_update["validation_results"]["errors"]
305
+
306
+ # Log policy changes
307
+ log_policy_change(policy_update)
308
+
309
+ return policy_update
310
+ ```
311
+
312
+ ### 2. Compliance Reporting
313
+ ```python
314
+ def generate_compliance_report():
315
+ """Generate comprehensive TAG compliance report"""
316
+ report = {
317
+ "generated_at": datetime.now().isoformat(),
318
+ "period": "last_7_days",
319
+ "overall_compliance": 0.0,
320
+ "coverage_metrics": analyze_tag_coverage(),
321
+ "violation_summary": summarize_violations(),
322
+ "trend_analysis": analyze_compliance_trends(),
323
+ "recommendations": generate_compliance_recommendations(),
324
+ "action_items": identify_action_items()
325
+ }
326
+
327
+ # Calculate overall compliance
328
+ report["overall_compliance"] = calculate_overall_compliance_score(report)
329
+
330
+ # Generate actionable insights
331
+ report["insights"] = generate_compliance_insights(report)
332
+
333
+ return report
334
+ ```
335
+
336
+ ### 3. Health Monitoring
337
+ ```python
338
+ def monitor_tag_system_health():
339
+ """Monitor TAG system health and performance"""
340
+ health_metrics = {
341
+ "system_status": "healthy",
342
+ "performance_metrics": {
343
+ "validation_time": measure_validation_performance(),
344
+ "correction_time": measure_correction_performance(),
345
+ "scan_time": measure_scan_performance()
346
+ },
347
+ "quality_metrics": {
348
+ "tag_accuracy": measure_tag_accuracy(),
349
+ "link_integrity": measure_link_integrity(),
350
+ "coverage_trend": measure_coverage_trend()
351
+ },
352
+ "alerts": [],
353
+ "recommendations": []
354
+ }
355
+
356
+ # Check for health issues
357
+ if health_metrics["quality_metrics"]["tag_accuracy"] < 0.9:
358
+ health_metrics["alerts"].append({
359
+ "severity": "warning",
360
+ "message": "TAG accuracy below 90%",
361
+ "recommendation": "Run validation and correction"
362
+ })
363
+
364
+ if health_metrics["quality_metrics"]["link_integrity"] < 0.85:
365
+ health_metrics["alerts"].append({
366
+ "severity": "error",
367
+ "message": "TAG link integrity compromised",
368
+ "recommendation": "Run TAG chain validation"
369
+ })
370
+
371
+ # Update system status
372
+ health_metrics["system_status"] = determine_system_status(health_metrics["alerts"])
373
+
374
+ return health_metrics
375
+ ```
376
+
377
+ ---
378
+
379
+ ## Integration Examples
380
+
381
+ ### Example 1: Pre-Commit Validation
382
+ ```python
383
+ def validate_tags_before_commit():
384
+ """Validate TAGs before Git commit"""
385
+ Skill("moai-tag-policy-validator")
386
+
387
+ # Get staged files
388
+ staged_files = get_staged_files()
389
+
390
+ validation_results = []
391
+ critical_violations = []
392
+
393
+ for file_path in staged_files:
394
+ result = validate_file_tags(file_path, read_file(file_path))
395
+ validation_results.append(result)
396
+
397
+ # Check for critical violations
398
+ critical_violations.extend([
399
+ v for v in result.violations if v.severity == "critical"
400
+ ])
401
+
402
+ if critical_violations:
403
+ display_critical_violations(critical_violations)
404
+ return False # Block commit
405
+ else:
406
+ display_validation_summary(validation_results)
407
+ return True # Allow commit
408
+ ```
409
+
410
+ ### Example 2: TAG Coverage Analysis
411
+ ```python
412
+ def analyze_project_tag_coverage():
413
+ """Analyze TAG coverage across entire project"""
414
+ Skill("moai-tag-policy-validator")
415
+
416
+ coverage = analyze_tag_coverage()
417
+
418
+ display_coverage_dashboard(coverage)
419
+
420
+ # Identify areas needing attention
421
+ low_coverage_areas = [
422
+ area for area, coverage in coverage["coverage_percentages"].items()
423
+ if coverage < 80
424
+ ]
425
+
426
+ if low_coverage_areas:
427
+ display_coverage_gaps(low_coverage_areas)
428
+ suggest_improvement_strategies(low_coverage_areas)
429
+ ```
430
+
431
+ ### Example 3: Automatic Correction
432
+ ```python
433
+ def fix_tag_violations():
434
+ """Fix TAG violations automatically"""
435
+ Skill("moai-tag-policy-validator")
436
+
437
+ violations = detect_policy_violations()
438
+ auto_correctable = [v for v in violations if v.auto_correctable]
439
+
440
+ if auto_correctable:
441
+ print(f"Found {len(auto_correctable)} auto-correctable violations")
442
+
443
+ # Preview corrections
444
+ corrections = auto_correct_violations(auto_correctable, dry_run=True)
445
+ display_correction_preview(corrections)
446
+
447
+ # Ask for confirmation
448
+ if confirm_corrections():
449
+ # Apply corrections
450
+ result = auto_correct_violations(auto_correctable, dry_run=False)
451
+ display_correction_results(result)
452
+ else:
453
+ print("No auto-correctable violations found")
454
+ ```
455
+
456
+ ---
457
+
458
+ ## Quality Assurance
459
+
460
+ ### 1. Validation Rules
461
+ ```python
462
+ VALIDATION_RULES = {
463
+ "spec_format": {
464
+ "required": ["@SPEC:ID", "@VERSION", "@STATUS"],
465
+ "forbidden": ["@TODO", "@FIXME"],
466
+ "patterns": {
467
+ "@SPEC:": r"@[A-Z]+:[A-Z0-9-]+"
468
+ }
469
+ },
470
+ "code_format": {
471
+ "placement": ["function_level", "class_level", "module_level"],
472
+ "content": ["description", "parameters", "returns"],
473
+ "forbidden": ["vague_descriptions"]
474
+ },
475
+ "link_format": {
476
+ "required": ["source", "target"],
477
+ "bidirectional": True,
478
+ "no_broken_links": True
479
+ }
480
+ }
481
+ ```
482
+
483
+ ### 2. Quality Metrics
484
+ ```python
485
+ def calculate_tag_quality_metrics():
486
+ """Calculate TAG quality metrics"""
487
+ metrics = {
488
+ "accuracy": measure_tag_accuracy(),
489
+ "completeness": measure_tag_completeness(),
490
+ "consistency": measure_tag_consistency(),
491
+ "maintainability": measure_tag_maintainability(),
492
+ "traceability": measure_tag_traceability()
493
+ }
494
+
495
+ # Calculate overall quality score
496
+ metrics["overall_score"] = calculate_overall_quality_score(metrics)
497
+
498
+ return metrics
499
+ ```
500
+
501
+ ### 3. Continuous Improvement
502
+ ```python
503
+ def improve_tag_system():
504
+ """Continuously improve TAG system based on usage patterns"""
505
+ improvement_plan = {
506
+ "usage_analysis": analyze_tag_usage_patterns(),
507
+ "feedback_integration": integrate_user_feedback(),
508
+ "policy_refinement": refine_policies_based_on_data(),
509
+ "tooling_enhancement": identify_tooling_improvements()
510
+ }
511
+
512
+ # Generate improvement recommendations
513
+ recommendations = generate_improvement_recommendations(improvement_plan)
514
+
515
+ return {
516
+ "plan": improvement_plan,
517
+ "recommendations": recommendations,
518
+ "implementation_priority": prioritize_improvements(recommendations)
519
+ }
520
+ ```
521
+
522
+ ---
523
+
524
+ ## Usage Examples
525
+
526
+ ### Example 1: Validate Single File
527
+ ```python
528
+ # User wants to validate a specific file
529
+ Skill("moai-tag-policy-validator")
530
+
531
+ file_path = "src/main.py"
532
+ validation_result = validate_file_tags(file_path, read_file(file_path))
533
+
534
+ if validation_result.violations:
535
+ display_violations(validation_result.violations)
536
+ suggest_corrections(validation_result.violations)
537
+ else:
538
+ display_success("All TAG policies compliant")
539
+ ```
540
+
541
+ ### Example 2: Project-Wide Validation
542
+ ```python
543
+ # User wants to validate entire project
544
+ Skill("moai-tag-policy-validator")
545
+
546
+ violations = detect_policy_violations()
547
+ compliance_report = generate_compliance_report()
548
+
549
+ display_compliance_dashboard(compliance_report)
550
+
551
+ if violations["critical_violations"]:
552
+ display_critical_alerts(violations["critical_violations"])
553
+ ```
554
+
555
+ ### Example 3: TAG Chain Analysis
556
+ ```python
557
+ # User wants to analyze TAG chains
558
+ Skill("moai-tag-policy-validator")
559
+
560
+ chain_analysis = validate_tag_chains()
561
+
562
+ display_chain_analysis(chain_analysis)
563
+
564
+ if chain_analysis["broken_chains"]:
565
+ display_chain_repair_suggestions(chain_analysis["broken_chains"])
566
+ ```
567
+
568
+ ---
569
+
570
+ **End of Skill** | Comprehensive TAG system validation and governance for maintaining TAG integrity and compliance
@@ -0,0 +1,66 @@
1
+ #!/bin/bash
2
+ # @CODE:DOC-TAG-004 | Component 1: Pre-commit hook for TAG validation
3
+ #
4
+ # This hook validates TAG annotations in staged files before commit.
5
+ # It checks:
6
+ # - TAG format (@DOC:DOMAIN-TYPE-NNN)
7
+ # - Duplicate TAG detection
8
+ # - Orphan TAG detection (warnings only)
9
+ #
10
+ # Exit codes:
11
+ # 0 - Validation passed
12
+ # 1 - Validation failed (duplicates or format errors)
13
+
14
+ set -e # Exit on error
15
+
16
+ # Colors for output
17
+ RED='\033[0;31m'
18
+ GREEN='\033[0;32m'
19
+ YELLOW='\033[1;33m'
20
+ NC='\033[0m' # No Color
21
+
22
+ # Get repository root
23
+ REPO_ROOT=$(git rev-parse --show-toplevel)
24
+
25
+ # Check if Python module is available
26
+ if ! python3 -c "import moai_adk.core.tags.pre_commit_validator" 2>/dev/null; then
27
+ echo -e "${YELLOW}Warning: moai_adk TAG validator not found.${NC}"
28
+ echo "Skipping TAG validation. Install moai_adk to enable validation."
29
+ exit 0
30
+ fi
31
+
32
+ # Get staged files
33
+ STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM)
34
+
35
+ if [ -z "$STAGED_FILES" ]; then
36
+ echo -e "${GREEN}No staged files to validate.${NC}"
37
+ exit 0
38
+ fi
39
+
40
+ echo "🔍 Validating TAG annotations in staged files..."
41
+
42
+ # Run TAG validation
43
+ # Pass staged files as arguments to validator
44
+ python3 -m moai_adk.core.tags.pre_commit_validator \
45
+ --files $STAGED_FILES
46
+
47
+ VALIDATION_RESULT=$?
48
+
49
+ # Check result
50
+ if [ $VALIDATION_RESULT -eq 0 ]; then
51
+ echo -e "${GREEN}✓ TAG validation passed.${NC}"
52
+ exit 0
53
+ else
54
+ echo -e "${RED}✗ TAG validation failed.${NC}"
55
+ echo ""
56
+ echo "Commit blocked due to TAG validation errors."
57
+ echo ""
58
+ echo "To fix:"
59
+ echo " 1. Fix duplicate TAGs or format errors shown above"
60
+ echo " 2. Stage your changes with 'git add'"
61
+ echo " 3. Try committing again"
62
+ echo ""
63
+ echo "To skip this validation (not recommended):"
64
+ echo " git commit --no-verify"
65
+ exit 1
66
+ fi