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
@@ -0,0 +1,320 @@
1
+ ---
2
+ name: moai-domain-database
3
+ description: Database specialist covering PostgreSQL, MongoDB, Redis, and advanced data patterns for modern applications
4
+ version: 1.0.0
5
+ category: domain
6
+ tags:
7
+ - database
8
+ - postgresql
9
+ - mongodb
10
+ - redis
11
+ - data-patterns
12
+ - performance
13
+ updated: 2025-11-30
14
+ status: active
15
+ author: MoAI-ADK Team
16
+ ---
17
+
18
+ # Database Domain Specialist
19
+
20
+ ## Quick Reference (30 seconds)
21
+
22
+ Enterprise Database Expertise - Comprehensive database patterns and implementations covering PostgreSQL, MongoDB, Redis, and advanced data management for scalable modern applications.
23
+
24
+ Core Capabilities:
25
+ - PostgreSQL: Advanced relational patterns, optimization, and scaling
26
+ - MongoDB: Document modeling, aggregation, and NoSQL performance tuning
27
+ - Redis: In-memory caching, real-time analytics, and distributed systems
28
+ - Multi-Database: Hybrid architectures and data integration patterns
29
+ - Performance: Query optimization, indexing strategies, and scaling
30
+ - Operations: Connection management, migrations, and monitoring
31
+
32
+ When to Use:
33
+ - Designing database schemas and data models
34
+ - Implementing caching strategies and performance optimization
35
+ - Building scalable data architectures
36
+ - Working with multi-database systems
37
+ - Optimizing database queries and performance
38
+
39
+ ---
40
+
41
+ ## Implementation Guide (5 minutes)
42
+
43
+ ### Quick Start Workflow
44
+
45
+ Database Stack Initialization:
46
+ ```python
47
+ from moai_domain_database import DatabaseManager
48
+
49
+ # Initialize multi-database stack
50
+ db_manager = DatabaseManager()
51
+
52
+ # Configure PostgreSQL for relational data
53
+ postgresql = db_manager.setup_postgresql(
54
+ connection_string="postgresql://...",
55
+ connection_pool_size=20,
56
+ enable_query_logging=True
57
+ )
58
+
59
+ # Configure MongoDB for document storage
60
+ mongodb = db_manager.setup_mongodb(
61
+ connection_string="mongodb://...",
62
+ database_name="app_data",
63
+ enable_sharding=True
64
+ )
65
+
66
+ # Configure Redis for caching and real-time features
67
+ redis = db_manager.setup_redis(
68
+ connection_string="redis://...",
69
+ max_connections=50,
70
+ enable_clustering=True
71
+ )
72
+
73
+ # Use unified database interface
74
+ user_data = db_manager.get_user_with_profile(user_id)
75
+ analytics = db_manager.get_user_analytics(user_id, time_range="30d")
76
+ ```
77
+
78
+ Single Database Operations:
79
+ ```bash
80
+ # PostgreSQL schema migration
81
+ moai db:migrate --database postgresql --migration-file schema_v2.sql
82
+
83
+ # MongoDB aggregation pipeline
84
+ moai db:aggregate --collection users --pipeline analytics_pipeline.json
85
+
86
+ # Redis cache warming
87
+ moai db:cache:warm --pattern "user:*" --ttl 3600
88
+ ```
89
+
90
+ ### Core Components
91
+
92
+ 1. PostgreSQL (`modules/postgresql.md`)
93
+ - Advanced schema design and constraints
94
+ - Complex query optimization and indexing
95
+ - Window functions and CTEs
96
+ - Partitioning and materialized views
97
+ - Connection pooling and performance tuning
98
+
99
+ 2. MongoDB (`modules/mongodb.md`)
100
+ - Document modeling and schema design
101
+ - Aggregation pipelines for analytics
102
+ - Indexing strategies and performance
103
+ - Sharding and scaling patterns
104
+ - Data consistency and validation
105
+
106
+ 3. Redis (`modules/redis.md`)
107
+ - Multi-layer caching strategies
108
+ - Real-time analytics and counting
109
+ - Distributed locking and coordination
110
+ - Pub/sub messaging and streams
111
+ - Advanced data structures (HyperLogLog, Geo)
112
+
113
+ ---
114
+
115
+ ## Advanced Patterns (10+ minutes)
116
+
117
+ ### Multi-Database Architecture
118
+
119
+ Polyglot Persistence Pattern:
120
+ ```python
121
+ class DataRouter:
122
+ def __init__(self):
123
+ self.postgresql = PostgreSQLConnection()
124
+ self.mongodb = MongoDBConnection()
125
+ self.redis = RedisConnection()
126
+
127
+ def get_user_profile(self, user_id):
128
+ # Get structured user data from PostgreSQL
129
+ user = self.postgresql.get_user(user_id)
130
+
131
+ # Get flexible profile data from MongoDB
132
+ profile = self.mongodb.get_user_profile(user_id)
133
+
134
+ # Get real-time status from Redis
135
+ status = self.redis.get_user_status(user_id)
136
+
137
+ return self.merge_user_data(user, profile, status)
138
+
139
+ def update_user_data(self, user_id, data):
140
+ # Route different data types to appropriate databases
141
+ if 'structured_data' in data:
142
+ self.postgresql.update_user(user_id, data['structured_data'])
143
+
144
+ if 'profile_data' in data:
145
+ self.mongodb.update_user_profile(user_id, data['profile_data'])
146
+
147
+ if 'real_time_data' in data:
148
+ self.redis.set_user_status(user_id, data['real_time_data'])
149
+
150
+ # Invalidate cache across databases
151
+ self.invalidate_user_cache(user_id)
152
+ ```
153
+
154
+ Data Synchronization:
155
+ ```python
156
+ class DataSyncManager:
157
+ def sync_user_data(self, user_id):
158
+ # Sync from PostgreSQL to MongoDB for search
159
+ pg_user = self.postgresql.get_user(user_id)
160
+ search_document = self.create_search_document(pg_user)
161
+ self.mongodb.upsert_user_search(user_id, search_document)
162
+
163
+ # Update cache in Redis
164
+ cache_data = self.create_cache_document(pg_user)
165
+ self.redis.set_user_cache(user_id, cache_data, ttl=3600)
166
+ ```
167
+
168
+ ### Performance Optimization
169
+
170
+ Query Performance Analysis:
171
+ ```python
172
+ # PostgreSQL query optimization
173
+ def analyze_query_performance(query):
174
+ explain_result = postgresql.execute(f"EXPLAIN (ANALYZE, BUFFERS) {query}")
175
+ return QueryAnalyzer(explain_result).get_optimization_suggestions()
176
+
177
+ # MongoDB aggregation optimization
178
+ def optimize_aggregation_pipeline(pipeline):
179
+ optimizer = AggregationOptimizer()
180
+ return optimizer.optimize_pipeline(pipeline)
181
+
182
+ # Redis performance monitoring
183
+ def monitor_redis_performance():
184
+ metrics = redis.info()
185
+ return PerformanceAnalyzer(metrics).get_recommendations()
186
+ ```
187
+
188
+ Scaling Strategies:
189
+ ```python
190
+ # Read replicas for PostgreSQL
191
+ read_replicas = postgresql.setup_read_replicas([
192
+ "postgresql://replica1...",
193
+ "postgresql://replica2..."
194
+ ])
195
+
196
+ # Sharding for MongoDB
197
+ mongodb.setup_sharding(
198
+ shard_key="user_id",
199
+ num_shards=4
200
+ )
201
+
202
+ # Redis clustering
203
+ redis.setup_cluster([
204
+ "redis://node1:7000",
205
+ "redis://node2:7000",
206
+ "redis://node3:7000"
207
+ ])
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Works Well With
213
+
214
+ Complementary Skills:
215
+ - `moai-domain-backend` - API integration and business logic
216
+ - `moai-foundation-core` - Database migration and schema management
217
+ - `moai-workflow-project` - Database project setup and configuration
218
+ - `moai-platform-baas` - BaaS database integration patterns
219
+
220
+ Technology Integration:
221
+ - ORMs and ODMs (SQLAlchemy, Mongoose, TypeORM)
222
+ - Connection pooling (PgBouncer, connection pools)
223
+ - Migration tools (Alembic, Flyway)
224
+ - Monitoring (pg_stat_statements, MongoDB Atlas)
225
+ - Cache invalidation and synchronization
226
+
227
+ ---
228
+
229
+ ## Usage Examples
230
+
231
+ ### Database Operations
232
+ ```python
233
+ # PostgreSQL advanced queries
234
+ users = postgresql.query(
235
+ "SELECT * FROM users WHERE created_at > %s ORDER BY activity_score DESC LIMIT 100",
236
+ [datetime.now() - timedelta(days=30)]
237
+ )
238
+
239
+ # MongoDB analytics
240
+ analytics = mongodb.aggregate('events', [
241
+ {"$match": {"timestamp": {"$gte": start_date}}},
242
+ {"$group": {"_id": "$type", "count": {"$sum": 1}}},
243
+ {"$sort": {"count": -1}}
244
+ ])
245
+
246
+ # Redis caching operations
247
+ async def get_user_data(user_id):
248
+ cache_key = f"user:{user_id}"
249
+ data = await redis.get(cache_key)
250
+
251
+ if not data:
252
+ data = fetch_from_database(user_id)
253
+ await redis.setex(cache_key, 3600, json.dumps(data))
254
+
255
+ return json.loads(data)
256
+ ```
257
+
258
+ ### Multi-Database Transactions
259
+ ```python
260
+ async def create_user_with_profile(user_data, profile_data):
261
+ try:
262
+ # Start transaction across databases
263
+ async with transaction_manager():
264
+ # Create user in PostgreSQL
265
+ user_id = await postgresql.insert_user(user_data)
266
+
267
+ # Create profile in MongoDB
268
+ await mongodb.insert_user_profile(user_id, profile_data)
269
+
270
+ # Set initial cache in Redis
271
+ await redis.set_user_cache(user_id, {
272
+ "id": user_id,
273
+ "status": "active",
274
+ "created_at": datetime.now().isoformat()
275
+ })
276
+
277
+ return user_id
278
+
279
+ except Exception as e:
280
+ # Automatic rollback across databases
281
+ logger.error(f"User creation failed: {e}")
282
+ raise
283
+ ```
284
+
285
+ ---
286
+
287
+ ## Technology Stack
288
+
289
+ Relational Database:
290
+ - PostgreSQL 14+ (primary)
291
+ - MySQL 8.0+ (alternative)
292
+ - Connection pooling (PgBouncer, SQLAlchemy)
293
+
294
+ NoSQL Database:
295
+ - MongoDB 6.0+ (primary)
296
+ - Document modeling and validation
297
+ - Aggregation framework
298
+ - Sharding and replication
299
+
300
+ In-Memory Database:
301
+ - Redis 7.0+ (primary)
302
+ - Redis Stack for advanced features
303
+ - Clustering and high availability
304
+ - Advanced data structures
305
+
306
+ Supporting Tools:
307
+ - Migration tools (Alembic, Flyway)
308
+ - Monitoring (Prometheus, Grafana)
309
+ - ORMs/ODMs (SQLAlchemy, Mongoose)
310
+ - Connection management
311
+
312
+ Performance Features:
313
+ - Query optimization and analysis
314
+ - Index management and strategies
315
+ - Caching layers and invalidation
316
+ - Load balancing and failover
317
+
318
+ ---
319
+
320
+ *For detailed implementation patterns and database-specific optimizations, see the `modules/` directory.*
@@ -0,0 +1,53 @@
1
+ # Database Domain Modules
2
+
3
+ This directory contains specialized modules for advanced database patterns and implementations across multiple database systems.
4
+
5
+ ## Module Structure
6
+
7
+ ### Core Database Systems
8
+
9
+ - postgresql.md - Advanced PostgreSQL patterns, optimization, and scaling
10
+ - mongodb.md - NoSQL document modeling, aggregation, and performance tuning
11
+ - redis.md - In-memory caching, real-time data structures, and distributed systems
12
+
13
+ ### Usage Patterns
14
+
15
+ 1. Relational Database: Use `postgresql.md` for structured data and complex queries
16
+ 2. Document Database: Use `mongodb.md` for flexible schemas and rapid development
17
+ 3. In-Memory Store: Use `redis.md` for caching, sessions, and real-time features
18
+ 4. Multi-Database: Combine modules for hybrid data architectures
19
+
20
+ ### Integration Guidelines
21
+
22
+ Each module provides comprehensive patterns for:
23
+
24
+ ```python
25
+ # PostgreSQL integration
26
+ from moai_domain_database.modules.postgresql import AdvancedPostgreSQL
27
+
28
+ # MongoDB integration
29
+ from moai_domain_database.modules.mongodb import MongoAggregation
30
+
31
+ # Redis integration
32
+ from moai_domain_database.modules.redis import CacheManager
33
+
34
+ # Hybrid database architecture
35
+ def setup_database_stack():
36
+ postgresql = AdvancedPostgreSQL()
37
+ mongodb = MongoAggregation()
38
+ redis = CacheManager()
39
+ return DatabaseStack(postgresql, mongodb, redis)
40
+ ```
41
+
42
+ ### Progressive Disclosure
43
+
44
+ - Quick Start: Use individual database modules for specific needs
45
+ - Implementation: Combine modules for comprehensive data solutions
46
+ - Advanced: Custom implementations based on module patterns
47
+
48
+ ### Dependencies
49
+
50
+ - PostgreSQL: asyncpg, SQLAlchemy, Psycopg2
51
+ - MongoDB: pymongo, motor, mongoose
52
+ - Redis: redis-py, ioredis, node-redis
53
+ - General: Connection pooling, ORM frameworks, migration tools
@@ -0,0 +1,231 @@
1
+ # MongoDB Advanced Patterns
2
+
3
+ ## Overview
4
+ Advanced MongoDB patterns covering document modeling, aggregation pipelines, indexing strategies, and performance optimization for scalable NoSQL applications.
5
+
6
+ ## Quick Implementation
7
+
8
+ ### Document Modeling
9
+
10
+ ```javascript
11
+ // User schema with embedded and referenced patterns
12
+ const userSchema = new Schema({
13
+ _id: ObjectId,
14
+ username: { type: String, required: true, unique: true },
15
+ email: { type: String, required: true, unique: true },
16
+ profile: {
17
+ displayName: String,
18
+ bio: String,
19
+ avatar: String,
20
+ preferences: {
21
+ theme: { type: String, enum: ['light', 'dark'], default: 'light' },
22
+ language: { type: String, default: 'en' },
23
+ notifications: {
24
+ email: { type: Boolean, default: true },
25
+ push: { type: Boolean, default: false }
26
+ }
27
+ }
28
+ },
29
+ security: {
30
+ passwordHash: String,
31
+ lastLoginAt: Date,
32
+ failedLoginAttempts: { type: Number, default: 0 },
33
+ lockedUntil: Date
34
+ },
35
+ activity: {
36
+ lastSeenAt: Date,
37
+ loginCount: { type: Number, default: 0 }
38
+ }
39
+ }, {
40
+ timestamps: true,
41
+ // Optimized indexes
42
+ index: [
43
+ { username: 1 },
44
+ { email: 1 },
45
+ { 'security.lastLoginAt': -1 },
46
+ { 'activity.lastSeenAt': -1 }
47
+ ]
48
+ });
49
+
50
+ // Post schema with comments embedded for performance
51
+ const postSchema = new Schema({
52
+ _id: ObjectId,
53
+ authorId: { type: ObjectId, ref: 'User', required: true },
54
+ title: { type: String, required: true },
55
+ content: { type: String, required: true },
56
+ tags: [String],
57
+ metadata: {
58
+ viewCount: { type: Number, default: 0 },
59
+ likeCount: { type: Number, default: 0 },
60
+ commentCount: { type: Number, default: 0 }
61
+ },
62
+ // Embed recent comments for performance
63
+ recentComments: [{
64
+ _id: ObjectId,
65
+ authorId: ObjectId,
66
+ authorName: String,
67
+ content: String,
68
+ createdAt: { type: Date, default: Date.now }
69
+ }],
70
+ status: { type: String, enum: ['draft', 'published', 'archived'], default: 'draft' }
71
+ }, {
72
+ timestamps: true,
73
+ index: [
74
+ { authorId: 1, createdAt: -1 },
75
+ { status: 1, createdAt: -1 },
76
+ { tags: 1 },
77
+ { 'metadata.viewCount': -1 }
78
+ ]
79
+ });
80
+ ```
81
+
82
+ ### Advanced Aggregation Pipelines
83
+
84
+ ```javascript
85
+ // User analytics with complex aggregation
86
+ const getUserAnalytics = async (userId, timeRange) => {
87
+ return await User.aggregate([
88
+ // Match specific user
89
+ { $match: { _id: userId } },
90
+
91
+ // Lookup posts and engagement
92
+ {
93
+ $lookup: {
94
+ from: 'posts',
95
+ localField: '_id',
96
+ foreignField: 'authorId',
97
+ as: 'posts'
98
+ }
99
+ },
100
+
101
+ // Unwind posts for processing
102
+ { $unwind: '$posts' },
103
+
104
+ // Filter by time range
105
+ {
106
+ $match: {
107
+ 'posts.createdAt': {
108
+ $gte: timeRange.start,
109
+ $lte: timeRange.end
110
+ }
111
+ }
112
+ },
113
+
114
+ // Group by user and calculate metrics
115
+ {
116
+ $group: {
117
+ _id: '$_id',
118
+ username: { $first: '$username' },
119
+ totalPosts: { $sum: 1 },
120
+ totalViews: { $sum: '$posts.metadata.viewCount' },
121
+ totalLikes: { $sum: '$posts.metadata.likeCount' },
122
+ avgViewsPerPost: { $avg: '$posts.metadata.viewCount' },
123
+ tags: { $push: '$posts.tags' }
124
+ }
125
+ },
126
+
127
+ // Flatten and count tags
128
+ {
129
+ $addFields: {
130
+ allTags: { $reduce: {
131
+ input: '$tags',
132
+ initialValue: [],
133
+ in: { $concatArrays: ['$$value', '$$this'] }
134
+ }}
135
+ }
136
+ },
137
+
138
+ {
139
+ $addFields: {
140
+ uniqueTags: { $setUnion: ['$allTags', []] },
141
+ topTags: { $slice: [
142
+ { $sortArray: { input: { $objectToArray: { $size: '$allTags' } }, sortBy: { count: -1 } } },
143
+ 5
144
+ ]}
145
+ }
146
+ }
147
+ ]);
148
+ };
149
+
150
+ // Time series aggregation for activity tracking
151
+ const getActivityTrends = async (userId, granularity = 'daily') => {
152
+ const groupFormat = granularity === 'daily' ?
153
+ { $dateToString: { format: '%Y-%m-%d', date: '$createdAt' } } :
154
+ { $dateToString: { format: '%Y-%U', date: '$createdAt' } };
155
+
156
+ return await Activity.aggregate([
157
+ { $match: { userId } },
158
+ {
159
+ $group: {
160
+ _id: groupFormat,
161
+ totalEvents: { $sum: 1 },
162
+ eventTypes: { $addToSet: '$eventType' },
163
+ uniqueSessions: { $addToSet: '$sessionId' }
164
+ }
165
+ },
166
+ {
167
+ $addFields: {
168
+ eventCount: { $size: '$eventTypes' },
169
+ sessionCount: { $size: '$uniqueSessions' }
170
+ }
171
+ },
172
+ { $sort: { _id: 1 } }
173
+ ]);
174
+ };
175
+ ```
176
+
177
+ ## Key Features
178
+
179
+ ### 1. Document Design Patterns
180
+ - Embedding vs referencing strategies
181
+ - Denormalization for read performance
182
+ - Schema validation and constraints
183
+ - Array and object modeling
184
+
185
+ ### 2. Indexing Strategies
186
+ - Compound indexes for multi-field queries
187
+ - Text indexes for full-text search
188
+ - Geospatial indexes for location data
189
+ - TTL indexes for automatic expiration
190
+
191
+ ### 3. Aggregation Framework
192
+ - Multi-stage data processing pipelines
193
+ - Lookup operations for joins
194
+ - Group and accumulate operations
195
+ - Window functions for analytics
196
+
197
+ ### 4. Performance Optimization
198
+ - Query pattern analysis
199
+ - Index usage optimization
200
+ - Connection pooling strategies
201
+ - Sharding for horizontal scaling
202
+
203
+ ## Design Patterns
204
+
205
+ ### Embedding Patterns
206
+ - One-to-One: Embed related data
207
+ - One-to-Many: Embed for small arrays
208
+ - Many-to-Many: Use references with lookups
209
+
210
+ ### Reference Patterns
211
+ - Population for related data
212
+ - Manual joins with aggregation
213
+ - Caching frequently accessed data
214
+
215
+ ### Schema Evolution
216
+ - Version-controlled schema changes
217
+ - Backward compatibility strategies
218
+ - Data migration approaches
219
+
220
+ ## Best Practices
221
+ - Design for query patterns
222
+ - Use appropriate data types
223
+ - Implement proper indexing
224
+ - Monitor performance metrics
225
+ - Plan for schema evolution
226
+
227
+ ## Integration Points
228
+ - ORMs (Mongoose, TypeGOOSE)
229
+ - ODMs for Node.js applications
230
+ - Connection pooling libraries
231
+ - Monitoring and analytics tools