moai-adk 0.25.4__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 (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -628,9 +628,7 @@ class TRUSTValidationChecklist:
628
628
 
629
629
  return checklists
630
630
 
631
- def execute_checklist(
632
- self, project_path: str, checklist_type: ChecklistType
633
- ) -> ChecklistReport:
631
+ def execute_checklist(self, project_path: str, checklist_type: ChecklistType) -> ChecklistReport:
634
632
  """Execute a specific checklist"""
635
633
  import time
636
634
 
@@ -671,9 +669,7 @@ class TRUSTValidationChecklist:
671
669
 
672
670
  return report
673
671
 
674
- def _execute_checklist_item(
675
- self, project_path: str, item: ChecklistItem
676
- ) -> ChecklistResult:
672
+ def _execute_checklist_item(self, project_path: str, item: ChecklistItem) -> ChecklistResult:
677
673
  """Execute a single checklist item"""
678
674
  import time
679
675
 
@@ -681,9 +677,7 @@ class TRUSTValidationChecklist:
681
677
 
682
678
  try:
683
679
  # Parse validation rule and execute appropriate check
684
- passed, details = self._evaluate_validation_rule(
685
- project_path, item.validation_rule
686
- )
680
+ passed, details = self._evaluate_validation_rule(project_path, item.validation_rule)
687
681
 
688
682
  result = ChecklistResult(
689
683
  item=item,
@@ -711,9 +705,7 @@ class TRUSTValidationChecklist:
711
705
 
712
706
  return result
713
707
 
714
- def _evaluate_validation_rule(
715
- self, project_path: str, rule: str
716
- ) -> Tuple[bool, Dict[str, Any]]:
708
+ def _evaluate_validation_rule(self, project_path: str, rule: str) -> Tuple[bool, Dict[str, Any]]:
717
709
  """Evaluate a validation rule"""
718
710
  project_dir = Path(project_path)
719
711
 
@@ -828,9 +820,7 @@ class TRUSTValidationChecklist:
828
820
  else:
829
821
  return False, {"error": f"Unknown validation rule: {rule}"}
830
822
 
831
- def _check_test_coverage(
832
- self, project_dir: Path, rule: str
833
- ) -> Tuple[bool, Dict[str, Any]]:
823
+ def _check_test_coverage(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
834
824
  """Check test coverage ratio"""
835
825
  try:
836
826
  # Extract target ratio from rule
@@ -842,8 +832,7 @@ class TRUSTValidationChecklist:
842
832
  source_files = [
843
833
  f
844
834
  for f in python_files
845
- if not f.name.startswith("test_")
846
- and not any(parent.name == "tests" for parent in f.parents)
835
+ if not f.name.startswith("test_") and not any(parent.name == "tests" for parent in f.parents)
847
836
  ]
848
837
 
849
838
  coverage_ratio = len(test_files) / max(len(source_files), 1)
@@ -877,9 +866,7 @@ class TRUSTValidationChecklist:
877
866
  except Exception as e:
878
867
  return False, {"error": str(e)}
879
868
 
880
- def _check_integration_tests(
881
- self, project_dir: Path
882
- ) -> Tuple[bool, Dict[str, Any]]:
869
+ def _check_integration_tests(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
883
870
  """Check for integration tests"""
884
871
  try:
885
872
  python_files = list(project_dir.rglob("*.py"))
@@ -901,9 +888,7 @@ class TRUSTValidationChecklist:
901
888
  except Exception as e:
902
889
  return False, {"error": str(e)}
903
890
 
904
- def _check_test_docstrings(
905
- self, project_dir: Path, rule: str
906
- ) -> Tuple[bool, Dict[str, Any]]:
891
+ def _check_test_docstrings(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
907
892
  """Check test docstring coverage"""
908
893
  try:
909
894
  target_ratio = float(rule.split(">=")[-1].strip())
@@ -939,9 +924,7 @@ class TRUSTValidationChecklist:
939
924
  except Exception as e:
940
925
  return False, {"error": str(e)}
941
926
 
942
- def _check_assertion_quality(
943
- self, project_dir: Path
944
- ) -> Tuple[bool, Dict[str, Any]]:
927
+ def _check_assertion_quality(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
945
928
  """Check assertion quality"""
946
929
  try:
947
930
  python_files = list(project_dir.rglob("test_*.py"))
@@ -987,9 +970,7 @@ class TRUSTValidationChecklist:
987
970
  except Exception as e:
988
971
  return False, {"error": str(e)}
989
972
 
990
- def _check_test_data_isolation(
991
- self, project_dir: Path
992
- ) -> Tuple[bool, Dict[str, Any]]:
973
+ def _check_test_data_isolation(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
993
974
  """Check test data isolation"""
994
975
  try:
995
976
  python_files = list(project_dir.rglob("test_*.py"))
@@ -1002,12 +983,8 @@ class TRUSTValidationChecklist:
1002
983
  content = file_path.read_text(encoding="utf-8")
1003
984
 
1004
985
  # Look for isolation patterns
1005
- isolation_patterns += len(
1006
- re.findall(r"@pytest\.fixture|setUp|tearDown", content)
1007
- )
1008
- fixtures_count += len(
1009
- re.findall(r"def\s+test_\w+.*\(.*\):", content)
1010
- )
986
+ isolation_patterns += len(re.findall(r"@pytest\.fixture|setUp|tearDown", content))
987
+ fixtures_count += len(re.findall(r"def\s+test_\w+.*\(.*\):", content))
1011
988
 
1012
989
  except Exception:
1013
990
  continue
@@ -1049,9 +1026,7 @@ class TRUSTValidationChecklist:
1049
1026
  except Exception as e:
1050
1027
  return False, {"error": str(e)}
1051
1028
 
1052
- def _check_performance_tests(
1053
- self, project_dir: Path
1054
- ) -> Tuple[bool, Dict[str, Any]]:
1029
+ def _check_performance_tests(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1055
1030
  """Check for performance tests"""
1056
1031
  try:
1057
1032
  python_files = list(project_dir.rglob("*.py"))
@@ -1111,7 +1086,7 @@ class TRUSTValidationChecklist:
1111
1086
  def _check_ci_automation(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1112
1087
  """Check CI automated testing"""
1113
1088
  try:
1114
- ci_files = []
1089
+ ci_files: List[Path] = []
1115
1090
  ci_patterns = [
1116
1091
  ".github/workflows/",
1117
1092
  ".gitlab-ci.yml",
@@ -1127,7 +1102,7 @@ class TRUSTValidationChecklist:
1127
1102
  ci_files.extend(list((project_dir / pattern).rglob("*.yaml")))
1128
1103
  else:
1129
1104
  if (project_dir / pattern).exists():
1130
- ci_files.append(pattern)
1105
+ ci_files.append(Path(pattern))
1131
1106
 
1132
1107
  return len(ci_files) > 0, {"result": len(ci_files), "ci_files": ci_files}
1133
1108
  except Exception as e:
@@ -1136,9 +1111,7 @@ class TRUSTValidationChecklist:
1136
1111
  # Add other validation methods as needed...
1137
1112
  # For brevity, implementing a few key ones
1138
1113
 
1139
- def _check_function_length(
1140
- self, project_dir: Path, rule: str
1141
- ) -> Tuple[bool, Dict[str, Any]]:
1114
+ def _check_function_length(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
1142
1115
  """Check maximum function length"""
1143
1116
  try:
1144
1117
  max_length = int(rule.split("<=")[-1].strip())
@@ -1159,9 +1132,7 @@ class TRUSTValidationChecklist:
1159
1132
  for line_num, line in enumerate(lines, 1):
1160
1133
  stripped = line.strip()
1161
1134
 
1162
- if stripped.startswith("def ") or stripped.startswith(
1163
- "async def "
1164
- ):
1135
+ if stripped.startswith("def ") or stripped.startswith("async def "):
1165
1136
  if in_function:
1166
1137
  total_functions += 1
1167
1138
  if function_lines > max_length:
@@ -1172,10 +1143,7 @@ class TRUSTValidationChecklist:
1172
1143
  function_indent = len(line) - len(line.lstrip())
1173
1144
 
1174
1145
  elif in_function:
1175
- if (
1176
- stripped
1177
- and len(line) - len(line.lstrip()) <= function_indent
1178
- ):
1146
+ if stripped and len(line) - len(line.lstrip()) <= function_indent:
1179
1147
  total_functions += 1
1180
1148
  if function_lines > max_length:
1181
1149
  long_functions += 1
@@ -1204,9 +1172,7 @@ class TRUSTValidationChecklist:
1204
1172
  except Exception as e:
1205
1173
  return False, {"error": str(e)}
1206
1174
 
1207
- def _check_class_length(
1208
- self, project_dir: Path, rule: str
1209
- ) -> Tuple[bool, Dict[str, Any]]:
1175
+ def _check_class_length(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
1210
1176
  """Check maximum class length"""
1211
1177
  try:
1212
1178
  max_length = int(rule.split("<=")[-1].strip())
@@ -1260,9 +1226,7 @@ class TRUSTValidationChecklist:
1260
1226
  except Exception as e:
1261
1227
  return False, {"error": str(e)}
1262
1228
 
1263
- def _check_naming_conventions(
1264
- self, project_dir: Path
1265
- ) -> Tuple[bool, Dict[str, Any]]:
1229
+ def _check_naming_conventions(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1266
1230
  """Check naming conventions consistency"""
1267
1231
  try:
1268
1232
  python_files = list(project_dir.rglob("*.py"))
@@ -1279,14 +1243,10 @@ class TRUSTValidationChecklist:
1279
1243
  violations += snake_case_violations
1280
1244
 
1281
1245
  # Check for UPPER_CASE constants
1282
- constant_violations = len(
1283
- re.findall(r"[a-z_][a-z0-9_]*\s*=\s*[A-Z_][A-Z0-9_]*", content)
1284
- )
1246
+ constant_violations = len(re.findall(r"[a-z_][a-z0-9_]*\s*=\s*[A-Z_][A-Z0-9_]*", content))
1285
1247
  violations += constant_violations
1286
1248
 
1287
- total_checks += len(re.findall(r"def\s+\w+", content)) + len(
1288
- re.findall(r"\w+\s*=", content)
1289
- )
1249
+ total_checks += len(re.findall(r"def\s+\w+", content)) + len(re.findall(r"\w+\s*=", content))
1290
1250
 
1291
1251
  except Exception:
1292
1252
  continue
@@ -1300,9 +1260,7 @@ class TRUSTValidationChecklist:
1300
1260
  except Exception as e:
1301
1261
  return False, {"error": str(e)}
1302
1262
 
1303
- def _check_docstring_coverage(
1304
- self, project_dir: Path, rule: str
1305
- ) -> Tuple[bool, Dict[str, Any]]:
1263
+ def _check_docstring_coverage(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
1306
1264
  """Check docstring coverage"""
1307
1265
  try:
1308
1266
  target_ratio = float(rule.split(">=")[-1].strip())
@@ -1319,9 +1277,7 @@ class TRUSTValidationChecklist:
1319
1277
  tree = ast.parse(content)
1320
1278
 
1321
1279
  for node in ast.walk(tree):
1322
- if isinstance(
1323
- node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)
1324
- ):
1280
+ if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)):
1325
1281
  total_items += 1
1326
1282
  if ast.get_docstring(node):
1327
1283
  docstringed_items += 1
@@ -1338,9 +1294,7 @@ class TRUSTValidationChecklist:
1338
1294
  except Exception as e:
1339
1295
  return False, {"error": str(e)}
1340
1296
 
1341
- def _check_type_hint_coverage(
1342
- self, project_dir: Path, rule: str
1343
- ) -> Tuple[bool, Dict[str, Any]]:
1297
+ def _check_type_hint_coverage(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
1344
1298
  """Check type hint coverage"""
1345
1299
  try:
1346
1300
  target_ratio = float(rule.split(">=")[-1].strip())
@@ -1360,8 +1314,7 @@ class TRUSTValidationChecklist:
1360
1314
  if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
1361
1315
  total_functions += 1
1362
1316
  if node.returns or any(
1363
- isinstance(arg, ast.arg) and arg.annotation
1364
- for arg in node.args.args
1317
+ isinstance(arg, ast.arg) and arg.annotation for arg in node.args.args
1365
1318
  ):
1366
1319
  hinted_functions += 1
1367
1320
  except Exception:
@@ -1386,28 +1339,20 @@ class TRUSTValidationChecklist:
1386
1339
  """Check code structure"""
1387
1340
  return True, {"result": "Code structure is logical"}
1388
1341
 
1389
- def _check_cyclomatic_complexity(
1390
- self, project_dir: Path, rule: str
1391
- ) -> Tuple[bool, Dict[str, Any]]:
1342
+ def _check_cyclomatic_complexity(self, project_dir: Path, rule: str) -> Tuple[bool, Dict[str, Any]]:
1392
1343
  """Check cyclomatic complexity"""
1393
1344
  max_complexity = int(rule.split("<=")[-1].strip())
1394
1345
  return True, {"result": f"Complexity within {max_complexity}"}
1395
1346
 
1396
- def _check_import_compliance(
1397
- self, project_dir: Path
1398
- ) -> Tuple[bool, Dict[str, Any]]:
1347
+ def _check_import_compliance(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1399
1348
  """Check import PEP 8 compliance"""
1400
1349
  return True, {"result": "Imports follow PEP 8"}
1401
1350
 
1402
- def _check_error_message_quality(
1403
- self, project_dir: Path
1404
- ) -> Tuple[bool, Dict[str, Any]]:
1351
+ def _check_error_message_quality(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1405
1352
  """Check error message quality"""
1406
1353
  return True, {"result": "Error messages are clear"}
1407
1354
 
1408
- def _check_architectural_consistency(
1409
- self, project_dir: Path
1410
- ) -> Tuple[bool, Dict[str, Any]]:
1355
+ def _check_architectural_consistency(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1411
1356
  """Check architectural consistency"""
1412
1357
  return True, {"result": "Architecture is consistent"}
1413
1358
 
@@ -1415,21 +1360,15 @@ class TRUSTValidationChecklist:
1415
1360
  """Check design patterns"""
1416
1361
  return True, {"result": "Design patterns are appropriate"}
1417
1362
 
1418
- def _check_error_handling_consistency(
1419
- self, project_dir: Path
1420
- ) -> Tuple[bool, Dict[str, Any]]:
1363
+ def _check_error_handling_consistency(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1421
1364
  """Check error handling consistency"""
1422
1365
  return True, {"result": "Error handling is consistent"}
1423
1366
 
1424
- def _check_logging_consistency(
1425
- self, project_dir: Path
1426
- ) -> Tuple[bool, Dict[str, Any]]:
1367
+ def _check_logging_consistency(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1427
1368
  """Check logging consistency"""
1428
1369
  return True, {"result": "Logging is consistent"}
1429
1370
 
1430
- def _check_configuration_consistency(
1431
- self, project_dir: Path
1432
- ) -> Tuple[bool, Dict[str, Any]]:
1371
+ def _check_configuration_consistency(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1433
1372
  """Check configuration consistency"""
1434
1373
  return True, {"result": "Configuration is consistent"}
1435
1374
 
@@ -1437,9 +1376,7 @@ class TRUSTValidationChecklist:
1437
1376
  """Check API standards"""
1438
1377
  return True, {"result": "API standards are consistent"}
1439
1378
 
1440
- def _check_database_patterns(
1441
- self, project_dir: Path
1442
- ) -> Tuple[bool, Dict[str, Any]]:
1379
+ def _check_database_patterns(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1443
1380
  """Check database patterns"""
1444
1381
  return True, {"result": "Database patterns are consistent"}
1445
1382
 
@@ -1447,9 +1384,7 @@ class TRUSTValidationChecklist:
1447
1384
  """Check state management"""
1448
1385
  return True, {"result": "State management is consistent"}
1449
1386
 
1450
- def _check_file_organization(
1451
- self, project_dir: Path
1452
- ) -> Tuple[bool, Dict[str, Any]]:
1387
+ def _check_file_organization(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1453
1388
  """Check file organization"""
1454
1389
  return True, {"result": "File organization is consistent"}
1455
1390
 
@@ -1461,9 +1396,7 @@ class TRUSTValidationChecklist:
1461
1396
  """Check input validation"""
1462
1397
  return True, {"result": "Input validation is present"}
1463
1398
 
1464
- def _check_sql_injection_prevention(
1465
- self, project_dir: Path
1466
- ) -> Tuple[bool, Dict[str, Any]]:
1399
+ def _check_sql_injection_prevention(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1467
1400
  """Check SQL injection prevention"""
1468
1401
  return True, {"result": "SQL injection is prevented"}
1469
1402
 
@@ -1475,15 +1408,11 @@ class TRUSTValidationChecklist:
1475
1408
  """Check authentication"""
1476
1409
  return True, {"result": "Authentication is present"}
1477
1410
 
1478
- def _check_secret_management(
1479
- self, project_dir: Path
1480
- ) -> Tuple[bool, Dict[str, Any]]:
1411
+ def _check_secret_management(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1481
1412
  """Check secret management"""
1482
1413
  return True, {"result": "Secrets are properly managed"}
1483
1414
 
1484
- def _check_https_enforcement(
1485
- self, project_dir: Path
1486
- ) -> Tuple[bool, Dict[str, Any]]:
1415
+ def _check_https_enforcement(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1487
1416
  """Check HTTPS enforcement"""
1488
1417
  return True, {"result": "HTTPS is enforced"}
1489
1418
 
@@ -1491,9 +1420,7 @@ class TRUSTValidationChecklist:
1491
1420
  """Check security headers"""
1492
1421
  return True, {"result": "Security headers are present"}
1493
1422
 
1494
- def _check_dependency_security(
1495
- self, project_dir: Path
1496
- ) -> Tuple[bool, Dict[str, Any]]:
1423
+ def _check_dependency_security(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1497
1424
  """Check dependency security"""
1498
1425
  return True, {"result": "Dependencies are secure"}
1499
1426
 
@@ -1501,9 +1428,7 @@ class TRUSTValidationChecklist:
1501
1428
  """Check logging security"""
1502
1429
  return True, {"result": "Logging is secure"}
1503
1430
 
1504
- def _check_error_message_security(
1505
- self, project_dir: Path
1506
- ) -> Tuple[bool, Dict[str, Any]]:
1431
+ def _check_error_message_security(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1507
1432
  """Check error message security"""
1508
1433
  return True, {"result": "Error messages are secure"}
1509
1434
 
@@ -1527,9 +1452,7 @@ class TRUSTValidationChecklist:
1527
1452
  "documentation_files": len(doc_files),
1528
1453
  }
1529
1454
 
1530
- def _check_semantic_versioning(
1531
- self, project_dir: Path
1532
- ) -> Tuple[bool, Dict[str, Any]]:
1455
+ def _check_semantic_versioning(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1533
1456
  """Check semantic versioning"""
1534
1457
  return True, {"result": "Semantic versioning is used"}
1535
1458
 
@@ -1543,23 +1466,17 @@ class TRUSTValidationChecklist:
1543
1466
  """Check code annotations"""
1544
1467
  return True, {"result": "Code annotations are present"}
1545
1468
 
1546
- def _check_api_documentation(
1547
- self, project_dir: Path
1548
- ) -> Tuple[bool, Dict[str, Any]]:
1469
+ def _check_api_documentation(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1549
1470
  """Check API documentation"""
1550
1471
  return True, {"result": "API documentation is present"}
1551
1472
 
1552
- def _check_dependency_tracking(
1553
- self, project_dir: Path
1554
- ) -> Tuple[bool, Dict[str, Any]]:
1473
+ def _check_dependency_tracking(self, project_dir: Path) -> Tuple[bool, Dict[str, Any]]:
1555
1474
  """Check dependency tracking"""
1556
1475
  req_files = ["requirements.txt", "pyproject.toml", "setup.py"]
1557
1476
  exists = any((project_dir / f).exists() for f in req_files)
1558
1477
  return exists, {"result": exists, "dependency_files": req_files}
1559
1478
 
1560
- def _generate_recommendations(
1561
- self, checklist_type: ChecklistType, results: List[ChecklistResult]
1562
- ) -> List[str]:
1479
+ def _generate_recommendations(self, checklist_type: ChecklistType, results: List[ChecklistResult]) -> List[str]:
1563
1480
  """Generate recommendations based on checklist results"""
1564
1481
  recommendations = []
1565
1482
 
@@ -1568,9 +1485,7 @@ class TRUSTValidationChecklist:
1568
1485
  if len(failed_results) == 0:
1569
1486
  recommendations.append("✅ Excellent! All checklists passed")
1570
1487
  else:
1571
- recommendations.append(
1572
- f"🔍 Review {len(failed_results)} failed checklist items"
1573
- )
1488
+ recommendations.append(f"🔍 Review {len(failed_results)} failed checklist items")
1574
1489
 
1575
1490
  # Generate specific recommendations based on failed items
1576
1491
  for result in failed_results[:5]: # Top 5 failed items
@@ -1585,40 +1500,30 @@ class TRUSTValidationChecklist:
1585
1500
 
1586
1501
  return recommendations
1587
1502
 
1588
- def execute_all_checklists(
1589
- self, project_path: str
1590
- ) -> Dict[ChecklistType, ChecklistReport]:
1503
+ def execute_all_checklists(self, project_path: str) -> Dict[ChecklistType, ChecklistReport]:
1591
1504
  """Execute all TRUST checklists"""
1592
1505
  reports = {}
1593
1506
 
1594
1507
  for checklist_type in ChecklistType:
1595
- reports[checklist_type] = self.execute_checklist(
1596
- project_path, checklist_type
1597
- )
1508
+ reports[checklist_type] = self.execute_checklist(project_path, checklist_type)
1598
1509
 
1599
1510
  return reports
1600
1511
 
1601
- def generate_summary_report(
1602
- self, reports: Dict[ChecklistType, ChecklistReport]
1603
- ) -> str:
1512
+ def generate_summary_report(self, reports: Dict[ChecklistType, ChecklistReport]) -> str:
1604
1513
  """Generate summary report for all checklists"""
1605
1514
  summary = []
1606
1515
  summary.append("# TRUST 5 Principles Checklist Summary")
1607
1516
  summary.append("")
1608
1517
 
1609
- total_score = 0
1610
- total_max_score = 0
1518
+ total_score: float = 0.0
1519
+ total_max_score: float = 0.0
1611
1520
  total_passed = 0
1612
1521
  total_items = 0
1613
1522
 
1614
1523
  for checklist_type, report in reports.items():
1615
1524
  summary.append(f"## {checklist_type.value.replace('_', ' ').title()}")
1616
- summary.append(
1617
- f"**Score**: {report.total_score}/{report.max_score} ({report.percentage_score}%)"
1618
- )
1619
- summary.append(
1620
- f"**Status**: {report.passed_items}/{report.total_items} passed"
1621
- )
1525
+ summary.append(f"**Score**: {report.total_score}/{report.max_score} ({report.percentage_score}%)")
1526
+ summary.append(f"**Status**: {report.passed_items}/{report.total_items} passed")
1622
1527
  summary.append(f"**Time**: {report.execution_time:.2f}s")
1623
1528
  summary.append("")
1624
1529
 
@@ -1634,30 +1539,20 @@ class TRUSTValidationChecklist:
1634
1539
  total_items += report.total_items
1635
1540
 
1636
1541
  # Overall summary
1637
- overall_percentage = (
1638
- (total_score / total_max_score) * 100 if total_max_score > 0 else 0
1639
- )
1542
+ overall_percentage = (total_score / total_max_score) * 100 if total_max_score > 0 else 0
1640
1543
  summary.append("## Overall Summary")
1641
- summary.append(
1642
- f"**Total Score**: {total_score}/{total_max_score} ({overall_percentage:.1f}%)"
1643
- )
1544
+ summary.append(f"**Total Score**: {total_score}/{total_max_score} ({overall_percentage:.1f}%)")
1644
1545
  summary.append(f"**Total Passed**: {total_passed}/{total_items}")
1645
1546
  summary.append("")
1646
1547
 
1647
1548
  if overall_percentage >= 90:
1648
- summary.append(
1649
- "🟢 **EXCELLENT**: Project meets TRUST principles at an excellent level"
1650
- )
1549
+ summary.append("🟢 **EXCELLENT**: Project meets TRUST principles at an excellent level")
1651
1550
  elif overall_percentage >= 80:
1652
1551
  summary.append("🟡 **GOOD**: Project mostly follows TRUST principles")
1653
1552
  elif overall_percentage >= 70:
1654
- summary.append(
1655
- "🟠 **NEEDS IMPROVEMENT**: Project has gaps in TRUST principles"
1656
- )
1553
+ summary.append("🟠 **NEEDS IMPROVEMENT**: Project has gaps in TRUST principles")
1657
1554
  else:
1658
- summary.append(
1659
- "🔴 **CRITICAL**: Project requires immediate attention to TRUST principles"
1660
- )
1555
+ summary.append("🔴 **CRITICAL**: Project requires immediate attention to TRUST principles")
1661
1556
 
1662
1557
  return "\n".join(summary)
1663
1558
 
File without changes