moai-adk 0.15.1__py3-none-any.whl → 0.32.8__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 (699) hide show
  1. moai_adk/__init__.py +2 -6
  2. moai_adk/__main__.py +136 -21
  3. moai_adk/cli/__init__.py +6 -2
  4. moai_adk/cli/commands/__init__.py +1 -4
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +17 -5
  7. moai_adk/cli/commands/init.py +105 -47
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +8 -13
  10. moai_adk/cli/commands/update.py +1734 -65
  11. moai_adk/cli/main.py +3 -2
  12. moai_adk/cli/prompts/init_prompts.py +144 -91
  13. moai_adk/cli/spec_status.py +263 -0
  14. moai_adk/cli/ui/__init__.py +44 -0
  15. moai_adk/cli/ui/progress.py +422 -0
  16. moai_adk/cli/ui/prompts.py +389 -0
  17. moai_adk/cli/ui/theme.py +129 -0
  18. moai_adk/cli/worktree/__init__.py +27 -0
  19. moai_adk/cli/worktree/__main__.py +31 -0
  20. moai_adk/cli/worktree/cli.py +672 -0
  21. moai_adk/cli/worktree/exceptions.py +89 -0
  22. moai_adk/cli/worktree/manager.py +490 -0
  23. moai_adk/cli/worktree/models.py +65 -0
  24. moai_adk/cli/worktree/registry.py +128 -0
  25. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  26. moai_adk/core/__init__.py +0 -1
  27. moai_adk/core/analysis/__init__.py +9 -0
  28. moai_adk/core/analysis/session_analyzer.py +400 -0
  29. moai_adk/core/claude_integration.py +393 -0
  30. moai_adk/core/command_helpers.py +270 -0
  31. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  32. moai_adk/core/config/__init__.py +6 -0
  33. moai_adk/core/config/auto_spec_config.py +340 -0
  34. moai_adk/core/config/migration.py +147 -16
  35. moai_adk/core/config/unified.py +436 -0
  36. moai_adk/core/context_manager.py +273 -0
  37. moai_adk/core/diagnostics/slash_commands.py +0 -1
  38. moai_adk/core/enterprise_features.py +1404 -0
  39. moai_adk/core/error_recovery_system.py +1902 -0
  40. moai_adk/core/event_driven_hook_system.py +1371 -0
  41. moai_adk/core/git/__init__.py +8 -1
  42. moai_adk/core/git/branch.py +0 -1
  43. moai_adk/core/git/branch_manager.py +2 -10
  44. moai_adk/core/git/checkpoint.py +1 -7
  45. moai_adk/core/git/commit.py +0 -1
  46. moai_adk/core/git/conflict_detector.py +413 -0
  47. moai_adk/core/git/event_detector.py +3 -5
  48. moai_adk/core/git/manager.py +91 -2
  49. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  50. moai_adk/core/input_validation_middleware.py +1006 -0
  51. moai_adk/core/integration/__init__.py +22 -0
  52. moai_adk/core/integration/engine.py +157 -0
  53. moai_adk/core/integration/integration_tester.py +226 -0
  54. moai_adk/core/integration/models.py +88 -0
  55. moai_adk/core/integration/utils.py +211 -0
  56. moai_adk/core/issue_creator.py +20 -28
  57. moai_adk/core/jit_context_loader.py +956 -0
  58. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  59. moai_adk/core/language_config.py +202 -0
  60. moai_adk/core/language_config_resolver.py +485 -0
  61. moai_adk/core/language_validator.py +543 -0
  62. moai_adk/core/mcp/setup.py +116 -0
  63. moai_adk/core/merge/__init__.py +9 -0
  64. moai_adk/core/merge/analyzer.py +481 -0
  65. moai_adk/core/migration/__init__.py +18 -0
  66. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  67. moai_adk/core/migration/backup_manager.py +277 -0
  68. moai_adk/core/migration/custom_element_scanner.py +358 -0
  69. moai_adk/core/migration/file_migrator.py +209 -0
  70. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  71. moai_adk/core/migration/selective_restorer.py +470 -0
  72. moai_adk/core/migration/template_utils.py +74 -0
  73. moai_adk/core/migration/user_selection_ui.py +338 -0
  74. moai_adk/core/migration/version_detector.py +139 -0
  75. moai_adk/core/migration/version_migrator.py +228 -0
  76. moai_adk/core/performance/__init__.py +6 -0
  77. moai_adk/core/performance/cache_system.py +316 -0
  78. moai_adk/core/performance/parallel_processor.py +116 -0
  79. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  80. moai_adk/core/project/__init__.py +0 -1
  81. moai_adk/core/project/backup_utils.py +2 -7
  82. moai_adk/core/project/checker.py +2 -4
  83. moai_adk/core/project/detector.py +17 -39
  84. moai_adk/core/project/initializer.py +170 -33
  85. moai_adk/core/project/phase_executor.py +398 -68
  86. moai_adk/core/project/validator.py +7 -32
  87. moai_adk/core/quality/__init__.py +1 -1
  88. moai_adk/core/quality/trust_checker.py +37 -101
  89. moai_adk/core/quality/validators/__init__.py +1 -1
  90. moai_adk/core/quality/validators/base_validator.py +1 -1
  91. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  92. moai_adk/core/robust_json_parser.py +611 -0
  93. moai_adk/core/rollback_manager.py +918 -0
  94. moai_adk/core/session_manager.py +651 -0
  95. moai_adk/core/skill_loading_system.py +579 -0
  96. moai_adk/core/spec/confidence_scoring.py +680 -0
  97. moai_adk/core/spec/ears_template_engine.py +1247 -0
  98. moai_adk/core/spec/quality_validator.py +687 -0
  99. moai_adk/core/spec_status_manager.py +478 -0
  100. moai_adk/core/template/__init__.py +0 -1
  101. moai_adk/core/template/backup.py +82 -17
  102. moai_adk/core/template/config.py +112 -40
  103. moai_adk/core/template/languages.py +0 -1
  104. moai_adk/core/template/merger.py +75 -26
  105. moai_adk/core/template/processor.py +750 -72
  106. moai_adk/core/template_engine.py +90 -48
  107. moai_adk/core/template_variable_synchronizer.py +417 -0
  108. moai_adk/core/unified_permission_manager.py +745 -0
  109. moai_adk/core/user_behavior_analytics.py +851 -0
  110. moai_adk/core/version_sync.py +429 -0
  111. moai_adk/foundation/__init__.py +56 -0
  112. moai_adk/foundation/backend.py +1027 -0
  113. moai_adk/foundation/database.py +1115 -0
  114. moai_adk/foundation/devops.py +1585 -0
  115. moai_adk/foundation/ears.py +431 -0
  116. moai_adk/foundation/frontend.py +870 -0
  117. moai_adk/foundation/git/commit_templates.py +557 -0
  118. moai_adk/foundation/git.py +376 -0
  119. moai_adk/foundation/langs.py +484 -0
  120. moai_adk/foundation/ml_ops.py +1162 -0
  121. moai_adk/foundation/testing.py +1524 -0
  122. moai_adk/foundation/trust/trust_principles.py +676 -0
  123. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  124. moai_adk/project/__init__.py +0 -0
  125. moai_adk/project/configuration.py +1084 -0
  126. moai_adk/project/documentation.py +566 -0
  127. moai_adk/project/schema.py +447 -0
  128. moai_adk/statusline/__init__.py +38 -0
  129. moai_adk/statusline/alfred_detector.py +105 -0
  130. moai_adk/statusline/config.py +373 -0
  131. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  132. moai_adk/statusline/git_collector.py +190 -0
  133. moai_adk/statusline/main.py +264 -0
  134. moai_adk/statusline/metrics_tracker.py +78 -0
  135. moai_adk/statusline/renderer.py +383 -0
  136. moai_adk/statusline/update_checker.py +129 -0
  137. moai_adk/statusline/version_reader.py +741 -0
  138. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  139. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  140. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  141. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  142. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  143. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  144. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  145. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  146. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  147. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  148. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  149. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  150. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  151. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  152. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  153. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  154. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  155. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  156. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  157. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  158. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  159. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  160. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  161. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  162. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  163. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  164. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  165. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  166. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  167. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  168. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  169. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  170. moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/checkpoint.py +9 -36
  171. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  172. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  173. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  179. moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/project.py +63 -44
  180. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  181. moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/timeout.py +40 -16
  182. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  183. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  184. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  185. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  186. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  187. moai_adk/templates/.claude/settings.json +78 -50
  188. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  189. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  190. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  191. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  192. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  193. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  194. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +312 -283
  195. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +291 -94
  196. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  197. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  198. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  199. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  200. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +469 -101
  201. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  202. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  203. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  204. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  205. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  206. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  207. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  208. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  209. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  210. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  211. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  212. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  213. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  214. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  215. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  229. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  230. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  231. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  232. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  233. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  253. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  254. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  255. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  256. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  257. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  258. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  259. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  260. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  261. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  262. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  263. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  264. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  265. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  266. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  267. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  268. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  269. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  270. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  271. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  272. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  273. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  274. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  275. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  276. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  277. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  278. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  279. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  280. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  281. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  282. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  283. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  284. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  285. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  286. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  287. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  288. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  289. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  290. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  291. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  323. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  324. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  325. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  326. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  327. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  328. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  329. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  330. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  331. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  332. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  333. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  334. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  335. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  336. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  337. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  338. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  339. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  340. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  341. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  342. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  343. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  344. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  345. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  346. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  347. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  348. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  349. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  350. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  351. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  352. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  353. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  354. moai_adk/templates/.git-hooks/pre-commit +128 -0
  355. moai_adk/templates/.git-hooks/pre-push +220 -13
  356. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  357. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  358. moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
  359. moai_adk/templates/.gitignore +197 -13
  360. moai_adk/templates/.mcp.json +20 -0
  361. moai_adk/templates/.moai/cache/personalization.json +10 -0
  362. moai_adk/templates/.moai/config/config.yaml +344 -0
  363. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  364. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  365. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  366. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  367. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  368. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  369. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  370. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  371. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  372. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  373. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  374. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  375. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  376. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  377. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  378. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  379. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  380. moai_adk/templates/CLAUDE.md +310 -1050
  381. moai_adk/utils/__init__.py +24 -2
  382. moai_adk/utils/banner.py +7 -11
  383. moai_adk/utils/common.py +294 -0
  384. moai_adk/utils/link_validator.py +241 -0
  385. moai_adk/utils/logger.py +4 -9
  386. moai_adk/utils/safe_file_reader.py +206 -0
  387. moai_adk/{templates/.claude/hooks/alfred/utils → utils}/timeout.py +8 -9
  388. moai_adk/utils/toon_utils.py +256 -0
  389. moai_adk/version.py +22 -0
  390. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  391. moai_adk-0.32.8.dist-info/RECORD +396 -0
  392. {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  393. {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  394. moai_adk/cli/commands/backup.py +0 -80
  395. moai_adk/core/tags/__init__.py +0 -86
  396. moai_adk/core/tags/ci_validator.py +0 -463
  397. moai_adk/core/tags/cli.py +0 -283
  398. moai_adk/core/tags/generator.py +0 -109
  399. moai_adk/core/tags/inserter.py +0 -99
  400. moai_adk/core/tags/mapper.py +0 -126
  401. moai_adk/core/tags/parser.py +0 -76
  402. moai_adk/core/tags/pre_commit_validator.py +0 -393
  403. moai_adk/core/tags/reporter.py +0 -956
  404. moai_adk/core/tags/tags.py +0 -149
  405. moai_adk/core/tags/validator.py +0 -897
  406. moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
  407. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
  408. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
  409. moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
  410. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
  411. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
  412. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
  413. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
  414. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
  415. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
  416. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
  417. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
  418. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
  419. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
  420. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
  421. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
  422. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
  423. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
  424. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
  425. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
  426. moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
  427. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
  428. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
  429. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
  430. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
  431. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
  432. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
  433. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
  434. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
  435. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
  436. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
  437. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
  438. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
  439. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
  440. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
  441. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
  442. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
  443. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
  444. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
  445. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
  446. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
  447. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
  448. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
  449. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
  450. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
  451. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
  452. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
  453. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
  454. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
  455. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
  456. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
  457. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
  458. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  459. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  460. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  461. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
  462. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
  463. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
  464. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  465. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  466. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  467. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
  468. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
  469. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
  470. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  471. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  472. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  473. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
  474. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
  475. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
  476. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  477. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  478. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  479. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
  480. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
  481. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
  482. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
  483. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
  484. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
  485. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
  486. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
  487. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
  488. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
  489. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
  490. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
  491. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
  492. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
  493. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
  494. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
  495. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
  496. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
  497. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
  498. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
  499. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
  500. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
  501. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
  502. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
  503. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  504. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  505. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  506. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  507. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  508. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  509. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
  510. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
  511. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
  512. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  513. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  514. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  515. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
  516. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  517. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  518. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  519. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  520. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  521. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  522. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  523. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  524. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  525. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  526. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  527. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  528. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  529. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  530. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  531. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  532. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
  533. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
  534. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
  535. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
  536. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
  537. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  538. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
  539. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  540. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  541. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  542. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  543. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
  544. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  545. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
  546. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
  547. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
  548. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
  549. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
  550. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  551. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
  552. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
  553. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
  554. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  555. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  556. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
  557. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
  558. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
  559. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
  560. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
  561. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  562. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  563. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  564. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  565. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  566. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  567. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
  568. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
  569. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  570. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  571. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  572. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
  573. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
  574. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  575. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  576. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  577. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  578. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  579. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  580. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  581. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  582. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  583. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  584. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  585. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  586. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  587. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  588. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  589. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  590. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  591. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  592. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  593. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  594. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  595. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  596. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  597. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  598. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
  599. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  600. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  601. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  602. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  603. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  604. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  605. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  606. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  607. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  608. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  609. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  610. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  611. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  612. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  613. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  614. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  615. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  616. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  617. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  618. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  619. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
  620. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  621. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  622. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
  623. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  624. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  625. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  626. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  627. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  628. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
  629. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
  630. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
  631. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
  632. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
  633. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
  634. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  635. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  636. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  637. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
  638. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
  639. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
  640. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
  641. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  642. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  643. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
  644. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
  645. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
  646. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
  647. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  648. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  649. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
  650. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  651. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  652. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
  653. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
  654. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
  655. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
  656. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
  657. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
  658. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  659. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  660. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  661. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  662. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  663. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  664. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
  665. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
  666. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
  667. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
  668. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
  669. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
  670. moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
  671. moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
  672. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
  673. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
  674. moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
  675. moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
  676. moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
  677. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
  678. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
  679. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -419
  680. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  681. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  682. moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
  683. moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
  684. moai_adk/templates/.github/workflows/release.yml +0 -118
  685. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
  686. moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
  687. moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
  688. moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
  689. moai_adk/templates/.github/workflows/tag-report.yml +0 -269
  690. moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
  691. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
  692. moai_adk/templates/.moai/config.json +0 -115
  693. moai_adk/templates/workflows/go-tag-validation.yml +0 -30
  694. moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
  695. moai_adk/templates/workflows/python-tag-validation.yml +0 -42
  696. moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
  697. moai_adk-0.15.1.dist-info/METADATA +0 -3094
  698. moai_adk-0.15.1.dist-info/RECORD +0 -365
  699. {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1266 @@
1
+ # Enterprise Code Quality Reference
2
+
3
+ Complete API reference and technical documentation for the moai-foundation-quality skill.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Core Classes](#core-classes)
10
+ 2. [TRUST 5 Framework](#trust-5-framework)
11
+ 3. [Quality Analysis APIs](#quality-analysis-apis)
12
+ 4. [Proactive Analysis](#proactive-analysis)
13
+ 5. [Best Practices Engine](#best-practices-engine)
14
+ 6. [Configuration Reference](#configuration-reference)
15
+ 7. [Context7 Integration](#context7-integration)
16
+ 8. [Quality Metrics](#quality-metrics)
17
+ 9. [Integration APIs](#integration-apis)
18
+ 10. [Error Handling](#error-handling)
19
+
20
+ ---
21
+
22
+ ## Core Classes
23
+
24
+ ### QualityOrchestrator
25
+
26
+ Main orchestrator class for enterprise code quality management.
27
+
28
+ ```python
29
+ class QualityOrchestrator:
30
+ """Enterprise quality orchestration engine"""
31
+
32
+ def __init__(self, config: Optional[QualityConfig] = None):
33
+ self.config = config or QualityConfig.default()
34
+ self.trust5_validator = TRUST5Validator()
35
+ self.proactive_scanner = ProactiveScanner()
36
+ self.best_practices_engine = BestPracticesEngine()
37
+ self.context7_client = Context7Client()
38
+ self.metrics_collector = QualityMetricsCollector()
39
+
40
+ async def analyze_codebase(
41
+ self,
42
+ path: str,
43
+ languages: List[str],
44
+ quality_threshold: float = 0.85,
45
+ focus_areas: Optional[List[str]] = None
46
+ ) -> QualityResult:
47
+ """
48
+ Comprehensive codebase quality analysis
49
+
50
+ Args:
51
+ path: Path to codebase directory
52
+ languages: List of programming languages
53
+ quality_threshold: Minimum acceptable quality score
54
+ focus_areas: Specific areas to focus analysis on
55
+
56
+ Returns:
57
+ QualityResult: Comprehensive quality analysis results
58
+
59
+ Example:
60
+ orchestrator = QualityOrchestrator()
61
+ result = await orchestrator.analyze_codebase(
62
+ path="src/",
63
+ languages=["python", "typescript"],
64
+ quality_threshold=0.90
65
+ )
66
+ """
67
+
68
+ async def generate_report(
69
+ self,
70
+ result: QualityResult,
71
+ output_path: str,
72
+ format: str = "html"
73
+ ) -> None:
74
+ """
75
+ Generate comprehensive quality report
76
+
77
+ Args:
78
+ result: Quality analysis results
79
+ output_path: Output file path
80
+ format: Report format (html, pdf, json, sarif)
81
+ """
82
+ ```
83
+
84
+ ### QualityConfig
85
+
86
+ Configuration class for quality analysis settings.
87
+
88
+ ```python
89
+ @dataclass
90
+ class QualityConfig:
91
+ """Configuration for quality analysis"""
92
+
93
+ # Core settings
94
+ trust5_enabled: bool = True
95
+ proactive_analysis: bool = True
96
+ best_practices_enforcement: bool = True
97
+ context7_integration: bool = True
98
+
99
+ # Quality thresholds
100
+ quality_threshold: float = 0.85
101
+ test_coverage_threshold: float = 0.85
102
+ security_threshold: float = 0.90
103
+ complexity_threshold: int = 10
104
+
105
+ # Analysis settings
106
+ languages: List[str] = field(default_factory=lambda: ["python", "javascript"])
107
+ focus_areas: List[str] = field(default_factory=lambda: [
108
+ "security", "performance", "maintainability", "testing"
109
+ ])
110
+
111
+ # Output settings
112
+ generate_reports: bool = True
113
+ output_formats: List[str] = field(default_factory=lambda: ["html", "json"])
114
+ output_directory: str = ".moai/reports/quality"
115
+
116
+ @classmethod
117
+ def default(cls) -> "QualityConfig:
118
+ """Create default configuration"""
119
+ return cls()
120
+
121
+ @classmethod
122
+ def from_file(cls, config_path: str) -> "QualityConfig:
123
+ """Load configuration from file"""
124
+ with open(config_path) as f:
125
+ data = yaml.safe_load(f)
126
+ return cls(data)
127
+
128
+ def to_dict(self) -> Dict:
129
+ """Convert configuration to dictionary"""
130
+ return asdict(self)
131
+ ```
132
+
133
+ ---
134
+
135
+ ## TRUST 5 Framework
136
+
137
+ ### TRUST5Validator
138
+
139
+ Comprehensive validation framework implementing TRUST 5 principles.
140
+
141
+ ```python
142
+ class TRUST5Validator:
143
+ """TRUST 5 quality framework validator"""
144
+
145
+ VALIDATORS = {
146
+ "testable": TestableValidator(),
147
+ "readable": ReadableValidator(),
148
+ "unified": UnifiedValidator(),
149
+ "secured": SecuredValidator(),
150
+ "trackable": TrackableValidator()
151
+ }
152
+
153
+ async def validate(
154
+ self,
155
+ codebase: str,
156
+ thresholds: Optional[Dict[str, float]] = None
157
+ ) -> TRUST5Result:
158
+ """
159
+ Validate codebase against TRUST 5 principles
160
+
161
+ Args:
162
+ codebase: Path to codebase
163
+ thresholds: Custom thresholds for each principle
164
+
165
+ Returns:
166
+ TRUST5Result: Comprehensive validation results
167
+
168
+ Example:
169
+ validator = TRUST5Validator()
170
+ result = await validator.validate(
171
+ codebase="src/",
172
+ thresholds={
173
+ "testable": 0.90,
174
+ "secured": 0.95,
175
+ "overall": 0.85
176
+ }
177
+ )
178
+ """
179
+
180
+ async def validate_principle(
181
+ self,
182
+ principle: str,
183
+ codebase: str,
184
+ threshold: float
185
+ ) -> ValidationResult:
186
+ """Validate specific TRUST 5 principle"""
187
+ ```
188
+
189
+ ### Principle Validators
190
+
191
+ #### TestableValidator
192
+
193
+ ```python
194
+ class TestableValidator:
195
+ """Test-first principle validation"""
196
+
197
+ async def validate(
198
+ self,
199
+ codebase: str,
200
+ threshold: float = 0.85
201
+ ) -> ValidationResult:
202
+ """Validate test coverage and quality"""
203
+
204
+ async def _analyze_test_coverage(self, codebase: str) -> CoverageResult:
205
+ """Analyze test coverage metrics"""
206
+
207
+ async def _analyze_test_quality(self, codebase: str) -> TestQualityResult:
208
+ """Analyze test quality and effectiveness"""
209
+
210
+ async def _validate_test_structure(self, codebase: str) -> StructureResult:
211
+ """Validate test structure and organization"""
212
+ ```
213
+
214
+ #### SecuredValidator
215
+
216
+ ```python
217
+ class SecuredValidator:
218
+ """Security principle validation with OWASP compliance"""
219
+
220
+ async def validate(
221
+ self,
222
+ codebase: str,
223
+ threshold: float = 0.90
224
+ ) -> ValidationResult:
225
+ """Validate security compliance"""
226
+
227
+ async def _validate_owasp_compliance(self, codebase: str) -> OWASPResult:
228
+ """Validate OWASP Top 10 compliance"""
229
+
230
+ async def _scan_dependency_vulnerabilities(self, codebase: str) -> DependencyResult:
231
+ """Scan for dependency vulnerabilities"""
232
+
233
+ async def _analyze_code_security(self, codebase: str) -> CodeSecurityResult:
234
+ """Analyze code-level security patterns"""
235
+
236
+ def _calculate_security_level(self, score: float) -> str:
237
+ """Calculate security level based on score"""
238
+ if score >= 0.95:
239
+ return "excellent"
240
+ elif score >= 0.85:
241
+ return "good"
242
+ elif score >= 0.70:
243
+ return "adequate"
244
+ else:
245
+ return "inadequate"
246
+ ```
247
+
248
+ ---
249
+
250
+ ## Quality Analysis APIs
251
+
252
+ ### ProactiveScanner
253
+
254
+ ```python
255
+ class ProactiveScanner:
256
+ """Proactive code quality issue detection"""
257
+
258
+ SCAN_TYPES = [
259
+ "performance",
260
+ "maintainability",
261
+ "security",
262
+ "duplication",
263
+ "technical_debt",
264
+ "complexity"
265
+ ]
266
+
267
+ async def scan(
268
+ self,
269
+ codebase: str,
270
+ focus_areas: List[str],
271
+ severity_filter: Optional[str] = None
272
+ ) -> ProactiveResult:
273
+ """
274
+ Scan codebase for quality issues
275
+
276
+ Args:
277
+ codebase: Path to codebase
278
+ focus_areas: Areas to focus on
279
+ severity_filter: Filter by severity level
280
+
281
+ Returns:
282
+ ProactiveResult: Scan results with recommendations
283
+ """
284
+
285
+ async def scan_performance_issues(self, codebase: str) -> PerformanceResult:
286
+ """Scan for performance-related issues"""
287
+
288
+ async def scan_maintainability_issues(self, codebase: str) -> MaintainabilityResult:
289
+ """Scan for maintainability issues"""
290
+
291
+ async def scan_security_issues(self, codebase: str) -> SecurityScanResult:
292
+ """Scan for security vulnerabilities"""
293
+
294
+ async def scan_code_duplication(self, codebase: str) -> DuplicationResult:
295
+ """Scan for code duplication"""
296
+
297
+ async def analyze_technical_debt(self, codebase: str) -> TechnicalDebtResult:
298
+ """Analyze technical debt"""
299
+
300
+ async def analyze_complexity(self, codebase: str) -> ComplexityResult:
301
+ """Analyze code complexity"""
302
+ ```
303
+
304
+ ### QualityMetricsCollector
305
+
306
+ ```python
307
+ class QualityMetricsCollector:
308
+ """Comprehensive quality metrics collection"""
309
+
310
+ METRIC_CATEGORIES = [
311
+ "code_quality",
312
+ "test_metrics",
313
+ "security_metrics",
314
+ "performance_metrics",
315
+ "maintainability_metrics"
316
+ ]
317
+
318
+ async def collect_comprehensive_metrics(
319
+ self,
320
+ codebase: str,
321
+ languages: List[str]
322
+ ) -> QualityMetrics:
323
+ """Collect all quality metrics"""
324
+
325
+ async def collect_code_quality_metrics(
326
+ self,
327
+ codebase: str
328
+ ) -> CodeQualityMetrics:
329
+ """Collect code quality specific metrics"""
330
+
331
+ async def collect_test_metrics(self, codebase: str) -> TestMetrics:
332
+ """Collect testing metrics"""
333
+
334
+ async def collect_security_metrics(self, codebase: str) -> SecurityMetrics:
335
+ """Collect security metrics"""
336
+
337
+ def calculate_quality_trend(
338
+ self,
339
+ historical_metrics: List[QualityMetrics]
340
+ ) -> QualityTrend:
341
+ """Calculate quality trends from historical data"""
342
+ ```
343
+
344
+ ---
345
+
346
+ ## Best Practices Engine
347
+
348
+ ### BestPracticesEngine
349
+
350
+ ```python
351
+ class BestPracticesEngine:
352
+ """Context7-powered best practices validation"""
353
+
354
+ def __init__(self, context7_client: Context7Client):
355
+ self.context7_client = context7_client
356
+ self.language_rules = self._load_language_rules()
357
+ self.practice_validators = self._initialize_validators()
358
+
359
+ async def validate(
360
+ self,
361
+ codebase: str,
362
+ languages: List[str],
363
+ context7_docs: bool = True
364
+ ) -> PracticesResult:
365
+ """
366
+ Validate coding best practices
367
+
368
+ Args:
369
+ codebase: Path to codebase
370
+ languages: List of programming languages
371
+ context7_docs: Whether to use Context7 documentation
372
+
373
+ Returns:
374
+ PracticesResult: Best practices validation results
375
+ """
376
+
377
+ async def validate_language_practices(
378
+ self,
379
+ codebase: str,
380
+ language: str
381
+ ) -> LanguageValidationResult:
382
+ """Validate language-specific best practices"""
383
+
384
+ async def validate_cross_language_practices(
385
+ self,
386
+ codebase: str
387
+ ) -> CrossLanguageResult:
388
+ """Validate cross-language consistency"""
389
+
390
+ async def _validate_against_latest_standards(
391
+ self,
392
+ codebase: str,
393
+ language: str,
394
+ latest_docs: str
395
+ ) -> LanguageValidationResult:
396
+ """Validate against latest standards from Context7"""
397
+ ```
398
+
399
+ ### Language-Specific Validators
400
+
401
+ ```python
402
+ class PythonPracticesValidator:
403
+ """Python-specific best practices validation"""
404
+
405
+ PRACTICES = [
406
+ "pep8_compliance",
407
+ "type_hints",
408
+ "docstring_conventions",
409
+ "import_organization",
410
+ "exception_handling",
411
+ "testing_patterns"
412
+ ]
413
+
414
+ async def validate_naming_conventions(
415
+ self,
416
+ codebase: str
417
+ ) -> NamingValidationResult:
418
+ """Validate Python naming conventions"""
419
+
420
+ async def validate_docstring_standards(
421
+ self,
422
+ codebase: str
423
+ ) -> DocstringValidationResult:
424
+ """Validate docstring standards"""
425
+
426
+ async def validate_type_hints_usage(
427
+ self,
428
+ codebase: str
429
+ ) -> TypeHintsValidationResult:
430
+ """Validate type hints usage"""
431
+
432
+ class TypeScriptPracticesValidator:
433
+ """TypeScript-specific best practices validation"""
434
+
435
+ PRACTICES = [
436
+ "typescript_strict_mode",
437
+ "interface_definitions",
438
+ "error_handling",
439
+ "async_patterns",
440
+ "module_organization"
441
+ ]
442
+
443
+ async def validate_typescript_practices(
444
+ self,
445
+ codebase: str
446
+ ) -> TypeScriptValidationResult:
447
+ """Validate TypeScript best practices"""
448
+ ```
449
+
450
+ ---
451
+
452
+ ## Configuration Reference
453
+
454
+ ### Quality Thresholds
455
+
456
+ ```python
457
+ QUALITY_THRESHOLDS = {
458
+ "overall_quality": {
459
+ "excellent": 0.90,
460
+ "good": 0.80,
461
+ "adequate": 0.70,
462
+ "minimum": 0.60
463
+ },
464
+ "test_coverage": {
465
+ "excellent": 0.95,
466
+ "good": 0.85,
467
+ "adequate": 0.75,
468
+ "minimum": 0.65
469
+ },
470
+ "security_score": {
471
+ "excellent": 0.95,
472
+ "good": 0.85,
473
+ "adequate": 0.75,
474
+ "minimum": 0.65
475
+ },
476
+ "maintainability": {
477
+ "excellent": 0.90,
478
+ "good": 0.80,
479
+ "adequate": 0.70,
480
+ "minimum": 0.60
481
+ }
482
+ }
483
+ ```
484
+
485
+ ### Language Configurations
486
+
487
+ ```python
488
+ LANGUAGE_CONFIGURATIONS = {
489
+ "python": {
490
+ "style_guide": "pep8",
491
+ "linter": "ruff",
492
+ "formatter": "black",
493
+ "type_checker": "mypy",
494
+ "test_framework": "pytest",
495
+ "security_tools": ["bandit", "safety"],
496
+ "extensions": [".py"],
497
+ "ignore_patterns": ["__pycache__", "*.pyc", ".venv"]
498
+ },
499
+ "typescript": {
500
+ "style_guide": "google",
501
+ "linter": "eslint",
502
+ "formatter": "prettier",
503
+ "type_checker": "tsc",
504
+ "test_framework": "jest",
505
+ "security_tools": ["tslint-security"],
506
+ "extensions": [".ts", ".tsx"],
507
+ "ignore_patterns": ["node_modules", "dist", "build"]
508
+ },
509
+ "javascript": {
510
+ "style_guide": "airbnb",
511
+ "linter": "eslint",
512
+ "formatter": "prettier",
513
+ "test_framework": "jest",
514
+ "security_tools": ["eslint-plugin-security"],
515
+ "extensions": [".js", ".jsx"],
516
+ "ignore_patterns": ["node_modules", "dist", "build"]
517
+ },
518
+ "go": {
519
+ "style_guide": "gofmt",
520
+ "linter": "golangci-lint",
521
+ "formatter": "gofmt",
522
+ "test_framework": "go test",
523
+ "security_tools": ["gosec"],
524
+ "extensions": [".go"],
525
+ "ignore_patterns": ["vendor"]
526
+ }
527
+ }
528
+ ```
529
+
530
+ ### Analysis Focus Areas
531
+
532
+ ```python
533
+ FOCUS_AREA_CONFIGURATIONS = {
534
+ "security": {
535
+ "enabled": True,
536
+ "severity_threshold": "medium",
537
+ "tools": ["bandit", "safety", "snyk"],
538
+ "owasp_categories": [
539
+ "A01: Broken Access Control",
540
+ "A02: Cryptographic Failures",
541
+ "A03: Injection",
542
+ "A04: Insecure Design",
543
+ "A05: Security Misconfiguration"
544
+ ]
545
+ },
546
+ "performance": {
547
+ "enabled": True,
548
+ "severity_threshold": "medium",
549
+ "analysis_types": [
550
+ "algorithm_complexity",
551
+ "database_queries",
552
+ "memory_usage",
553
+ "concurrency_issues"
554
+ ]
555
+ },
556
+ "maintainability": {
557
+ "enabled": True,
558
+ "severity_threshold": "low",
559
+ "metrics": [
560
+ "cyclomatic_complexity",
561
+ "code_duplication",
562
+ "method_length",
563
+ "class_size"
564
+ ]
565
+ },
566
+ "testing": {
567
+ "enabled": True,
568
+ "severity_threshold": "medium",
569
+ "requirements": [
570
+ "unit_test_coverage",
571
+ "integration_tests",
572
+ "test_quality",
573
+ "test_structure"
574
+ ]
575
+ }
576
+ }
577
+ ```
578
+
579
+ ---
580
+
581
+ ## Context7 Integration
582
+
583
+ ### Context7Client
584
+
585
+ ```python
586
+ class Context7Client:
587
+ """Context7 MCP client for real-time documentation access"""
588
+
589
+ def __init__(self, cache_ttl: int = 3600):
590
+ self.cache = {}
591
+ self.cache_ttl = cache_ttl
592
+ self.client = None
593
+
594
+ async def resolve_library_id(
595
+ self,
596
+ library_name: str
597
+ ) -> str:
598
+ """
599
+ Resolve library name to Context7 ID
600
+
601
+ Args:
602
+ library_name: Name of the library
603
+
604
+ Returns:
605
+ str: Context7-compatible library ID
606
+
607
+ Example:
608
+ client = Context7Client()
609
+ library_id = await client.resolve_library_id("react")
610
+ # Returns: "/facebook/react"
611
+ """
612
+
613
+ async def get_library_docs(
614
+ self,
615
+ context7CompatibleLibraryID: str,
616
+ topic: str = "best-practices",
617
+ tokens: int = 5000
618
+ ) -> str:
619
+ """
620
+ Get latest documentation from Context7
621
+
622
+ Args:
623
+ context7CompatibleLibraryID: Library ID from resolve_library_id
624
+ topic: Specific topic to focus on
625
+ tokens: Maximum tokens to retrieve
626
+
627
+ Returns:
628
+ str: Documentation content
629
+ """
630
+
631
+ async def get_best_practices(
632
+ self,
633
+ language: str,
634
+ framework: Optional[str] = None
635
+ ) -> str:
636
+ """Get latest best practices for language/framework"""
637
+
638
+ async def get_security_guidelines(
639
+ self,
640
+ language: str
641
+ ) -> str:
642
+ """Get latest security guidelines"""
643
+
644
+ async def get_performance_patterns(
645
+ self,
646
+ language: str
647
+ ) -> str:
648
+ """Get latest performance optimization patterns"""
649
+ ```
650
+
651
+ ### Library Mappings
652
+
653
+ ```python
654
+ CONTEXT7_LIBRARY_MAPPINGS = {
655
+ # Frontend Libraries
656
+ "react": "/facebook/react",
657
+ "vue": "/vuejs/vue",
658
+ "angular": "/angular/angular",
659
+ "typescript": "/microsoft/TypeScript",
660
+ "javascript": "/nodejs/node",
661
+ "eslint": "/eslint/eslint",
662
+ "prettier": "/prettier/prettier",
663
+
664
+ # Backend Libraries
665
+ "python": "/python/cpython",
666
+ "fastapi": "/tiangolo/fastapi",
667
+ "django": "/django/django",
668
+ "flask": "/pallets/flask",
669
+ "express": "/expressjs/express",
670
+ "nestjs": "/nestjs/nest",
671
+
672
+ # Database Libraries
673
+ "postgresql": "/postgresql/postgres",
674
+ "mongodb": "/mongodb/mongo",
675
+ "redis": "/redis/redis",
676
+ "prisma": "/prisma/prisma",
677
+ "sequelize": "/sequelize/sequelize",
678
+
679
+ # Testing Libraries
680
+ "jest": "/facebook/jest",
681
+ "pytest": "/pytest-dev/pytest",
682
+ "mocha": "/mochajs/mocha",
683
+ "junit": "/junit-team/junit5",
684
+ "cypress": "/cypress-io/cypress",
685
+
686
+ # Security Libraries
687
+ "owasp": "/owasp/owasp-top-ten",
688
+ "bandit": "/PyCQA/bandit",
689
+ "snyk": "/snyk/snyk",
690
+ "sonarqube": "/SonarSource/sonarqube",
691
+
692
+ # Development Tools
693
+ "black": "/psf/black",
694
+ "ruff": "/astral-sh/ruff",
695
+ "mypy": "/python/mypy",
696
+ "pylint": "/pylint-dev/pylint",
697
+ "golangci-lint": "/golangci/golangci-lint"
698
+ }
699
+ ```
700
+
701
+ ---
702
+
703
+ ## Quality Metrics
704
+
705
+ ### Core Quality Metrics
706
+
707
+ ```python
708
+ @dataclass
709
+ class QualityMetrics:
710
+ """Comprehensive quality metrics"""
711
+
712
+ # Overall metrics
713
+ overall_score: float
714
+ quality_grade: str # A, B, C, D, F
715
+ trend_direction: str # improving, declining, stable
716
+
717
+ # TRUST 5 metrics
718
+ testable_score: float
719
+ readable_score: float
720
+ unified_score: float
721
+ secured_score: float
722
+ trackable_score: float
723
+
724
+ # Coverage metrics
725
+ test_coverage: float
726
+ branch_coverage: float
727
+ line_coverage: float
728
+
729
+ # Complexity metrics
730
+ cyclomatic_complexity: float
731
+ cognitive_complexity: float
732
+ maintainability_index: float
733
+
734
+ # Security metrics
735
+ security_score: float
736
+ vulnerability_count: int
737
+ critical_vulnerabilities: int
738
+
739
+ # Performance metrics
740
+ performance_score: float
741
+ performance_issues: int
742
+ bottlenecks: List[str]
743
+
744
+ # Technical debt metrics
745
+ technical_debt_hours: float
746
+ debt_ratio: float
747
+ debt_interest_rate: float
748
+
749
+ # Code metrics
750
+ lines_of_code: int
751
+ duplicated_lines: int
752
+ code_duplication_percentage: float
753
+
754
+ def calculate_quality_grade(self) -> str:
755
+ """Calculate letter grade from overall score"""
756
+ if self.overall_score >= 0.90:
757
+ return "A"
758
+ elif self.overall_score >= 0.80:
759
+ return "B"
760
+ elif self.overall_score >= 0.70:
761
+ return "C"
762
+ elif self.overall_score >= 0.60:
763
+ return "D"
764
+ else:
765
+ return "F"
766
+
767
+ def is_production_ready(self) -> bool:
768
+ """Determine if code is production ready"""
769
+ return (
770
+ self.overall_score >= 0.85 and
771
+ self.test_coverage >= 0.80 and
772
+ self.critical_vulnerabilities == 0 and
773
+ self.security_score >= 0.85
774
+ )
775
+ ```
776
+
777
+ ### Detailed Metrics Breakdown
778
+
779
+ ```python
780
+ @dataclass
781
+ class TestMetrics:
782
+ """Detailed testing metrics"""
783
+
784
+ # Coverage metrics
785
+ line_coverage: float
786
+ branch_coverage: float
787
+ function_coverage: float
788
+ statement_coverage: float
789
+
790
+ # Test quality metrics
791
+ test_count: int
792
+ passing_tests: int
793
+ failing_tests: int
794
+ skipped_tests: int
795
+ test_success_rate: float
796
+
797
+ # Test type distribution
798
+ unit_test_count: int
799
+ integration_test_count: int
800
+ end_to_end_test_count: int
801
+ performance_test_count: int
802
+
803
+ # Test complexity
804
+ average_test_length: float
805
+ complex_tests: int
806
+ flaky_tests: int
807
+
808
+ @dataclass
809
+ class SecurityMetrics:
810
+ """Detailed security metrics"""
811
+
812
+ # Vulnerability metrics
813
+ total_vulnerabilities: int
814
+ critical_vulnerabilities: int
815
+ high_vulnerabilities: int
816
+ medium_vulnerabilities: int
817
+ low_vulnerabilities: int
818
+
819
+ # OWASP Top 10 compliance
820
+ owasp_compliance_score: float
821
+ owasp_violations: Dict[str, int]
822
+
823
+ # Security practices
824
+ secure_coding_score: float
825
+ dependency_vulnerabilities: int
826
+ hardcoded_secrets: int
827
+ insecure_configs: int
828
+
829
+ @dataclass
830
+ class PerformanceMetrics:
831
+ """Detailed performance metrics"""
832
+
833
+ # Algorithm performance
834
+ algorithm_efficiency_score: float
835
+ time_complexity_violations: int
836
+ space_complexity_violations: int
837
+
838
+ # Database performance
839
+ query_efficiency_score: float
840
+ n_plus_one_queries: int
841
+ missing_indexes: int
842
+ slow_queries: int
843
+
844
+ # Memory performance
845
+ memory_efficiency_score: float
846
+ memory_leaks: int
847
+ high_memory_usage: int
848
+
849
+ # Concurrency performance
850
+ concurrency_score: float
851
+ race_conditions: int
852
+ deadlocks: int
853
+ resource_contention: int
854
+ ```
855
+
856
+ ---
857
+
858
+ ## Integration APIs
859
+
860
+ ### CI/CD Integration
861
+
862
+ ```python
863
+ class CIIntegration:
864
+ """CI/CD pipeline integration"""
865
+
866
+ async def generate_pipeline_outputs(
867
+ self,
868
+ result: QualityResult,
869
+ output_dir: str,
870
+ formats: List[str]
871
+ ) -> None:
872
+ """Generate outputs for CI/CD pipelines"""
873
+
874
+ async def generate_junit_xml(
875
+ self,
876
+ result: QualityResult,
877
+ output_path: str
878
+ ) -> None:
879
+ """Generate JUnit XML for test results"""
880
+
881
+ async def generate_sarif_report(
882
+ self,
883
+ result: QualityResult,
884
+ output_path: str
885
+ ) -> None:
886
+ """Generate SARIF report for GitHub Actions"""
887
+
888
+ async def generate_quality_badge(
889
+ self,
890
+ score: float,
891
+ output_path: str
892
+ ) -> None:
893
+ """Generate quality badge for README"""
894
+
895
+ def get_exit_code(
896
+ self,
897
+ result: QualityResult,
898
+ threshold: float
899
+ ) -> int:
900
+ """Determine appropriate exit code for CI/CD"""
901
+ ```
902
+
903
+ ### REST API Integration
904
+
905
+ ```python
906
+ from fastapi import FastAPI, HTTPException
907
+ from pydantic import BaseModel
908
+
909
+ class QualityAnalysisRequest(BaseModel):
910
+ repository_url: str
911
+ branch: str = "main"
912
+ languages: List[str]
913
+ quality_threshold: float = 0.85
914
+ focus_areas: List[str] = []
915
+
916
+ class QualityAnalysisResponse(BaseModel):
917
+ analysis_id: str
918
+ overall_score: float
919
+ quality_grade: str
920
+ trust5_validation: Dict[str, Any]
921
+ recommendations: List[Dict[str, Any]]
922
+ analysis_duration: float
923
+ timestamp: datetime
924
+
925
+ app = FastAPI(title="Code Quality Analysis API")
926
+
927
+ @app.post("/api/quality/analyze", response_model=QualityAnalysisResponse)
928
+ async def analyze_quality(request: QualityAnalysisRequest):
929
+ """API endpoint for quality analysis"""
930
+
931
+ @app.get("/api/quality/result/{analysis_id}")
932
+ async def get_analysis_result(analysis_id: str):
933
+ """Get analysis result by ID"""
934
+
935
+ @app.post("/api/quality/webhook")
936
+ async def quality_webhook(payload: Dict):
937
+ """Handle quality alerts via webhook"""
938
+ ```
939
+
940
+ ### Dashboard Integration
941
+
942
+ ```python
943
+ class QualityDashboard:
944
+ """Quality metrics dashboard integration"""
945
+
946
+ async def generate_dashboard_data(
947
+ self,
948
+ historical_data: List[QualityMetrics]
949
+ ) -> DashboardData:
950
+ """Generate data for quality dashboard"""
951
+
952
+ async def create_executive_summary(
953
+ self,
954
+ results: List[QualityResult]
955
+ ) -> ExecutiveSummary:
956
+ """Create executive summary of quality metrics"""
957
+
958
+ async def generate_trend_analysis(
959
+ self,
960
+ time_range: str,
961
+ project_filter: Optional[str] = None
962
+ ) -> TrendAnalysis:
963
+ """Generate quality trend analysis"""
964
+
965
+ def create_alert_config(
966
+ self,
967
+ thresholds: Dict[str, float],
968
+ notification_channels: List[str]
969
+ ) -> AlertConfig:
970
+ """Create alert configuration for monitoring"""
971
+ ```
972
+
973
+ ---
974
+
975
+ ## Error Handling
976
+
977
+ ### Exception Classes
978
+
979
+ ```python
980
+ class QualityAnalysisError(Exception):
981
+ """Base exception for quality analysis errors"""
982
+ pass
983
+
984
+ class Context7IntegrationError(QualityAnalysisError):
985
+ """Context7 integration errors"""
986
+ pass
987
+
988
+ class QualityThresholdError(QualityAnalysisError):
989
+ """Quality threshold validation errors"""
990
+ pass
991
+
992
+ class ValidationError(QualityAnalysisError):
993
+ """Validation process errors"""
994
+ pass
995
+
996
+ class MetricsCollectionError(QualityAnalysisError):
997
+ """Metrics collection errors"""
998
+ pass
999
+
1000
+ class ReportGenerationError(QualityAnalysisError):
1001
+ """Report generation errors"""
1002
+ pass
1003
+ ```
1004
+
1005
+ ### Error Recovery
1006
+
1007
+ ```python
1008
+ class ErrorRecoveryManager:
1009
+ """Error recovery and retry management"""
1010
+
1011
+ def __init__(self, max_retries: int = 3):
1012
+ self.max_retries = max_retries
1013
+ self.retry_strategies = {
1014
+ "context7_timeout": self._retry_context7_request,
1015
+ "file_access_error": self._retry_file_operation,
1016
+ "network_error": self._retry_network_request,
1017
+ "validation_error": self._retry_validation
1018
+ }
1019
+
1020
+ async def handle_error(
1021
+ self,
1022
+ error: Exception,
1023
+ context: Dict[str, Any]
1024
+ ) -> ErrorRecoveryResult:
1025
+ """Handle and recover from errors"""
1026
+
1027
+ async def _retry_context7_request(
1028
+ self,
1029
+ request_func: Callable,
1030
+ *args,
1031
+ kwargs
1032
+ ) -> Any:
1033
+ """Retry Context7 request with exponential backoff"""
1034
+
1035
+ async def _retry_file_operation(
1036
+ self,
1037
+ file_operation: Callable,
1038
+ *args,
1039
+ kwargs
1040
+ ) -> Any:
1041
+ """Retry file operation"""
1042
+
1043
+ def create_fallback_strategy(
1044
+ self,
1045
+ primary_operation: str
1046
+ ) -> Callable:
1047
+ """Create fallback strategy for failed operations"""
1048
+ ```
1049
+
1050
+ ### Logging and Monitoring
1051
+
1052
+ ```python
1053
+ class QualityAnalysisLogger:
1054
+ """Structured logging for quality analysis"""
1055
+
1056
+ def __init__(self, log_level: str = "INFO"):
1057
+ self.logger = self._setup_logger(log_level)
1058
+
1059
+ def log_analysis_start(
1060
+ self,
1061
+ codebase: str,
1062
+ languages: List[str],
1063
+ config: QualityConfig
1064
+ ) -> None:
1065
+ """Log analysis start"""
1066
+
1067
+ def log_analysis_completion(
1068
+ self,
1069
+ result: QualityResult,
1070
+ duration: float
1071
+ ) -> None:
1072
+ """Log analysis completion"""
1073
+
1074
+ def log_error(
1075
+ self,
1076
+ error: Exception,
1077
+ context: Dict[str, Any]
1078
+ ) -> None:
1079
+ """Log error with context"""
1080
+
1081
+ def log_performance_metrics(
1082
+ self,
1083
+ metrics: Dict[str, float]
1084
+ ) -> None:
1085
+ """Log performance metrics"""
1086
+
1087
+ def log_quality_trend(
1088
+ self,
1089
+ current_score: float,
1090
+ previous_score: float,
1091
+ time_period: str
1092
+ ) -> None:
1093
+ """Log quality trend information"""
1094
+ ```
1095
+
1096
+ ---
1097
+
1098
+ ## Data Models
1099
+
1100
+ ### Result Models
1101
+
1102
+ ```python
1103
+ @dataclass
1104
+ class QualityResult:
1105
+ """Comprehensive quality analysis result"""
1106
+
1107
+ trust5_validation: TRUST5Result
1108
+ proactive_analysis: ProactiveResult
1109
+ best_practices: PracticesResult
1110
+ metrics: QualityMetrics
1111
+ overall_score: float
1112
+ analysis_metadata: AnalysisMetadata
1113
+
1114
+ def is_passed(self, threshold: float = 0.85) -> bool:
1115
+ """Check if quality gate passed"""
1116
+
1117
+ def get_recommendations(
1118
+ self,
1119
+ severity_filter: Optional[str] = None,
1120
+ limit: int = 10
1121
+ ) -> List[Recommendation]:
1122
+ """Get prioritized recommendations"""
1123
+
1124
+ @dataclass
1125
+ class TRUST5Result:
1126
+ """TRUST 5 validation result"""
1127
+
1128
+ principles: Dict[str, ValidationResult]
1129
+ overall_score: float
1130
+ passed: bool
1131
+ recommendations: List[str]
1132
+
1133
+ @dataclass
1134
+ class ValidationResult:
1135
+ """Individual validation result"""
1136
+
1137
+ score: float
1138
+ passed: bool
1139
+ details: Dict[str, Any]
1140
+ recommendations: List[str]
1141
+ severity: str
1142
+
1143
+ @dataclass
1144
+ class ProactiveResult:
1145
+ """Proactive analysis result"""
1146
+
1147
+ scan_results: Dict[str, Any]
1148
+ recommendations: List[Recommendation]
1149
+ priority_issues: List[PriorityIssue]
1150
+ estimated_effort: float
1151
+ ```
1152
+
1153
+ ### Recommendation Models
1154
+
1155
+ ```python
1156
+ @dataclass
1157
+ class Recommendation:
1158
+ """Quality improvement recommendation"""
1159
+
1160
+ title: str
1161
+ description: str
1162
+ category: str
1163
+ severity: str
1164
+ priority: str
1165
+ estimated_effort: float
1166
+ estimated_impact: float
1167
+ roi_score: float
1168
+ files_affected: List[str]
1169
+ implementation_steps: List[str]
1170
+ prerequisites: List[str]
1171
+ references: List[str]
1172
+
1173
+ def to_dict(self) -> Dict[str, Any]:
1174
+ """Convert to dictionary for JSON serialization"""
1175
+
1176
+ @dataclass
1177
+ class PriorityIssue:
1178
+ """High-priority quality issue"""
1179
+
1180
+ title: str
1181
+ file: str
1182
+ line: int
1183
+ severity: str
1184
+ category: str
1185
+ description: str
1186
+ recommended_fix: str
1187
+ estimated_effort: float
1188
+ security_impact: bool
1189
+ business_impact: str
1190
+ ```
1191
+
1192
+ ---
1193
+
1194
+ ## Performance Optimization
1195
+
1196
+ ### Caching Strategies
1197
+
1198
+ ```python
1199
+ class QualityAnalysisCache:
1200
+ """Caching for quality analysis results"""
1201
+
1202
+ def __init__(self, cache_backend: str = "memory"):
1203
+ self.cache_backend = cache_backend
1204
+ self.cache = self._initialize_cache()
1205
+
1206
+ async def get_cached_result(
1207
+ self,
1208
+ cache_key: str
1209
+ ) -> Optional[QualityResult]:
1210
+ """Get cached analysis result"""
1211
+
1212
+ async def cache_result(
1213
+ self,
1214
+ cache_key: str,
1215
+ result: QualityResult,
1216
+ ttl: int = 3600
1217
+ ) -> None:
1218
+ """Cache analysis result"""
1219
+
1220
+ def generate_cache_key(
1221
+ self,
1222
+ codebase: str,
1223
+ config: QualityConfig
1224
+ ) -> str:
1225
+ """Generate cache key for analysis"""
1226
+
1227
+ async def invalidate_cache(
1228
+ self,
1229
+ pattern: str
1230
+ ) -> None:
1231
+ """Invalidate cache entries matching pattern"""
1232
+ ```
1233
+
1234
+ ### Parallel Processing
1235
+
1236
+ ```python
1237
+ class ParallelQualityAnalyzer:
1238
+ """Parallel quality analysis for large codebases"""
1239
+
1240
+ def __init__(self, max_workers: int = 4):
1241
+ self.max_workers = max_workers
1242
+ self.executor = ThreadPoolExecutor(max_workers=max_workers)
1243
+
1244
+ async def analyze_parallel(
1245
+ self,
1246
+ codebase: str,
1247
+ config: QualityConfig
1248
+ ) -> QualityResult:
1249
+ """Analyze codebase in parallel"""
1250
+
1251
+ async def _analyze_directory_parallel(
1252
+ self,
1253
+ directory: str,
1254
+ config: QualityConfig
1255
+ ) -> List[AnalysisResult]:
1256
+ """Analyze directory contents in parallel"""
1257
+
1258
+ def _split_analysis_tasks(
1259
+ self,
1260
+ codebase: str,
1261
+ config: QualityConfig
1262
+ ) -> List[AnalysisTask]:
1263
+ """Split analysis into parallel tasks"""
1264
+ ```
1265
+
1266
+ This comprehensive reference documentation provides complete API coverage for the moai-foundation-quality skill, including all classes, methods, configuration options, and integration patterns needed for enterprise code quality management.