moai-adk 0.35.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (502) hide show
  1. moai_adk/__init__.py +10 -0
  2. moai_adk/__main__.py +199 -0
  3. moai_adk/cli/__init__.py +6 -0
  4. moai_adk/cli/commands/__init__.py +17 -0
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +272 -0
  7. moai_adk/cli/commands/init.py +372 -0
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +104 -0
  10. moai_adk/cli/commands/update.py +2686 -0
  11. moai_adk/cli/main.py +13 -0
  12. moai_adk/cli/prompts/__init__.py +5 -0
  13. moai_adk/cli/prompts/init_prompts.py +219 -0
  14. moai_adk/cli/spec_status.py +263 -0
  15. moai_adk/cli/ui/__init__.py +44 -0
  16. moai_adk/cli/ui/progress.py +422 -0
  17. moai_adk/cli/ui/prompts.py +389 -0
  18. moai_adk/cli/ui/theme.py +129 -0
  19. moai_adk/cli/worktree/__init__.py +27 -0
  20. moai_adk/cli/worktree/__main__.py +31 -0
  21. moai_adk/cli/worktree/cli.py +683 -0
  22. moai_adk/cli/worktree/exceptions.py +89 -0
  23. moai_adk/cli/worktree/manager.py +493 -0
  24. moai_adk/cli/worktree/models.py +65 -0
  25. moai_adk/cli/worktree/registry.py +422 -0
  26. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  27. moai_adk/core/__init__.py +1 -0
  28. moai_adk/core/analysis/__init__.py +9 -0
  29. moai_adk/core/analysis/session_analyzer.py +400 -0
  30. moai_adk/core/claude_integration.py +393 -0
  31. moai_adk/core/command_helpers.py +270 -0
  32. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  33. moai_adk/core/config/__init__.py +19 -0
  34. moai_adk/core/config/auto_spec_config.py +340 -0
  35. moai_adk/core/config/migration.py +244 -0
  36. moai_adk/core/config/unified.py +436 -0
  37. moai_adk/core/context_manager.py +273 -0
  38. moai_adk/core/diagnostics/__init__.py +19 -0
  39. moai_adk/core/diagnostics/slash_commands.py +159 -0
  40. moai_adk/core/enterprise_features.py +1404 -0
  41. moai_adk/core/error_recovery_system.py +1902 -0
  42. moai_adk/core/event_driven_hook_system.py +1371 -0
  43. moai_adk/core/git/__init__.py +31 -0
  44. moai_adk/core/git/branch.py +25 -0
  45. moai_adk/core/git/branch_manager.py +129 -0
  46. moai_adk/core/git/checkpoint.py +134 -0
  47. moai_adk/core/git/commit.py +67 -0
  48. moai_adk/core/git/conflict_detector.py +413 -0
  49. moai_adk/core/git/event_detector.py +79 -0
  50. moai_adk/core/git/manager.py +216 -0
  51. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  52. moai_adk/core/input_validation_middleware.py +1006 -0
  53. moai_adk/core/integration/__init__.py +22 -0
  54. moai_adk/core/integration/engine.py +157 -0
  55. moai_adk/core/integration/integration_tester.py +226 -0
  56. moai_adk/core/integration/models.py +88 -0
  57. moai_adk/core/integration/utils.py +211 -0
  58. moai_adk/core/issue_creator.py +305 -0
  59. moai_adk/core/jit_context_loader.py +956 -0
  60. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  61. moai_adk/core/language_config.py +202 -0
  62. moai_adk/core/language_config_resolver.py +572 -0
  63. moai_adk/core/language_validator.py +543 -0
  64. moai_adk/core/mcp/setup.py +116 -0
  65. moai_adk/core/merge/__init__.py +9 -0
  66. moai_adk/core/merge/analyzer.py +605 -0
  67. moai_adk/core/migration/__init__.py +18 -0
  68. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  69. moai_adk/core/migration/backup_manager.py +277 -0
  70. moai_adk/core/migration/custom_element_scanner.py +358 -0
  71. moai_adk/core/migration/file_migrator.py +209 -0
  72. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  73. moai_adk/core/migration/selective_restorer.py +470 -0
  74. moai_adk/core/migration/template_utils.py +74 -0
  75. moai_adk/core/migration/user_selection_ui.py +338 -0
  76. moai_adk/core/migration/version_detector.py +139 -0
  77. moai_adk/core/migration/version_migrator.py +228 -0
  78. moai_adk/core/performance/__init__.py +6 -0
  79. moai_adk/core/performance/cache_system.py +316 -0
  80. moai_adk/core/performance/parallel_processor.py +116 -0
  81. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  82. moai_adk/core/project/__init__.py +1 -0
  83. moai_adk/core/project/backup_utils.py +70 -0
  84. moai_adk/core/project/checker.py +300 -0
  85. moai_adk/core/project/detector.py +293 -0
  86. moai_adk/core/project/initializer.py +387 -0
  87. moai_adk/core/project/phase_executor.py +716 -0
  88. moai_adk/core/project/validator.py +139 -0
  89. moai_adk/core/quality/__init__.py +6 -0
  90. moai_adk/core/quality/trust_checker.py +377 -0
  91. moai_adk/core/quality/validators/__init__.py +6 -0
  92. moai_adk/core/quality/validators/base_validator.py +19 -0
  93. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  94. moai_adk/core/robust_json_parser.py +611 -0
  95. moai_adk/core/rollback_manager.py +918 -0
  96. moai_adk/core/session_manager.py +651 -0
  97. moai_adk/core/skill_loading_system.py +579 -0
  98. moai_adk/core/spec/confidence_scoring.py +680 -0
  99. moai_adk/core/spec/ears_template_engine.py +1247 -0
  100. moai_adk/core/spec/quality_validator.py +687 -0
  101. moai_adk/core/spec_status_manager.py +478 -0
  102. moai_adk/core/template/__init__.py +7 -0
  103. moai_adk/core/template/backup.py +174 -0
  104. moai_adk/core/template/config.py +191 -0
  105. moai_adk/core/template/languages.py +43 -0
  106. moai_adk/core/template/merger.py +233 -0
  107. moai_adk/core/template/processor.py +1200 -0
  108. moai_adk/core/template_engine.py +310 -0
  109. moai_adk/core/template_variable_synchronizer.py +417 -0
  110. moai_adk/core/unified_permission_manager.py +745 -0
  111. moai_adk/core/user_behavior_analytics.py +851 -0
  112. moai_adk/core/version_sync.py +429 -0
  113. moai_adk/foundation/__init__.py +56 -0
  114. moai_adk/foundation/backend.py +1027 -0
  115. moai_adk/foundation/database.py +1115 -0
  116. moai_adk/foundation/devops.py +1585 -0
  117. moai_adk/foundation/ears.py +431 -0
  118. moai_adk/foundation/frontend.py +870 -0
  119. moai_adk/foundation/git/commit_templates.py +557 -0
  120. moai_adk/foundation/git.py +376 -0
  121. moai_adk/foundation/langs.py +484 -0
  122. moai_adk/foundation/ml_ops.py +1162 -0
  123. moai_adk/foundation/testing.py +1524 -0
  124. moai_adk/foundation/trust/trust_principles.py +676 -0
  125. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  126. moai_adk/project/__init__.py +0 -0
  127. moai_adk/project/configuration.py +1084 -0
  128. moai_adk/project/documentation.py +566 -0
  129. moai_adk/project/schema.py +447 -0
  130. moai_adk/statusline/__init__.py +38 -0
  131. moai_adk/statusline/alfred_detector.py +105 -0
  132. moai_adk/statusline/config.py +376 -0
  133. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  134. moai_adk/statusline/git_collector.py +190 -0
  135. moai_adk/statusline/main.py +322 -0
  136. moai_adk/statusline/metrics_tracker.py +78 -0
  137. moai_adk/statusline/renderer.py +343 -0
  138. moai_adk/statusline/update_checker.py +129 -0
  139. moai_adk/statusline/version_reader.py +741 -0
  140. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
  141. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  142. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  143. moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
  144. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  145. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  146. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  147. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  148. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  149. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  150. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  151. moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
  152. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  153. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  154. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  155. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  156. moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
  157. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  158. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  159. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  160. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  161. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  164. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  165. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  166. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  167. moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
  168. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  169. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  170. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  171. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  172. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  173. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  185. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  186. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  187. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  188. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  189. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
  190. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  191. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  192. moai_adk/templates/.claude/settings.json +172 -0
  193. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
  194. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  195. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  196. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  200. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  201. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  202. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  203. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  204. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  205. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
  206. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  207. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  210. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  211. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  212. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  213. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  214. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  215. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
  216. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  217. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  221. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  222. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  223. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  224. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  230. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  231. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  232. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  233. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  280. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  281. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  282. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  283. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  284. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
  285. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
  286. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  287. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  288. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  289. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  290. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
  291. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  292. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  293. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
  294. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  295. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
  297. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  298. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
  304. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
  305. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
  306. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  307. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  308. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
  309. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  310. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  311. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
  312. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  313. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  314. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
  315. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  316. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  318. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  319. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  320. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  321. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  331. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  332. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  333. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  334. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  338. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  339. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  340. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  341. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  342. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  343. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  344. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  345. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  346. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
  347. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  348. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  349. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  350. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  351. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  352. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  353. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  354. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  355. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  356. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  357. moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
  358. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
  359. moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
  360. moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
  361. moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
  362. moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
  363. moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
  364. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
  365. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
  366. moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
  367. moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
  368. moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
  369. moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
  370. moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
  371. moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
  372. moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
  373. moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
  374. moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
  375. moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
  376. moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
  377. moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
  378. moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
  379. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
  380. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
  381. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
  382. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
  383. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
  384. moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
  385. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
  386. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
  387. moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
  388. moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
  389. moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
  390. moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
  391. moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  433. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  458. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  459. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  460. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  461. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  462. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  463. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  464. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  465. moai_adk/templates/.git-hooks/pre-commit +128 -0
  466. moai_adk/templates/.git-hooks/pre-push +365 -0
  467. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  468. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  469. moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
  470. moai_adk/templates/.gitignore +222 -0
  471. moai_adk/templates/.mcp.json +13 -0
  472. moai_adk/templates/.moai/config/config.yaml +58 -0
  473. moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
  474. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  475. moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
  476. moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
  477. moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
  478. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
  479. moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
  480. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  481. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  482. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  483. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  484. moai_adk/templates/.moai/config/sections/system.yaml +24 -0
  485. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  486. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  487. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  488. moai_adk/templates/CLAUDE.md +642 -0
  489. moai_adk/utils/__init__.py +30 -0
  490. moai_adk/utils/banner.py +38 -0
  491. moai_adk/utils/common.py +294 -0
  492. moai_adk/utils/link_validator.py +241 -0
  493. moai_adk/utils/logger.py +147 -0
  494. moai_adk/utils/safe_file_reader.py +206 -0
  495. moai_adk/utils/timeout.py +160 -0
  496. moai_adk/utils/toon_utils.py +256 -0
  497. moai_adk/version.py +22 -0
  498. moai_adk-0.35.1.dist-info/METADATA +3018 -0
  499. moai_adk-0.35.1.dist-info/RECORD +502 -0
  500. moai_adk-0.35.1.dist-info/WHEEL +4 -0
  501. moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
  502. moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
@@ -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
@@ -0,0 +1,169 @@
1
+ # PostgreSQL Advanced Patterns
2
+
3
+ ## Overview
4
+ Comprehensive PostgreSQL patterns covering advanced schema design, query optimization, indexing strategies, partitioning, and performance tuning for modern applications.
5
+
6
+ ## Quick Implementation
7
+
8
+ ### Advanced Schema Design
9
+
10
+ ```sql
11
+ -- User table with proper constraints and indexes
12
+ CREATE TABLE users (
13
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
14
+ email VARCHAR(255) UNIQUE NOT NULL,
15
+ username VARCHAR(50) UNIQUE,
16
+ password_hash VARCHAR(255) NOT NULL,
17
+ email_verified BOOLEAN DEFAULT FALSE,
18
+ created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
19
+ updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
20
+ last_login_at TIMESTAMP WITH TIME ZONE
21
+ );
22
+
23
+ -- Optimized indexes
24
+ CREATE INDEX idx_users_email ON users (email) WHERE email_verified = TRUE;
25
+ CREATE INDEX idx_users_created_at ON users (created_at DESC);
26
+ CREATE INDEX idx_users_username_trgm ON users USING gin (username gin_trgm_ops);
27
+
28
+ -- User profiles with JSONB
29
+ CREATE TABLE user_profiles (
30
+ user_id UUID PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
31
+ display_name VARCHAR(100),
32
+ bio TEXT,
33
+ avatar_url VARCHAR(500),
34
+ preferences JSONB DEFAULT '{}',
35
+ metadata JSONB DEFAULT '{}',
36
+ created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
37
+ updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
38
+ );
39
+
40
+ -- GIN index for JSONB queries
41
+ CREATE INDEX idx_user_profiles_preferences ON user_profiles USING gin (preferences);
42
+ ```
43
+
44
+ ### Advanced Query Patterns
45
+
46
+ ```sql
47
+ -- Efficient pagination with cursor-based approach
48
+ WITH ranked_users AS (
49
+ SELECT
50
+ u.id,
51
+ u.username,
52
+ u.email,
53
+ up.display_name,
54
+ ROW_NUMBER() OVER (ORDER BY u.created_at DESC) as rn
55
+ FROM users u
56
+ LEFT JOIN user_profiles up ON u.id = up.user_id
57
+ WHERE u.created_at < :cursor OR :cursor IS NULL
58
+ )
59
+ SELECT * FROM ranked_users
60
+ WHERE rn > :offset
61
+ ORDER BY created_at DESC
62
+ LIMIT :limit;
63
+
64
+ -- Full-text search with trigrams
65
+ SELECT
66
+ u.id,
67
+ u.username,
68
+ up.display_name,
69
+ similarity(u.username, :query) as username_sim,
70
+ ts_rank_cd(search_vector, plainto_tsquery('english', :query)) as search_rank
71
+ FROM users u
72
+ LEFT JOIN user_profiles up ON u.id = up.user_id,
73
+ to_tsvector('english', u.username || ' ' || COALESCE(up.display_name, '')) search_vector
74
+ WHERE u.username % :query
75
+ OR plainto_tsquery('english', :query) @@ search_vector
76
+ ORDER BY username_sim DESC, search_rank DESC
77
+ LIMIT 20;
78
+
79
+ -- Window functions for analytics
80
+ SELECT
81
+ DATE_TRUNC('month', created_at) as month,
82
+ COUNT(*) as new_users,
83
+ SUM(COUNT(*)) OVER (ORDER BY DATE_TRUNC('month', created_at)) as cumulative_users,
84
+ COUNT(*) - LAG(COUNT(*)) OVER (ORDER BY DATE_TRUNC('month', created_at)) as month_over_month_change
85
+ FROM users
86
+ WHERE created_at >= NOW() - INTERVAL '1 year'
87
+ GROUP BY DATE_TRUNC('month', created_at)
88
+ ORDER BY month;
89
+ ```
90
+
91
+ ### Performance Optimization
92
+
93
+ ```sql
94
+ -- Partitioning for time-series data
95
+ CREATE TABLE events (
96
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
97
+ user_id UUID NOT NULL REFERENCES users(id),
98
+ event_type VARCHAR(50) NOT NULL,
99
+ data JSONB,
100
+ created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
101
+ ) PARTITION BY RANGE (created_at);
102
+
103
+ -- Monthly partitions
104
+ CREATE TABLE events_2024_01 PARTITION OF events
105
+ FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');
106
+
107
+ CREATE TABLE events_2024_02 PARTITION OF events
108
+ FOR VALUES FROM ('2024-02-01') TO ('2024-03-01');
109
+
110
+ -- Materialized views for analytics
111
+ CREATE MATERIALIZED VIEW user_stats AS
112
+ SELECT
113
+ u.id,
114
+ u.email,
115
+ u.created_at,
116
+ COUNT(DISTINCT e.id) as event_count,
117
+ MAX(e.created_at) as last_event_at,
118
+ COUNT(DISTINCT CASE WHEN e.event_type = 'login' THEN e.id END) as login_count
119
+ FROM users u
120
+ LEFT JOIN events e ON u.id = e.user_id
121
+ GROUP BY u.id, u.email, u.created_at;
122
+
123
+ -- Refresh materialized view
124
+ CREATE OR REPLACE FUNCTION refresh_user_stats()
125
+ RETURNS void AS $$
126
+ BEGIN
127
+ REFRESH MATERIALIZED VIEW CONCURRENTLY user_stats;
128
+ END;
129
+ $$ LANGUAGE plpgsql;
130
+ ```
131
+
132
+ ## Key Features
133
+
134
+ ### 1. Advanced Indexing
135
+ - Partial indexes for filtered data
136
+ - GIN indexes for full-text search and JSONB
137
+ - Expression indexes for computed values
138
+ - Composite indexes for multi-column queries
139
+
140
+ ### 2. Query Optimization
141
+ - Cursor-based pagination
142
+ - Window functions for analytics
143
+ - CTE (Common Table Expressions)
144
+ - Materialized views for performance
145
+
146
+ ### 3. Data Modeling
147
+ - JSONB for flexible schemas
148
+ - Array types for multi-valued data
149
+ - Range types for temporal data
150
+ - Custom types for domain-specific data
151
+
152
+ ### 4. Performance Tuning
153
+ - Table partitioning
154
+ - Connection pooling
155
+ - Query execution plans
156
+ - Vacuum and analyze strategies
157
+
158
+ ## Best Practices
159
+ - Use appropriate data types and constraints
160
+ - Implement proper indexing strategies
161
+ - Monitor query performance
162
+ - Use transactions for data consistency
163
+ - Implement backup and recovery procedures
164
+
165
+ ## Integration Points
166
+ - ORMs (SQLAlchemy, Django ORM)
167
+ - Connection pools (PgBouncer, connection poolers)
168
+ - Monitoring tools (pg_stat_statements)
169
+ - Migration tools (Alembic, Flyway)
@@ -0,0 +1,262 @@
1
+ # Redis Advanced Patterns
2
+
3
+ ## Overview
4
+ Advanced Redis patterns covering caching strategies, data structures, real-time analytics, distributed locking, and performance optimization for high-throughput applications.
5
+
6
+ ## Quick Implementation
7
+
8
+ ### Caching Strategies
9
+
10
+ ```javascript
11
+ class CacheManager {
12
+ constructor(redisClient) {
13
+ this.redis = redisClient;
14
+ }
15
+
16
+ // Multi-layer caching with fallback
17
+ async getWithFallback(key, fetchFunction, ttl = 3600) {
18
+ // Try memory cache first
19
+ const memoryCache = this.getMemoryCache(key);
20
+ if (memoryCache) return memoryCache;
21
+
22
+ // Try Redis cache
23
+ const redisCache = await this.redis.get(key);
24
+ if (redisCache) {
25
+ const data = JSON.parse(redisCache);
26
+ this.setMemoryCache(key, data, ttl / 10); // Shorter memory TTL
27
+ return data;
28
+ }
29
+
30
+ // Fetch from source
31
+ const data = await fetchFunction();
32
+
33
+ // Set both caches
34
+ await this.redis.setex(key, ttl, JSON.stringify(data));
35
+ this.setMemoryCache(key, data, ttl / 10);
36
+
37
+ return data;
38
+ }
39
+
40
+ // Write-through caching
41
+ async setWithWriteThrough(key, data, fetchFunction, ttl = 3600) {
42
+ // Update source first
43
+ await fetchFunction(data);
44
+
45
+ // Update caches
46
+ const pipeline = this.redis.pipeline();
47
+ pipeline.setex(key, ttl, JSON.stringify(data));
48
+
49
+ // Invalidate related cache keys
50
+ const relatedKeys = await this.getRelatedKeys(key);
51
+ relatedKeys.forEach(relatedKey => {
52
+ pipeline.del(relatedKey);
53
+ });
54
+
55
+ await pipeline.exec();
56
+ this.setMemoryCache(key, data, ttl / 10);
57
+ }
58
+
59
+ // Rate limiting with sliding window
60
+ async checkRateLimit(key, limit, windowMs) {
61
+ const now = Date.now();
62
+ const pipeline = this.redis.pipeline();
63
+
64
+ // Remove old entries
65
+ pipeline.zremrangebyscore(key, 0, now - windowMs);
66
+
67
+ // Add current request
68
+ pipeline.zadd(key, now, now);
69
+
70
+ // Count current window requests
71
+ pipeline.zcard(key);
72
+
73
+ // Set expiration
74
+ pipeline.expire(key, Math.ceil(windowMs / 1000));
75
+
76
+ const results = await pipeline.exec();
77
+ const currentCount = results[2][1];
78
+
79
+ return {
80
+ allowed: currentCount <= limit,
81
+ count: currentCount,
82
+ remaining: Math.max(0, limit - currentCount),
83
+ resetTime: now + windowMs
84
+ };
85
+ }
86
+ }
87
+ ```
88
+
89
+ ### Advanced Data Structures
90
+
91
+ ```javascript
92
+ class RedisDataManager {
93
+ constructor(redisClient) {
94
+ this.redis = redisClient;
95
+ }
96
+
97
+ // Leaderboard with time decay
98
+ async addToTimeDecayLeaderboard(key, memberId, score, decayRate = 0.95) {
99
+ const timestamp = Date.now();
100
+ const decayedScore = score * Math.pow(decayRate, (Date.now() - timestamp) / (1000 * 60 * 60));
101
+
102
+ await this.redis.zadd(key, decayedScore, memberId);
103
+
104
+ // Remove old entries
105
+ const weekAgo = Date.now() - (7 * 24 * 60 * 60 * 1000);
106
+ await this.redis.zremrangebyscore(key, 0, weekAgo);
107
+ }
108
+
109
+ // Real-time analytics with HyperLogLog
110
+ async trackUniqueVisitors(pageKey, userId) {
111
+ // Track unique users with HyperLogLog
112
+ await this.redis.pfadd(`${pageKey}:unique`, userId);
113
+
114
+ // Track total visits with regular counter
115
+ await this.redis.incr(`${pageKey}:total`);
116
+
117
+ // Track user activity set for recent activity
118
+ const activityKey = `${pageKey}:activity:${Math.floor(Date.now() / (60 * 1000))}`;
119
+ await this.redis.sadd(activityKey, userId);
120
+ await this.redis.expire(activityKey, 300); // 5 minutes
121
+ }
122
+
123
+ async getAnalytics(pageKey) {
124
+ const pipeline = this.redis.pipeline();
125
+
126
+ // Unique visitors estimate
127
+ pipeline.pfcount(`${pageKey}:unique`);
128
+
129
+ // Total page views
130
+ pipeline.get(`${pageKey}:total`);
131
+
132
+ // Recent active users (last 5 minutes)
133
+ const now = Math.floor(Date.now() / (60 * 1000));
134
+ for (let i = 0; i < 5; i++) {
135
+ pipeline.scard(`${pageKey}:activity:${now - i}`);
136
+ }
137
+
138
+ const results = await pipeline.exec();
139
+
140
+ const uniqueVisitors = results[0][1];
141
+ const totalViews = parseInt(results[1][1]) || 0;
142
+ const recentActivity = results.slice(2).map(r => r[1]).reduce((a, b) => a + b, 0);
143
+
144
+ return {
145
+ uniqueVisitors,
146
+ totalViews,
147
+ recentActiveUsers: recentActivity
148
+ };
149
+ }
150
+
151
+ // Distributed locking with timeout and retry
152
+ async acquireLock(key, ttl = 30000, retryCount = 3, retryDelay = 100) {
153
+ const lockKey = `lock:${key}`;
154
+ const lockValue = `${Date.now()}-${Math.random()}`;
155
+
156
+ for (let attempt = 0; attempt < retryCount; attempt++) {
157
+ const result = await this.redis.set(
158
+ lockKey,
159
+ lockValue,
160
+ 'PX', ttl,
161
+ 'NX'
162
+ );
163
+
164
+ if (result === 'OK') {
165
+ return {
166
+ acquired: true,
167
+ lockValue,
168
+ release: async () => await this.releaseLock(lockKey, lockValue)
169
+ };
170
+ }
171
+
172
+ // Wait before retry
173
+ if (attempt < retryCount - 1) {
174
+ await new Promise(resolve => setTimeout(resolve, retryDelay));
175
+ }
176
+ }
177
+
178
+ return { acquired: false };
179
+ }
180
+
181
+ async releaseLock(lockKey, lockValue) {
182
+ const script = `
183
+ if redis.call("get", KEYS[1]) == ARGV[1] then
184
+ return redis.call("del", KEYS[1])
185
+ else
186
+ return 0
187
+ end
188
+ `;
189
+
190
+ return await this.redis.eval(script, 1, lockKey, lockValue);
191
+ }
192
+ }
193
+ ```
194
+
195
+ ## Key Features
196
+
197
+ ### 1. Caching Patterns
198
+ - Multi-layer caching (memory + Redis)
199
+ - Cache-aside and write-through strategies
200
+ - Cache invalidation and warming
201
+ - Rate limiting and throttling
202
+
203
+ ### 2. Data Structures
204
+ - Strings for simple key-value storage
205
+ - Hashes for object storage
206
+ - Lists for queues and stacks
207
+ - Sets for unique collections
208
+ - Sorted sets for leaderboards
209
+ - HyperLogLog for cardinality estimation
210
+
211
+ ### 3. Real-time Features
212
+ - Pub/sub messaging
213
+ - Streams for event processing
214
+ - Geospatial indexing
215
+ - Bitmap operations
216
+
217
+ ### 4. Performance Optimization
218
+ - Pipeline operations for batch processing
219
+ - Lua scripting for atomic operations
220
+ - Connection pooling strategies
221
+ - Memory optimization techniques
222
+
223
+ ## Advanced Patterns
224
+
225
+ ### Distributed Locking
226
+ - Redlock algorithm for safety
227
+ - Timeout and retry mechanisms
228
+ - Lock release verification
229
+ - Deadlock prevention
230
+
231
+ ### Rate Limiting
232
+ - Sliding window implementation
233
+ - Fixed window counters
234
+ - Token bucket algorithm
235
+ - Distributed rate limiting
236
+
237
+ ### Analytics and Counting
238
+ - Real-time metrics collection
239
+ - Time-series data storage
240
+ - Approximate counting with HyperLogLog
241
+ - Bitmap analytics for user behavior
242
+
243
+ ### Session Management
244
+ - User session storage
245
+ - Shopping cart management
246
+ - Real-time collaboration
247
+ - Presence detection
248
+
249
+ ## Best Practices
250
+ - Use appropriate data structures
251
+ - Implement proper key naming conventions
252
+ - Set appropriate TTLs for cache entries
253
+ - Monitor memory usage and performance
254
+ - Use pipelining for batch operations
255
+ - Implement proper error handling
256
+
257
+ ## Integration Points
258
+ - Connection pooling libraries (ioredis, redis-py)
259
+ - Cache middleware for web frameworks
260
+ - Message queue systems
261
+ - Real-time analytics platforms
262
+ - Session management systems