moai-adk 0.8.0__py3-none-any.whl → 1.1.0__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.
Files changed (881) hide show
  1. moai_adk/__init__.py +2 -6
  2. moai_adk/__main__.py +267 -21
  3. moai_adk/astgrep/__init__.py +37 -0
  4. moai_adk/astgrep/analyzer.py +522 -0
  5. moai_adk/astgrep/models.py +124 -0
  6. moai_adk/astgrep/rules.py +179 -0
  7. moai_adk/cli/__init__.py +6 -2
  8. moai_adk/cli/commands/__init__.py +1 -4
  9. moai_adk/cli/commands/analyze.py +125 -0
  10. moai_adk/cli/commands/doctor.py +24 -6
  11. moai_adk/cli/commands/init.py +437 -57
  12. moai_adk/cli/commands/language.py +254 -0
  13. moai_adk/cli/commands/rank.py +449 -0
  14. moai_adk/cli/commands/status.py +15 -14
  15. moai_adk/cli/commands/switch.py +325 -0
  16. moai_adk/cli/commands/update.py +2195 -93
  17. moai_adk/cli/main.py +3 -2
  18. moai_adk/cli/prompts/init_prompts.py +457 -108
  19. moai_adk/cli/prompts/translations/__init__.py +573 -0
  20. moai_adk/cli/spec_status.py +263 -0
  21. moai_adk/cli/ui/__init__.py +44 -0
  22. moai_adk/cli/ui/progress.py +422 -0
  23. moai_adk/cli/ui/prompts.py +448 -0
  24. moai_adk/cli/ui/theme.py +129 -0
  25. moai_adk/cli/worktree/__init__.py +27 -0
  26. moai_adk/cli/worktree/__main__.py +31 -0
  27. moai_adk/cli/worktree/cli.py +788 -0
  28. moai_adk/cli/worktree/exceptions.py +89 -0
  29. moai_adk/cli/worktree/manager.py +648 -0
  30. moai_adk/cli/worktree/models.py +65 -0
  31. moai_adk/cli/worktree/registry.py +422 -0
  32. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  33. moai_adk/core/__init__.py +0 -1
  34. moai_adk/core/analysis/__init__.py +9 -0
  35. moai_adk/core/analysis/session_analyzer.py +400 -0
  36. moai_adk/core/claude_integration.py +393 -0
  37. moai_adk/core/command_helpers.py +270 -0
  38. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  39. moai_adk/core/config/__init__.py +6 -0
  40. moai_adk/core/config/migration.py +148 -17
  41. moai_adk/core/config/unified.py +617 -0
  42. moai_adk/core/context_manager.py +273 -0
  43. moai_adk/core/credentials.py +264 -0
  44. moai_adk/core/diagnostics/slash_commands.py +0 -1
  45. moai_adk/core/enterprise_features.py +1404 -0
  46. moai_adk/core/error_recovery_system.py +1920 -0
  47. moai_adk/core/event_driven_hook_system.py +1371 -0
  48. moai_adk/core/git/__init__.py +8 -1
  49. moai_adk/core/git/branch.py +0 -1
  50. moai_adk/core/git/branch_manager.py +2 -10
  51. moai_adk/core/git/checkpoint.py +1 -7
  52. moai_adk/core/git/commit.py +0 -1
  53. moai_adk/core/git/conflict_detector.py +422 -0
  54. moai_adk/core/git/event_detector.py +16 -7
  55. moai_adk/core/git/manager.py +91 -2
  56. moai_adk/core/input_validation_middleware.py +1006 -0
  57. moai_adk/core/integration/__init__.py +22 -0
  58. moai_adk/core/integration/engine.py +157 -0
  59. moai_adk/core/integration/integration_tester.py +226 -0
  60. moai_adk/core/integration/models.py +88 -0
  61. moai_adk/core/integration/utils.py +211 -0
  62. moai_adk/core/issue_creator.py +305 -0
  63. moai_adk/core/jit_context_loader.py +956 -0
  64. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  65. moai_adk/core/language_config.py +202 -0
  66. moai_adk/core/language_config_resolver.py +578 -0
  67. moai_adk/core/language_validator.py +543 -0
  68. moai_adk/core/mcp/setup.py +116 -0
  69. moai_adk/core/merge/__init__.py +9 -0
  70. moai_adk/core/merge/analyzer.py +666 -0
  71. moai_adk/core/migration/__init__.py +18 -0
  72. moai_adk/core/migration/alfred_to_moai_migrator.py +389 -0
  73. moai_adk/core/migration/backup_manager.py +327 -0
  74. moai_adk/core/migration/custom_element_scanner.py +358 -0
  75. moai_adk/core/migration/file_migrator.py +381 -0
  76. moai_adk/core/migration/interactive_checkbox_ui.py +499 -0
  77. moai_adk/core/migration/selective_restorer.py +470 -0
  78. moai_adk/core/migration/template_utils.py +74 -0
  79. moai_adk/core/migration/user_selection_ui.py +338 -0
  80. moai_adk/core/migration/version_detector.py +243 -0
  81. moai_adk/core/migration/version_migrator.py +263 -0
  82. moai_adk/core/model_allocator.py +241 -0
  83. moai_adk/core/performance/__init__.py +6 -0
  84. moai_adk/core/performance/cache_system.py +316 -0
  85. moai_adk/core/performance/parallel_processor.py +116 -0
  86. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  87. moai_adk/core/project/__init__.py +0 -1
  88. moai_adk/core/project/backup_utils.py +13 -8
  89. moai_adk/core/project/checker.py +2 -4
  90. moai_adk/core/project/detector.py +189 -22
  91. moai_adk/core/project/initializer.py +177 -29
  92. moai_adk/core/project/phase_executor.py +482 -48
  93. moai_adk/core/project/validator.py +22 -32
  94. moai_adk/core/quality/__init__.py +1 -1
  95. moai_adk/core/quality/trust_checker.py +66 -110
  96. moai_adk/core/quality/validators/__init__.py +1 -1
  97. moai_adk/core/quality/validators/base_validator.py +1 -1
  98. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  99. moai_adk/core/robust_json_parser.py +611 -0
  100. moai_adk/core/rollback_manager.py +953 -0
  101. moai_adk/core/session_manager.py +651 -0
  102. moai_adk/core/skill_loading_system.py +579 -0
  103. moai_adk/core/spec_status_manager.py +478 -0
  104. moai_adk/core/template/__init__.py +0 -1
  105. moai_adk/core/template/backup.py +168 -21
  106. moai_adk/core/template/config.py +141 -45
  107. moai_adk/core/template/languages.py +0 -1
  108. moai_adk/core/template/merger.py +107 -32
  109. moai_adk/core/template/processor.py +1075 -74
  110. moai_adk/core/template_engine.py +319 -0
  111. moai_adk/core/template_variable_synchronizer.py +431 -0
  112. moai_adk/core/unified_permission_manager.py +745 -0
  113. moai_adk/core/user_behavior_analytics.py +851 -0
  114. moai_adk/core/version_sync.py +477 -0
  115. moai_adk/foundation/__init__.py +37 -0
  116. moai_adk/foundation/backend.py +1027 -0
  117. moai_adk/foundation/database.py +1115 -0
  118. moai_adk/foundation/devops.py +1585 -0
  119. moai_adk/foundation/ears.py +431 -0
  120. moai_adk/foundation/frontend.py +870 -0
  121. moai_adk/foundation/git/__init__.py +376 -0
  122. moai_adk/foundation/git/commit_templates.py +557 -0
  123. moai_adk/foundation/langs.py +484 -0
  124. moai_adk/foundation/ml_ops.py +1162 -0
  125. moai_adk/foundation/testing.py +1524 -0
  126. moai_adk/foundation/trust/trust_principles.py +676 -0
  127. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  128. moai_adk/loop/__init__.py +54 -0
  129. moai_adk/loop/controller.py +305 -0
  130. moai_adk/loop/feedback.py +230 -0
  131. moai_adk/loop/state.py +209 -0
  132. moai_adk/loop/storage.py +220 -0
  133. moai_adk/lsp/__init__.py +70 -0
  134. moai_adk/lsp/client.py +320 -0
  135. moai_adk/lsp/models.py +261 -0
  136. moai_adk/lsp/protocol.py +404 -0
  137. moai_adk/lsp/server_manager.py +248 -0
  138. moai_adk/project/__init__.py +0 -0
  139. moai_adk/project/configuration.py +1091 -0
  140. moai_adk/project/documentation.py +566 -0
  141. moai_adk/project/schema.py +447 -0
  142. moai_adk/py.typed +0 -0
  143. moai_adk/ralph/__init__.py +37 -0
  144. moai_adk/ralph/engine.py +307 -0
  145. moai_adk/rank/__init__.py +21 -0
  146. moai_adk/rank/auth.py +425 -0
  147. moai_adk/rank/client.py +557 -0
  148. moai_adk/rank/config.py +147 -0
  149. moai_adk/rank/hook.py +1503 -0
  150. moai_adk/rank/py.typed +0 -0
  151. moai_adk/statusline/__init__.py +41 -0
  152. moai_adk/statusline/alfred_detector.py +105 -0
  153. moai_adk/statusline/config.py +376 -0
  154. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  155. moai_adk/statusline/git_collector.py +190 -0
  156. moai_adk/statusline/main.py +341 -0
  157. moai_adk/statusline/memory_collector.py +268 -0
  158. moai_adk/statusline/metrics_tracker.py +78 -0
  159. moai_adk/statusline/renderer.py +359 -0
  160. moai_adk/statusline/update_checker.py +129 -0
  161. moai_adk/statusline/version_reader.py +741 -0
  162. moai_adk/tag_system/__init__.py +48 -0
  163. moai_adk/tag_system/atomic_ops.py +117 -0
  164. moai_adk/tag_system/linkage.py +335 -0
  165. moai_adk/tag_system/parser.py +176 -0
  166. moai_adk/tag_system/validator.py +200 -0
  167. moai_adk/templates/.claude/agents/moai/builder-agent.md +490 -0
  168. moai_adk/templates/.claude/agents/moai/builder-command.md +1218 -0
  169. moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
  170. moai_adk/templates/.claude/agents/moai/builder-skill.md +682 -0
  171. moai_adk/templates/.claude/agents/moai/expert-backend.md +963 -0
  172. moai_adk/templates/.claude/agents/moai/expert-debug.md +407 -0
  173. moai_adk/templates/.claude/agents/moai/expert-devops.md +722 -0
  174. moai_adk/templates/.claude/agents/moai/expert-frontend.md +748 -0
  175. moai_adk/templates/.claude/agents/moai/expert-performance.md +661 -0
  176. moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
  177. moai_adk/templates/.claude/agents/moai/expert-security.md +525 -0
  178. moai_adk/templates/.claude/agents/moai/expert-testing.md +737 -0
  179. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +438 -0
  180. moai_adk/templates/.claude/agents/moai/manager-docs.md +578 -0
  181. moai_adk/templates/.claude/agents/moai/manager-git.md +1092 -0
  182. moai_adk/templates/.claude/agents/moai/manager-project.md +971 -0
  183. moai_adk/templates/.claude/agents/moai/manager-quality.md +641 -0
  184. moai_adk/templates/.claude/agents/moai/manager-spec.md +815 -0
  185. moai_adk/templates/.claude/agents/moai/manager-strategy.md +811 -0
  186. moai_adk/templates/.claude/agents/moai/manager-tdd.md +797 -0
  187. moai_adk/templates/.claude/commands/moai/0-project.md +438 -0
  188. moai_adk/templates/.claude/commands/moai/1-plan.md +1447 -0
  189. moai_adk/templates/.claude/commands/moai/2-run.md +850 -0
  190. moai_adk/templates/.claude/commands/moai/3-sync.md +1398 -0
  191. moai_adk/templates/.claude/commands/moai/9-feedback.md +330 -0
  192. moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
  193. moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
  194. moai_adk/templates/.claude/commands/moai/fix.md +264 -0
  195. moai_adk/templates/.claude/commands/moai/loop.md +363 -0
  196. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  197. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  198. moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
  199. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +41 -0
  200. moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
  201. moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
  202. moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/checkpoint.py +13 -37
  203. moai_adk/templates/.claude/hooks/moai/lib/common.py +161 -0
  204. moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
  205. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +442 -0
  206. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  207. moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
  208. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  209. moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
  210. moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
  211. moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
  212. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +592 -0
  213. moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
  214. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +417 -0
  215. moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
  216. moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
  217. moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
  218. moai_adk/templates/.claude/hooks/moai/lib/models.py +104 -0
  219. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +219 -0
  220. moai_adk/templates/.claude/hooks/moai/lib/project.py +777 -0
  221. moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
  222. moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
  223. moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
  224. moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
  225. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  226. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  227. moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
  228. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +542 -0
  229. moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
  230. moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
  231. moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
  232. moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
  233. moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
  234. moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
  235. moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
  236. moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
  237. moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
  238. moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
  239. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +894 -0
  240. moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
  241. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1170 -0
  242. moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
  243. moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
  244. moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
  245. moai_adk/templates/.claude/output-styles/moai/r2d2.md +643 -0
  246. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  247. moai_adk/templates/.claude/settings.json +177 -72
  248. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +303 -0
  249. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +252 -0
  250. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +56 -0
  251. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +120 -0
  252. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  253. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +185 -0
  254. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +207 -0
  255. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +234 -0
  256. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +132 -281
  257. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +610 -1525
  258. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +423 -619
  259. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +133 -77
  260. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +817 -16
  261. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  262. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  263. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  264. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  265. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +532 -17
  266. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +91 -78
  267. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +955 -16
  268. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
  269. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
  270. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
  271. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
  272. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
  273. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
  274. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +651 -18
  275. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +234 -0
  276. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  277. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  278. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  279. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  280. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  281. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  282. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +189 -0
  283. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  284. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +327 -0
  285. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  286. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  287. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  288. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  289. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  290. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  291. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +225 -0
  292. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  293. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
  294. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  295. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
  296. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +739 -0
  297. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
  298. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
  299. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
  300. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +670 -0
  301. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  302. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  303. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
  304. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
  305. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
  306. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  307. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +467 -0
  308. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
  309. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +420 -0
  310. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  311. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  312. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  313. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  314. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  315. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  316. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  317. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +221 -0
  318. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  319. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  320. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +242 -0
  321. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  322. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  323. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  324. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  325. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
  326. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
  327. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +228 -0
  328. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  329. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  330. moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
  331. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  332. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
  333. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +171 -0
  334. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
  335. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  336. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +239 -0
  337. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
  338. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
  339. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  340. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +311 -0
  341. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  342. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  343. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  344. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  345. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  346. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  347. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +180 -0
  348. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  349. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  350. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  351. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  352. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  353. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  354. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  355. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  356. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  357. moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
  358. moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
  359. moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
  360. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +96 -77
  361. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1226 -16
  362. moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
  363. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1119 -14
  364. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +80 -79
  365. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +572 -16
  366. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
  367. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
  368. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
  369. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
  370. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
  371. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +388 -15
  372. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +135 -0
  373. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
  374. moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
  375. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
  376. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +104 -0
  377. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  378. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  379. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +153 -80
  380. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +906 -16
  381. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +721 -15
  382. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +117 -80
  383. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +851 -16
  384. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +278 -18
  385. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +133 -79
  386. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +960 -16
  387. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1528 -17
  388. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +100 -79
  389. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +993 -16
  390. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +549 -18
  391. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +135 -76
  392. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1595 -16
  393. moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
  394. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1309 -16
  395. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +141 -341
  396. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +849 -496
  397. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +731 -243
  398. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +134 -76
  399. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1141 -16
  400. moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
  401. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1074 -17
  402. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +136 -77
  403. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1093 -16
  404. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
  405. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
  406. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1010 -17
  407. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +112 -78
  408. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +646 -16
  409. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +491 -18
  410. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +113 -75
  411. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +620 -16
  412. moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
  413. moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
  414. moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
  415. moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
  416. moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
  417. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +410 -17
  418. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -83
  419. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +905 -16
  420. moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
  421. moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
  422. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
  423. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
  424. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +659 -17
  425. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +115 -82
  426. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1076 -16
  427. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +718 -21
  428. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +145 -0
  429. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  430. moai_adk/templates/.claude/skills/moai-library-mermaid/modules/advanced-patterns.md +465 -0
  431. moai_adk/templates/.claude/skills/moai-library-mermaid/modules/optimization.md +440 -0
  432. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  433. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +143 -0
  434. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  435. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  436. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +336 -0
  437. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +350 -0
  438. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  439. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  440. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  441. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  442. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  443. moai_adk/templates/.claude/skills/moai-library-nextra/modules/optimization.md +303 -0
  444. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  445. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +175 -0
  446. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  447. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  448. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  449. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  450. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  451. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  452. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +284 -0
  453. moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
  454. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
  455. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
  456. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
  457. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
  458. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
  459. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
  460. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
  461. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
  462. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
  463. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
  464. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
  465. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
  466. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
  467. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
  468. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
  469. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
  470. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
  471. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
  472. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
  473. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
  474. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
  475. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
  476. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
  477. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
  478. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
  479. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
  480. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
  481. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
  482. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
  483. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
  484. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
  485. moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
  486. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +135 -0
  487. moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
  488. moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
  489. moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
  490. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +158 -0
  491. moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
  492. moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
  493. moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
  494. moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
  495. moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
  496. moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
  497. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +166 -0
  498. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
  499. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
  500. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
  501. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
  502. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
  503. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +127 -0
  504. moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
  505. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
  506. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
  507. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
  508. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
  509. moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
  510. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +156 -0
  511. moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
  512. moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
  513. moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
  514. moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
  515. moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
  516. moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
  517. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +146 -0
  518. moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
  519. moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
  520. moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
  521. moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
  522. moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
  523. moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
  524. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +141 -0
  525. moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
  526. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
  527. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
  528. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
  529. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
  530. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
  531. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
  532. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
  533. moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
  534. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +132 -0
  535. moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
  536. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
  537. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
  538. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
  539. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
  540. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
  541. moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
  542. moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
  543. moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
  544. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
  545. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
  546. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
  547. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
  548. moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
  549. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
  550. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
  551. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
  552. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
  553. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
  554. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
  555. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
  556. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
  557. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
  558. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +251 -0
  559. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  560. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/modules/advanced-patterns.md +379 -0
  561. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/modules/optimization.md +286 -0
  562. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  563. moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
  564. moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
  565. moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
  566. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  567. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +287 -0
  568. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  569. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  570. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  571. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  572. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  573. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  574. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  575. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  576. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  577. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  578. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  579. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  580. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  581. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +337 -0
  582. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  583. moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
  584. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  585. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +270 -0
  586. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  587. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  588. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  589. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  590. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  591. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  592. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +269 -0
  593. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  594. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  595. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  596. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  597. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  598. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +269 -0
  599. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/advanced-patterns.md +576 -0
  600. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +302 -0
  601. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
  602. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
  603. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
  604. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
  605. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
  606. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
  607. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
  608. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
  609. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
  610. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +263 -0
  611. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
  612. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
  613. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
  614. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
  615. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
  616. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/optimization.md +505 -0
  617. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
  618. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
  619. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
  620. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
  621. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
  622. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
  623. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
  624. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +327 -0
  625. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
  626. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
  627. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
  628. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
  629. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +313 -0
  630. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
  631. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
  632. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
  633. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
  634. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
  635. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
  636. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +265 -0
  637. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
  638. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  639. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  640. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  641. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  642. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  643. moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
  644. moai_adk/templates/.claude/skills/moai-workflow-worktree/examples.md +606 -0
  645. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
  646. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
  647. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
  648. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
  649. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
  650. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
  651. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
  652. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
  653. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
  654. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
  655. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
  656. moai_adk/templates/.claude/skills/moai-workflow-worktree/reference.md +357 -0
  657. moai_adk/templates/.git-hooks/pre-commit +128 -0
  658. moai_adk/templates/.git-hooks/pre-push +468 -0
  659. moai_adk/templates/.github/workflows/ci-universal.yml +1314 -0
  660. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  661. moai_adk/templates/.github/workflows/spec-issue-sync.yml +206 -36
  662. moai_adk/templates/.gitignore +152 -13
  663. moai_adk/templates/.lsp.json +152 -0
  664. moai_adk/templates/.mcp.json +13 -0
  665. moai_adk/templates/.moai/announcements/en.json +18 -0
  666. moai_adk/templates/.moai/announcements/ja.json +18 -0
  667. moai_adk/templates/.moai/announcements/ko.json +18 -0
  668. moai_adk/templates/.moai/announcements/zh.json +18 -0
  669. moai_adk/templates/.moai/config/config.yaml +64 -0
  670. moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
  671. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  672. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  673. moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
  674. moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
  675. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  676. moai_adk/templates/.moai/config/sections/quality.yaml +55 -0
  677. moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
  678. moai_adk/templates/.moai/config/sections/system.yaml +59 -0
  679. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  680. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  681. moai_adk/templates/.moai/llm-configs/glm.json +22 -0
  682. moai_adk/templates/CLAUDE.ja.md +343 -0
  683. moai_adk/templates/CLAUDE.ko.md +343 -0
  684. moai_adk/templates/CLAUDE.md +274 -246
  685. moai_adk/templates/CLAUDE.zh.md +343 -0
  686. moai_adk/utils/__init__.py +24 -2
  687. moai_adk/utils/banner.py +9 -13
  688. moai_adk/utils/common.py +331 -0
  689. moai_adk/utils/link_validator.py +241 -0
  690. moai_adk/utils/logger.py +4 -9
  691. moai_adk/utils/safe_file_reader.py +206 -0
  692. moai_adk/utils/timeout.py +160 -0
  693. moai_adk/utils/toon_utils.py +256 -0
  694. moai_adk/version.py +22 -0
  695. moai_adk-1.1.0.dist-info/METADATA +2443 -0
  696. moai_adk-1.1.0.dist-info/RECORD +701 -0
  697. {moai_adk-0.8.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +1 -1
  698. moai_adk-1.1.0.dist-info/entry_points.txt +5 -0
  699. moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
  700. moai_adk/cli/commands/backup.py +0 -80
  701. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -293
  702. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -196
  703. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -207
  704. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -375
  705. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -343
  706. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -246
  707. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -320
  708. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -837
  709. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -272
  710. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -265
  711. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -311
  712. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -352
  713. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1184
  714. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -665
  715. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -488
  716. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -623
  717. moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -313
  718. moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
  719. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -174
  720. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -170
  721. moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -67
  722. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -416
  723. moai_adk/templates/.claude/hooks/alfred/core/tags.py +0 -198
  724. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -21
  725. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
  726. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -161
  727. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -90
  728. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -42
  729. moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
  730. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
  731. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
  732. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
  733. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  734. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  735. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  736. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  737. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  738. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  739. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  740. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  741. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  742. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  743. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  744. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  745. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  746. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  747. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  748. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  749. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  750. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  751. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  752. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  753. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  754. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  755. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  756. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  757. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  758. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  759. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  760. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  761. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  762. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  763. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  764. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  765. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  766. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  767. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  768. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  769. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  770. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  771. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  772. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  773. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  774. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  775. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  776. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  777. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  778. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  779. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  780. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  781. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  782. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  783. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  784. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  785. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  786. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  787. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  788. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  789. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  790. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  791. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  792. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  793. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  794. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  795. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  796. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  797. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  798. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  799. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  800. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  801. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  802. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  803. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  804. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  805. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -113
  806. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  807. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  808. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  809. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  810. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  811. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  812. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  813. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  814. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  815. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  816. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  817. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  818. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  819. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  820. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  821. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  822. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  823. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  824. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  825. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  826. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  827. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  828. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  829. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  830. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  831. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  832. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  833. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  834. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  835. moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -482
  836. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -278
  837. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  838. moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -477
  839. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  840. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  841. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  842. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  843. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -271
  844. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  845. moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -583
  846. moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -526
  847. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -465
  848. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -328
  849. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -312
  850. moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  851. moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -285
  852. moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -278
  853. moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -303
  854. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
  855. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -218
  856. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -161
  857. moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
  858. moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
  859. moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
  860. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  861. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -256
  862. moai_adk/templates/.moai/config.json +0 -96
  863. moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -208
  864. moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -369
  865. moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -539
  866. moai_adk/templates/.moai/memory/CONFIG-SCHEMA.md +0 -444
  867. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
  868. moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -220
  869. moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -218
  870. moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
  871. moai_adk/templates/.moai/memory/config-schema.md +0 -444
  872. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
  873. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  874. moai_adk/templates/.moai/project/product.md +0 -161
  875. moai_adk/templates/.moai/project/structure.md +0 -156
  876. moai_adk/templates/.moai/project/tech.md +0 -227
  877. moai_adk/templates/__init__.py +0 -2
  878. moai_adk-0.8.0.dist-info/METADATA +0 -1722
  879. moai_adk-0.8.0.dist-info/RECORD +0 -282
  880. moai_adk-0.8.0.dist-info/entry_points.txt +0 -2
  881. moai_adk-0.8.0.dist-info/licenses/LICENSE +0 -21
@@ -1,660 +1,464 @@
1
- # Backend Architecture Reference
2
-
3
- ## Architecture Decision Matrix
4
-
5
- ### When to Choose Each Pattern
6
-
7
- | Pattern | Team Size | Complexity | Deployment | Scaling | Use Cases |
8
- |---------|-----------|------------|------------|---------|-----------|
9
- | **Layered Monolith** | 1-5 | Low-Medium | Simple | Vertical | MVPs, startups, internal tools |
10
- | **Modular Monolith** | 5-15 | Medium | Simple | Vertical | Growing products, clear domains |
11
- | **Microservices** | 15+ | High | Complex | Horizontal | Large-scale, multi-team, polyglot |
12
- | **Serverless** | Any | Low-Medium | Managed | Auto | Event-driven, spiky traffic, rapid prototyping |
13
- | **Event-Driven** | 10+ | High | Complex | Horizontal | Real-time analytics, decoupled systems, audit logs |
14
-
15
- ### Decision Criteria
16
-
17
- **Choose Layered Monolith when**:
18
- - Small team (1-5 developers)
19
- - Rapid prototyping phase
20
- - Simple deployment requirements
21
- - Limited operational expertise
22
- - Cost-sensitive project
23
-
24
- **Choose Modular Monolith when**:
25
- - Growing team (5-15 developers)
26
- - Clear domain boundaries emerging
27
- - Need independent module development
28
- - Want extraction path to microservices
29
- - Prefer simple deployment
30
-
31
- **Choose Microservices when**:
32
- - Large team (15+ developers)
33
- - Multiple independent products/teams
34
- - Polyglot technology requirements
35
- - Need independent scaling per service
36
- - High operational maturity (Kubernetes, Istio)
37
-
38
- **Choose Serverless when**:
39
- - Event-driven workloads
40
- - Spiky or unpredictable traffic
41
- - Want zero infrastructure management
42
- - Cost optimization for low usage
43
- - Rapid feature iteration
44
-
45
- **Choose Event-Driven when**:
46
- - Real-time data processing
47
- - Audit logging requirements
48
- - Decoupled system integration
49
- - Complex business workflows
50
- - Need event replay capability
1
+ # Backend Development Reference
51
2
 
52
- ## Cloud-Native Tool Comparison
53
-
54
- ### Container Orchestration
55
-
56
- | Tool | Complexity | Ecosystem | Scaling | Multi-cloud | Production Ready |
57
- |------|------------|-----------|---------|-------------|------------------|
58
- | **Kubernetes 1.31.x** | High | Massive | Excellent | Yes | Yes |
59
- | **Docker Swarm** | Low | Limited | Good | Partial | Yes |
60
- | **AWS ECS** | Medium | AWS only | Good | No | Yes |
61
- | **Nomad** | Medium | HashiCorp | Good | Yes | Yes |
62
-
63
- **Recommendation**: Kubernetes 1.31.x for production, Docker Compose for local dev.
64
-
65
- ### Service Mesh
66
-
67
- | Tool | Complexity | Features | Performance | Maturity |
68
- |------|------------|----------|-------------|----------|
69
- | **Istio 1.21.x** | High | Comprehensive | Good | Mature |
70
- | **Linkerd 2.14.x** | Low | Core features | Excellent | Mature |
71
- | **Consul Connect** | Medium | Full stack | Good | Mature |
72
- | **AWS App Mesh** | Medium | AWS native | Good | Growing |
73
-
74
- **Recommendation**: Istio 1.21.x for full features, Linkerd for simplicity.
75
-
76
- ### Message Brokers
77
-
78
- | Tool | Throughput | Durability | Ordering | Complexity | Use Case |
79
- |------|------------|------------|----------|------------|----------|
80
- | **Apache Kafka 3.7.x** | Very High | Excellent | Partition | High | Event streaming, logs |
81
- | **RabbitMQ 3.13.x** | High | Good | Queue | Medium | Task queues, RPC |
82
- | **Redis Streams 7.2.x** | Very High | Good | Stream | Low | Real-time, lightweight |
83
- | **Amazon SQS** | Medium | Excellent | Best-effort | Low | Serverless, AWS |
84
- | **NATS 2.10.x** | Very High | Good | Stream | Low | Microservices messaging |
85
- | **Apache Pulsar 3.2.x** | Very High | Excellent | Partition | High | Multi-tenancy, geo-replication |
86
-
87
- **Recommendation**: Kafka 3.7.x for event streaming, RabbitMQ 3.13.x for task queues, NATS for lightweight microservices messaging.
88
-
89
- ### Observability Stack Comparison
90
-
91
- | Stack | Traces | Metrics | Logs | Complexity | Cost |
92
- |-------|--------|---------|------|------------|------|
93
- | **OpenTelemetry + Prometheus + Jaeger + ELK** | Yes | Yes | Yes | High | OSS |
94
- | **Datadog** | Yes | Yes | Yes | Low | High |
95
- | **New Relic** | Yes | Yes | Yes | Low | High |
96
- | **AWS X-Ray + CloudWatch** | Yes | Yes | Yes | Medium | Medium |
97
- | **Grafana Cloud** | Yes | Yes | Yes | Low | Medium |
98
-
99
- **Recommendation**: OpenTelemetry 1.24.0 + Prometheus 2.48.x + Jaeger 1.51.x for vendor-neutral OSS stack.
100
-
101
- ### Database Selection Matrix
3
+ ## API Reference
102
4
 
103
- | Database | Type | Scalability | Consistency | Query Flexibility | Use Case |
104
- |----------|------|-------------|-------------|-------------------|----------|
105
- | **PostgreSQL 16.x** | SQL | Vertical + Read Replicas | Strong ACID | SQL + JSONB | Relational, complex queries |
106
- | **MongoDB 8.0.x** | Document | Horizontal (Sharding) | Tunable | Flexible schema | Rapid prototyping, catalogs |
107
- | **Redis 7.2.x** | Key-Value | Horizontal (Cluster) | Eventual | Limited | Caching, sessions, pub/sub |
108
- | **Cassandra 4.1.x** | Wide-Column | Horizontal | Tunable | CQL | Time-series, write-heavy |
109
-
110
- **Recommendation**: PostgreSQL 16.x as default, MongoDB 8.0.x for schema flexibility.
111
-
112
- ## Deployment Strategies
113
-
114
- ### Blue-Green Deployment
115
-
116
- **Pattern**:
117
- - Two identical production environments (Blue = current, Green = new)
118
- - Switch traffic after validation
119
- - Instant rollback capability
120
-
121
- **Pros**:
122
- - Zero downtime
123
- - Easy rollback
124
- - Full validation before switch
125
-
126
- **Cons**:
127
- - Double infrastructure cost
128
- - Data migration complexity
129
- - Requires load balancer
5
+ ### FastAPI Application Setup
130
6
 
131
- **Best for**: Critical services with infrequent releases.
132
-
133
- ### Canary Deployment
134
-
135
- **Pattern**:
136
- - Gradually shift traffic to new version (5% → 25% → 50% → 100%)
137
- - Monitor metrics at each stage
138
- - Auto-rollback on errors
139
-
140
- **Pros**:
141
- - Risk mitigation
142
- - Real-world testing
143
- - Minimal infrastructure duplication
144
-
145
- **Cons**:
146
- - Requires advanced routing (Istio)
147
- - Longer deployment time
148
- - Version compatibility required
149
-
150
- **Best for**: User-facing services with high traffic.
151
-
152
- **Istio 1.21.x Implementation**:
153
- ```yaml
154
- apiVersion: networking.istio.io/v1beta1
155
- kind: VirtualService
156
- metadata:
157
- name: backend-canary
158
- spec:
159
- hosts:
160
- - backend.example.com
161
- http:
162
- - match:
163
- - headers:
164
- x-canary:
165
- exact: "true"
166
- route:
167
- - destination:
168
- host: backend
169
- subset: v2
170
- - route:
171
- - destination:
172
- host: backend
173
- subset: v1
174
- weight: 90
175
- - destination:
176
- host: backend
177
- subset: v2
178
- weight: 10
7
+ Complete application structure:
8
+ ```python
9
+ from fastapi import FastAPI, Depends, HTTPException, status
10
+ from fastapi.middleware.cors import CORSMiddleware
11
+ from fastapi.security import OAuth2PasswordBearer
12
+ from contextlib import asynccontextmanager
13
+
14
+ @asynccontextmanager
15
+ async def lifespan(app: FastAPI):
16
+ # Startup
17
+ await database.connect()
18
+ await cache.connect()
19
+ yield
20
+ # Shutdown
21
+ await database.disconnect()
22
+ await cache.disconnect()
23
+
24
+ app = FastAPI(
25
+ title="API Service",
26
+ version="2.0.0",
27
+ lifespan=lifespan,
28
+ docs_url="/docs",
29
+ redoc_url="/redoc",
30
+ openapi_url="/openapi.json"
31
+ )
32
+
33
+ app.add_middleware(
34
+ CORSMiddleware,
35
+ allow_origins=["*"],
36
+ allow_credentials=True,
37
+ allow_methods=["*"],
38
+ allow_headers=["*"],
39
+ )
179
40
  ```
180
41
 
181
- ### Rolling Update
182
-
183
- **Pattern**:
184
- - Incrementally replace instances (pod-by-pod)
185
- - Kubernetes default strategy
186
- - Health checks control rollout
187
-
188
- **Pros**:
189
- - Built-in Kubernetes support
190
- - No extra infrastructure
191
- - Automatic rollback on failure
192
-
193
- **Cons**:
194
- - Version compatibility required
195
- - Slower than blue-green
196
- - Mixed versions during rollout
42
+ ### Database Connection Patterns
197
43
 
198
- **Best for**: Standard microservices deployments.
199
-
200
- **Kubernetes Configuration**:
201
- ```yaml
202
- spec:
203
- replicas: 10
204
- strategy:
205
- type: RollingUpdate
206
- rollingUpdate:
207
- maxSurge: 2
208
- maxUnavailable: 1
44
+ SQLAlchemy Async Engine:
45
+ ```python
46
+ from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
47
+ from sqlalchemy.orm import sessionmaker
48
+
49
+ DATABASE_URL = "postgresql+asyncpg://user:pass@localhost/db"
50
+
51
+ engine = create_async_engine(
52
+ DATABASE_URL,
53
+ pool_size=20,
54
+ max_overflow=30,
55
+ pool_pre_ping=True,
56
+ pool_recycle=3600,
57
+ echo=False
58
+ )
59
+
60
+ async_session = sessionmaker(
61
+ engine, class_=AsyncSession, expire_on_commit=False
62
+ )
63
+
64
+ async def get_db():
65
+ async with async_session() as session:
66
+ try:
67
+ yield session
68
+ await session.commit()
69
+ except Exception:
70
+ await session.rollback()
71
+ raise
209
72
  ```
210
73
 
211
- ### A/B Testing (Feature Flags)
212
-
213
- **Pattern**:
214
- - Route users to different features based on criteria
215
- - Measure business metrics
216
- - Gradual feature rollout
217
-
218
- **Pros**:
219
- - Business metric validation
220
- - User segmentation
221
- - Independent of deployment
222
-
223
- **Cons**:
224
- - Code complexity (feature flags)
225
- - Requires analytics
226
- - Technical debt if not cleaned
227
-
228
- **Best for**: Product experiments, new features.
229
-
230
- **Tools**: LaunchDarkly, Split.io, Unleash, AWS AppConfig.
231
-
232
- ## Monitoring and Observability Setup
233
-
234
- ### OpenTelemetry 1.24.0 Integration
235
-
236
- **Step 1: Instrument Application**:
74
+ Motor (MongoDB) Connection:
237
75
  ```python
238
- from opentelemetry import trace
239
- from opentelemetry.sdk.trace import TracerProvider
240
- from opentelemetry.sdk.trace.export import BatchSpanProcessor
241
- from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
76
+ from motor.motor_asyncio import AsyncIOMotorClient
242
77
 
243
- trace.set_tracer_provider(TracerProvider())
244
- tracer = trace.get_tracer(__name__)
78
+ MONGODB_URL = "mongodb://localhost:27017"
245
79
 
246
- otlp_exporter = OTLPSpanExporter(endpoint="otel-collector:4317")
247
- span_processor = BatchSpanProcessor(otlp_exporter)
248
- trace.get_tracer_provider().add_span_processor(span_processor)
249
- ```
80
+ client = AsyncIOMotorClient(
81
+ MONGODB_URL,
82
+ maxPoolSize=50,
83
+ minPoolSize=10,
84
+ maxIdleTimeMS=50000,
85
+ waitQueueTimeoutMS=5000
86
+ )
250
87
 
251
- **Step 2: Deploy Collector**:
252
- ```yaml
253
- apiVersion: apps/v1
254
- kind: Deployment
255
- metadata:
256
- name: otel-collector
257
- spec:
258
- template:
259
- spec:
260
- containers:
261
- - name: otel-collector
262
- image: otel/opentelemetry-collector:0.92.0
263
- ports:
264
- - containerPort: 4317 # OTLP gRPC
265
- - containerPort: 4318 # OTLP HTTP
266
- ```
88
+ db = client.myapp
267
89
 
268
- **Step 3: Configure Backends**:
269
- ```yaml
270
- # otel-collector-config.yaml
271
- receivers:
272
- otlp:
273
- protocols:
274
- grpc:
275
- http:
276
-
277
- processors:
278
- batch:
279
-
280
- exporters:
281
- prometheus:
282
- endpoint: "0.0.0.0:8889"
283
- jaeger:
284
- endpoint: "jaeger:14250"
285
- elasticsearch:
286
- endpoints: ["http://elasticsearch:9200"]
287
-
288
- service:
289
- pipelines:
290
- traces:
291
- receivers: [otlp]
292
- processors: [batch]
293
- exporters: [jaeger]
294
- metrics:
295
- receivers: [otlp]
296
- processors: [batch]
297
- exporters: [prometheus]
298
- logs:
299
- receivers: [otlp]
300
- processors: [batch]
301
- exporters: [elasticsearch]
90
+ async def get_mongodb():
91
+ return db
302
92
  ```
303
93
 
304
- ### Prometheus 2.48.x Setup
94
+ Redis Connection:
95
+ ```python
96
+ import redis.asyncio as redis
305
97
 
306
- **Step 1: Install Prometheus Operator**:
307
- ```bash
308
- helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
309
- helm install prometheus prometheus-community/kube-prometheus-stack \
310
- --set prometheus.prometheusSpec.retention=30d \
311
- --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=50Gi
312
- ```
98
+ REDIS_URL = "redis://localhost:6379"
313
99
 
314
- **Step 2: ServiceMonitor for Application**:
315
- ```yaml
316
- apiVersion: monitoring.coreos.com/v1
317
- kind: ServiceMonitor
318
- metadata:
319
- name: backend-metrics
320
- spec:
321
- selector:
322
- matchLabels:
323
- app: backend
324
- endpoints:
325
- - port: metrics
326
- interval: 15s
327
- ```
100
+ redis_pool = redis.ConnectionPool.from_url(
101
+ REDIS_URL,
102
+ max_connections=50,
103
+ decode_responses=True
104
+ )
328
105
 
329
- **Step 3: Alerting Rules**:
330
- ```yaml
331
- apiVersion: monitoring.coreos.com/v1
332
- kind: PrometheusRule
333
- metadata:
334
- name: backend-alerts
335
- spec:
336
- groups:
337
- - name: backend
338
- interval: 30s
339
- rules:
340
- - alert: HighErrorRate
341
- expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
342
- for: 5m
343
- labels:
344
- severity: critical
345
- annotations:
346
- summary: "High error rate detected"
106
+ async def get_redis():
107
+ return redis.Redis(connection_pool=redis_pool)
347
108
  ```
348
109
 
349
- ### Jaeger 1.51.x Deployment
110
+ ### Authentication Middleware
350
111
 
351
- **All-in-One (Development)**:
352
- ```bash
353
- kubectl create deployment jaeger --image=jaegertracing/all-in-one:1.51
354
- kubectl expose deployment jaeger --port=16686 --target-port=16686 --type=LoadBalancer
112
+ JWT Authentication:
113
+ ```python
114
+ from jose import jwt, JWTError
115
+ from datetime import datetime, timedelta
116
+ from passlib.context import CryptContext
117
+
118
+ pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
119
+ oauth2_scheme = OAuth2PasswordBearer(tokenUrl="auth/login")
120
+
121
+ SECRET_KEY = "your-secret-key"
122
+ ALGORITHM = "HS256"
123
+ ACCESS_TOKEN_EXPIRE_MINUTES = 30
124
+
125
+ def create_access_token(data: dict, expires_delta: timedelta = None):
126
+ to_encode = data.copy()
127
+ expire = datetime.utcnow() + (expires_delta or timedelta(minutes=15))
128
+ to_encode.update({"exp": expire})
129
+ return jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
130
+
131
+ async def get_current_user(token: str = Depends(oauth2_scheme)):
132
+ credentials_exception = HTTPException(
133
+ status_code=status.HTTP_401_UNAUTHORIZED,
134
+ detail="Could not validate credentials",
135
+ headers={"WWW-Authenticate": "Bearer"},
136
+ )
137
+ try:
138
+ payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
139
+ user_id: str = payload.get("sub")
140
+ if user_id is None:
141
+ raise credentials_exception
142
+ except JWTError:
143
+ raise credentials_exception
144
+ return await get_user_by_id(user_id)
355
145
  ```
356
146
 
357
- **Production (with Elasticsearch)**:
358
- ```bash
359
- helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
360
- helm install jaeger jaegertracing/jaeger \
361
- --set provisionDataStore.cassandra=false \
362
- --set provisionDataStore.elasticsearch=true \
363
- --set storage.type=elasticsearch \
364
- --set storage.elasticsearch.host=elasticsearch-master \
365
- --set storage.elasticsearch.port=9200
366
- ```
147
+ ---
367
148
 
368
- ### Grafana 10.x Dashboards
369
-
370
- **Key Dashboards**:
371
- - **RED Metrics**: Rate, Errors, Duration per service
372
- - **Kubernetes Cluster**: Node/pod resource usage
373
- - **Database Performance**: Query latency, connection pool
374
- - **Application Logs**: Error rate trends, log volume
375
-
376
- **Import Community Dashboards**:
377
- - Kubernetes Cluster Monitoring (ID: 7249)
378
- - Node Exporter Full (ID: 1860)
379
- - PostgreSQL Database (ID: 9628)
380
-
381
- ## Performance Benchmarking
382
-
383
- ### Load Testing Tools
384
-
385
- | Tool | Protocol | Complexity | Reporting | Use Case |
386
- |------|----------|------------|-----------|----------|
387
- | **k6** | HTTP, gRPC, WebSocket | Low | Good | API load testing |
388
- | **Gatling** | HTTP, WebSocket | Medium | Excellent | Complex scenarios |
389
- | **JMeter** | HTTP, JDBC, JMS, etc. | High | Good | Enterprise testing |
390
- | **Locust** | HTTP, custom | Low | Good | Python-based scripting |
391
-
392
- **Recommendation**: k6 for API load testing, Gatling for complex user journeys.
393
-
394
- ### k6 Example (HTTP API)
395
-
396
- ```javascript
397
- import http from 'k6/http';
398
- import { check, sleep } from 'k6';
399
-
400
- export let options = {
401
- stages: [
402
- { duration: '2m', target: 100 }, // Ramp-up
403
- { duration: '5m', target: 100 }, // Steady
404
- { duration: '2m', target: 0 }, // Ramp-down
405
- ],
406
- thresholds: {
407
- http_req_duration: ['p(95)<500'], // 95% under 500ms
408
- http_req_failed: ['rate<0.01'], // Error rate < 1%
409
- },
410
- };
411
-
412
- export default function () {
413
- let res = http.get('https://api.example.com/users');
414
- check(res, {
415
- 'status is 200': (r) => r.status === 200,
416
- 'response time < 500ms': (r) => r.timings.duration < 500,
417
- });
418
- sleep(1);
419
- }
420
- ```
149
+ ## Configuration Options
150
+
151
+ ### Application Configuration
421
152
 
422
- **Run**:
423
- ```bash
424
- k6 run --vus 100 --duration 10m load-test.js
153
+ ```yaml
154
+ # config/settings.yaml
155
+ app:
156
+ name: "Backend Service"
157
+ version: "2.0.0"
158
+ debug: false
159
+ environment: "production"
160
+
161
+ server:
162
+ host: "0.0.0.0"
163
+ port: 8000
164
+ workers: 4
165
+ reload: false
166
+
167
+ database:
168
+ postgresql:
169
+ url: "postgresql+asyncpg://user:pass@localhost/db"
170
+ pool_size: 20
171
+ max_overflow: 30
172
+ pool_pre_ping: true
173
+ mongodb:
174
+ url: "mongodb://localhost:27017"
175
+ database: "myapp"
176
+ max_pool_size: 50
177
+ redis:
178
+ url: "redis://localhost:6379"
179
+ max_connections: 50
180
+
181
+ security:
182
+ secret_key: "${SECRET_KEY}"
183
+ algorithm: "HS256"
184
+ access_token_expire_minutes: 30
185
+ refresh_token_expire_days: 7
186
+
187
+ cors:
188
+ allow_origins:
189
+ - "http://localhost:3000"
190
+ - "https://myapp.com"
191
+ allow_credentials: true
192
+ allow_methods: ["*"]
193
+ allow_headers: ["*"]
194
+
195
+ logging:
196
+ level: "INFO"
197
+ format: "json"
198
+ handlers:
199
+ - console
200
+ - file
425
201
  ```
426
202
 
427
- ### Performance Targets
428
-
429
- | Metric | Target | Good | Excellent |
430
- |--------|--------|------|-----------|
431
- | **API Response Time (p95)** | <500ms | <200ms | <100ms |
432
- | **Error Rate** | <1% | <0.1% | <0.01% |
433
- | **Throughput** | 1000 req/s | 5000 req/s | 10000 req/s |
434
- | **Database Query (p95)** | <100ms | <50ms | <10ms |
435
- | **CPU Usage** | <70% | <50% | <30% |
436
- | **Memory Usage** | <80% | <60% | <40% |
437
-
438
- ## Security Best Practices
439
-
440
- ### OWASP API Security Top 10 2023 Checklist
441
-
442
- - [ ] **API1: Broken Object Level Authorization**
443
- - Implement per-object access control checks
444
- - Validate user owns the resource before access
445
- - Use UUIDs instead of sequential IDs
446
-
447
- - [ ] **API2: Broken Authentication**
448
- - Use industry-standard auth (OAuth 2.0, OpenID Connect)
449
- - Implement rate limiting on auth endpoints
450
- - Rotate secrets regularly
451
-
452
- - [ ] **API3: Broken Object Property Level Authorization**
453
- - Use response DTOs to filter sensitive fields
454
- - Validate input against allowed fields (no mass assignment)
455
- - Implement role-based field visibility
456
-
457
- - [ ] **API4: Unrestricted Resource Consumption**
458
- - Enforce pagination (max 100 items per page)
459
- - Implement rate limiting (Redis-based)
460
- - Set request timeouts and size limits
461
-
462
- - [ ] **API5: Broken Function Level Authorization**
463
- - Validate roles/permissions on every endpoint
464
- - Deny by default, allow explicitly
465
- - Use middleware for consistent checks
466
-
467
- - [ ] **API6: Unrestricted Access to Sensitive Business Flows**
468
- - Implement CAPTCHA for critical flows
469
- - Detect and block automated abuse
470
- - Monitor for unusual patterns
471
-
472
- - [ ] **API7: Server Side Request Forgery (SSRF)**
473
- - Validate and whitelist URLs
474
- - Block private IP ranges
475
- - Use network segmentation
476
-
477
- - [ ] **API8: Security Misconfiguration**
478
- - Disable debug mode in production
479
- - Remove unnecessary endpoints
480
- - Use security headers (HSTS, CSP, etc.)
481
-
482
- - [ ] **API9: Improper Inventory Management**
483
- - Document all API versions
484
- - Deprecate old versions gracefully
485
- - Monitor for unauthorized endpoints
486
-
487
- - [ ] **API10: Unsafe Consumption of APIs**
488
- - Validate external API responses
489
- - Set timeouts for external calls
490
- - Handle partial failures gracefully
491
-
492
- ### Rate Limiting Implementation (Redis 7.2.x)
493
-
494
- **Token Bucket Algorithm**:
495
- ```python
496
- import redis
497
- import time
203
+ ### Environment Variables
498
204
 
499
- def is_rate_limited(user_id: str, max_requests: int = 100, window: int = 60) -> bool:
500
- """Token bucket rate limiting with Redis."""
501
- r = redis.Redis(host='localhost', port=6379, db=0)
502
- key = f"rate_limit:{user_id}"
205
+ APP_ENV - Application environment (development, staging, production)
206
+ DATABASE_URL - Primary database connection string
207
+ MONGODB_URL - MongoDB connection string
208
+ REDIS_URL - Redis connection string
209
+ SECRET_KEY - JWT signing key
210
+ CORS_ORIGINS - Comma-separated allowed origins
211
+ LOG_LEVEL - Logging level (DEBUG, INFO, WARNING, ERROR)
503
212
 
504
- current = r.get(key)
505
- if current is None:
506
- r.setex(key, window, 1)
507
- return False
213
+ ---
508
214
 
509
- current = int(current)
510
- if current >= max_requests:
511
- return True
215
+ ## Integration Patterns
512
216
 
513
- r.incr(key)
514
- return False
515
- ```
217
+ ### Service Layer Pattern
516
218
 
517
- **Sliding Window (Accurate)**:
518
219
  ```python
519
- def sliding_window_rate_limit(user_id: str, max_requests: int = 100, window: int = 60) -> bool:
520
- """Sliding window rate limiting with Redis sorted sets."""
521
- r = redis.Redis(host='localhost', port=6379, db=0)
522
- key = f"rate_limit:{user_id}"
523
- now = time.time()
524
-
525
- # Remove old entries
526
- r.zremrangebyscore(key, 0, now - window)
527
-
528
- # Count requests in window
529
- count = r.zcard(key)
530
- if count >= max_requests:
531
- return True
532
-
533
- # Add current request
534
- r.zadd(key, {str(now): now})
535
- r.expire(key, window)
536
- return False
220
+ from abc import ABC, abstractmethod
221
+ from typing import Generic, TypeVar, List, Optional
222
+
223
+ T = TypeVar('T')
224
+
225
+ class BaseService(ABC, Generic[T]):
226
+ @abstractmethod
227
+ async def get(self, id: int) -> Optional[T]:
228
+ pass
229
+
230
+ @abstractmethod
231
+ async def get_all(self, skip: int = 0, limit: int = 100) -> List[T]:
232
+ pass
233
+
234
+ @abstractmethod
235
+ async def create(self, obj: T) -> T:
236
+ pass
237
+
238
+ @abstractmethod
239
+ async def update(self, id: int, obj: T) -> Optional[T]:
240
+ pass
241
+
242
+ @abstractmethod
243
+ async def delete(self, id: int) -> bool:
244
+ pass
245
+
246
+ class UserService(BaseService[User]):
247
+ def __init__(self, db: AsyncSession, cache: Redis):
248
+ self.db = db
249
+ self.cache = cache
250
+
251
+ async def get(self, id: int) -> Optional[User]:
252
+ # Check cache first
253
+ cached = await self.cache.get(f"user:{id}")
254
+ if cached:
255
+ return User.parse_raw(cached)
256
+
257
+ # Query database
258
+ user = await self.db.get(User, id)
259
+ if user:
260
+ await self.cache.setex(f"user:{id}", 3600, user.json())
261
+ return user
537
262
  ```
538
263
 
539
- ## Cost Optimization
540
-
541
- ### Resource Right-Sizing
264
+ ### Repository Pattern
542
265
 
543
- **Kubernetes Resource Requests/Limits**:
544
- ```yaml
545
- resources:
546
- requests:
547
- cpu: "100m" # Minimum guaranteed
548
- memory: "128Mi"
549
- limits:
550
- cpu: "500m" # Maximum allowed
551
- memory: "512Mi"
266
+ ```python
267
+ from sqlalchemy import select, update, delete
268
+ from sqlalchemy.ext.asyncio import AsyncSession
269
+
270
+ class UserRepository:
271
+ def __init__(self, session: AsyncSession):
272
+ self.session = session
273
+
274
+ async def find_by_id(self, user_id: int) -> Optional[User]:
275
+ result = await self.session.execute(
276
+ select(User).where(User.id == user_id)
277
+ )
278
+ return result.scalar_one_or_none()
279
+
280
+ async def find_by_email(self, email: str) -> Optional[User]:
281
+ result = await self.session.execute(
282
+ select(User).where(User.email == email)
283
+ )
284
+ return result.scalar_one_or_none()
285
+
286
+ async def create(self, user_data: UserCreate) -> User:
287
+ user = User(**user_data.dict())
288
+ self.session.add(user)
289
+ await self.session.flush()
290
+ return user
291
+
292
+ async def update(self, user_id: int, data: UserUpdate) -> Optional[User]:
293
+ await self.session.execute(
294
+ update(User)
295
+ .where(User.id == user_id)
296
+ .values(**data.dict(exclude_unset=True))
297
+ )
298
+ return await self.find_by_id(user_id)
552
299
  ```
553
300
 
554
- **Guidelines**:
555
- - Set requests based on p50 usage
556
- - Set limits based on p99 usage
557
- - Enable Vertical Pod Autoscaler for recommendations
558
-
559
- ### Auto-Scaling Strategies
301
+ ### Event-Driven Architecture
560
302
 
561
- **Horizontal Pod Autoscaler (HPA)**:
562
- ```yaml
563
- apiVersion: autoscaling/v2
564
- kind: HorizontalPodAutoscaler
565
- metadata:
566
- name: backend-hpa
567
- spec:
568
- scaleTargetRef:
569
- apiVersion: apps/v1
570
- kind: Deployment
571
- name: backend
572
- minReplicas: 2
573
- maxReplicas: 10
574
- metrics:
575
- - type: Resource
576
- resource:
577
- name: cpu
578
- target:
579
- type: Utilization
580
- averageUtilization: 70
581
- - type: Resource
582
- resource:
583
- name: memory
584
- target:
585
- type: Utilization
586
- averageUtilization: 80
303
+ ```python
304
+ import asyncio
305
+ from aio_pika import connect_robust, Message, ExchangeType
306
+
307
+ class EventPublisher:
308
+ def __init__(self, amqp_url: str):
309
+ self.amqp_url = amqp_url
310
+ self.connection = None
311
+ self.channel = None
312
+ self.exchange = None
313
+
314
+ async def connect(self):
315
+ self.connection = await connect_robust(self.amqp_url)
316
+ self.channel = await self.connection.channel()
317
+ self.exchange = await self.channel.declare_exchange(
318
+ "events", ExchangeType.TOPIC, durable=True
319
+ )
320
+
321
+ async def publish(self, event_type: str, data: dict):
322
+ message = Message(
323
+ json.dumps(data).encode(),
324
+ content_type="application/json",
325
+ headers={"event_type": event_type}
326
+ )
327
+ await self.exchange.publish(message, routing_key=event_type)
328
+
329
+ class EventSubscriber:
330
+ def __init__(self, amqp_url: str):
331
+ self.amqp_url = amqp_url
332
+ self.handlers = {}
333
+
334
+ def on(self, event_type: str):
335
+ def decorator(func):
336
+ self.handlers[event_type] = func
337
+ return func
338
+ return decorator
339
+
340
+ async def start(self):
341
+ connection = await connect_robust(self.amqp_url)
342
+ channel = await connection.channel()
343
+ exchange = await channel.declare_exchange(
344
+ "events", ExchangeType.TOPIC, durable=True
345
+ )
346
+ queue = await channel.declare_queue("", exclusive=True)
347
+
348
+ for event_type in self.handlers:
349
+ await queue.bind(exchange, routing_key=event_type)
350
+
351
+ async with queue.iterator() as queue_iter:
352
+ async for message in queue_iter:
353
+ async with message.process():
354
+ event_type = message.headers.get("event_type")
355
+ if event_type in self.handlers:
356
+ data = json.loads(message.body)
357
+ await self.handlers[event_type](data)
587
358
  ```
588
359
 
589
- **Cluster Autoscaler**:
590
- - Automatically adds/removes nodes based on pending pods
591
- - Works with cloud provider APIs (AWS, GCP, Azure)
592
- - Set min/max node count per node group
593
-
594
- ### Caching Strategies for Cost Reduction
595
-
596
- **CDN for Static Assets**:
597
- - CloudFront, CloudFlare: ~$0.085/GB
598
- - Reduces origin server load by 80-90%
599
- - Set long TTLs (1 year) with versioned URLs
600
-
601
- **Redis Caching**:
602
- - Cache database queries (TTL: 5-60 minutes)
603
- - Session storage (reduce database connections)
604
- - Precomputed results (expensive calculations)
605
-
606
- **Database Connection Pooling**:
607
- - PgBouncer: Reduce database connections by 10x
608
- - Typical pool size: 10-20 connections per app instance
609
- - Significant cost savings on managed databases
610
-
611
- ### Container Registry Comparison
612
-
613
- | Registry | Security Scanning | Geo-Replication | Cost | Integration | Use Case |
614
- |----------|------------------|------------------|------|-------------|----------|
615
- | **Docker Hub** | Free tier limited | No | Free/Paid | Universal | Public images |
616
- | **Amazon ECR** | Yes (Inspector) | Yes | Pay-per-GB | AWS native | AWS workloads |
617
- | **Google Artifact Registry** | Yes (Container Analysis) | Yes | Pay-per-GB | GCP native | GCP workloads |
618
- | **Azure ACR** | Yes (Defender) | Yes | Pay-per-GB | Azure native | Azure workloads |
619
- | **Harbor 2.10.x** | Yes (Trivy) | Yes | Self-hosted | Kubernetes | On-premises, multi-cloud |
620
- | **GitHub Container Registry** | Yes (Dependabot) | Global CDN | Free for public | GitHub Actions | CI/CD integration |
621
-
622
- **Recommendation**: Harbor 2.10.x for self-hosted multi-cloud, cloud-native registries for vendor lock-in scenarios.
623
-
624
- ### API Gateway Comparison
625
-
626
- | Gateway | Protocol | Performance | Features | Complexity | Use Case |
627
- |---------|----------|-------------|----------|------------|----------|
628
- | **Kong 3.6.x** | HTTP, gRPC, WebSocket | Excellent | Plugins, mTLS, rate limiting | Medium | Enterprise APIs |
629
- | **Ambassador (Emissary-Ingress) 3.9.x** | HTTP, gRPC | Good | Kubernetes-native, Istio integration | Medium | Kubernetes microservices |
630
- | **Traefik 3.0.x** | HTTP, TCP, gRPC | Good | Auto-discovery, Let's Encrypt | Low | Docker/Kubernetes |
631
- | **NGINX Ingress Controller** | HTTP, TCP, UDP | Excellent | Battle-tested, low overhead | Low | General-purpose |
632
- | **AWS API Gateway** | HTTP, WebSocket | Good | Serverless, AWS Lambda | Low | AWS serverless |
633
- | **Envoy Proxy 1.29.x** | HTTP/1.1, HTTP/2, gRPC | Excellent | L7 proxy, xDS API | High | Service mesh (Istio) |
634
-
635
- **Recommendation**: Kong 3.6.x for feature-rich APIs, NGINX Ingress for simplicity, Envoy 1.29.x for service mesh integration.
636
-
637
- ### CI/CD Platform Comparison
638
-
639
- | Platform | Cloud/Self-hosted | Kubernetes Support | Pipeline as Code | Cost | Use Case |
640
- |----------|-------------------|-------------------|------------------|------|----------|
641
- | **GitHub Actions** | Cloud | Yes (Kubernetes runners) | YAML | Free tier + paid | GitHub integration |
642
- | **GitLab CI/CD** | Both | Yes | YAML | Free tier + paid | GitLab ecosystem |
643
- | **Jenkins 2.440.x** | Self-hosted | Yes (Kubernetes plugin) | Groovy/Declarative | Free (self-hosted) | Enterprise, customization |
644
- | **ArgoCD 2.10.x** | Self-hosted | Yes (GitOps) | YAML (Git) | Free | Kubernetes GitOps |
645
- | **Tekton Pipelines 0.56.x** | Self-hosted | Yes (cloud-native) | YAML | Free | Kubernetes-native CI/CD |
646
- | **CircleCI** | Cloud | Yes | YAML | Free tier + paid | Fast feedback loops |
647
-
648
- **Recommendation**: ArgoCD 2.10.x for Kubernetes GitOps, GitHub Actions for GitHub-native workflows, Jenkins for complex enterprise pipelines.
649
-
650
- ## References
651
-
652
- - Kubernetes. "Kubernetes Best Practices." https://kubernetes.io/docs/concepts/configuration/overview/ (2025-10-22)
653
- - Istio. "Performance and Scalability." https://istio.io/latest/docs/ops/deployment/performance-and-scalability/ (2025-10-22)
654
- - OpenTelemetry. "Getting Started." https://opentelemetry.io/docs/instrumentation/ (2025-10-22)
655
- - Prometheus. "Best Practices." https://prometheus.io/docs/practices/ (2025-10-22)
656
- - OWASP. "API Security Project." https://owasp.org/www-project-api-security/ (2025-10-22)
657
- - CNCF. "Cloud Native Landscape." https://landscape.cncf.io/ (2025-10-22)
658
- - Kafka. "Apache Kafka Documentation." https://kafka.apache.org/documentation/ (2025-10-22)
659
- - Harbor. "Harbor Documentation." https://goharbor.io/docs/ (2025-10-22)
660
- - ArgoCD. "ArgoCD Documentation." https://argo-cd.readthedocs.io/ (2025-10-22)
360
+ ---
361
+
362
+ ## Troubleshooting
363
+
364
+ ### Common Issues
365
+
366
+ Issue: Connection pool exhausted
367
+ Symptoms: Requests timeout, "too many connections" errors
368
+ Solution:
369
+ - Increase pool_size and max_overflow in database configuration
370
+ - Check for connection leaks (ensure proper context manager usage)
371
+ - Implement connection health checks with pool_pre_ping
372
+
373
+ Issue: Slow database queries
374
+ Symptoms: High response times, database CPU spikes
375
+ Solution:
376
+ - Use EXPLAIN ANALYZE to identify slow queries
377
+ - Add appropriate indexes based on query patterns
378
+ - Implement query result caching with Redis
379
+ - Consider read replicas for read-heavy workloads
380
+
381
+ Issue: Memory leaks in async operations
382
+ Symptoms: Gradual memory increase, eventual OOM
383
+ Solution:
384
+ - Use async context managers properly
385
+ - Implement proper cleanup in lifespan handlers
386
+ - Monitor task cancellation and cleanup
387
+ - Use weak references for caches where appropriate
388
+
389
+ Issue: CORS errors in browser
390
+ Symptoms: Cross-origin requests blocked
391
+ Solution:
392
+ - Verify allow_origins includes client domain
393
+ - Check allow_credentials setting for cookie-based auth
394
+ - Ensure preflight OPTIONS requests are handled
395
+ - Add explicit headers for custom request headers
396
+
397
+ Issue: JWT token expiration issues
398
+ Symptoms: Users logged out unexpectedly
399
+ Solution:
400
+ - Implement refresh token rotation
401
+ - Use sliding window expiration for active users
402
+ - Add token refresh middleware
403
+ - Handle token refresh in frontend interceptors
404
+
405
+ ### Performance Optimization
406
+
407
+ Query Optimization:
408
+ - Use select_related/joinedload for N+1 query prevention
409
+ - Implement pagination with cursor-based approach for large datasets
410
+ - Use database-level aggregations instead of application-level
411
+ - Cache frequently accessed, rarely changed data
412
+
413
+ Connection Management:
414
+ - Tune pool sizes based on actual workload
415
+ - Use connection poolers (PgBouncer) for high-concurrency
416
+ - Implement circuit breakers for external service calls
417
+ - Monitor connection metrics and adjust accordingly
418
+
419
+ Async Best Practices:
420
+ - Use asyncio.gather for concurrent operations
421
+ - Implement proper timeout handling
422
+ - Use semaphores to limit concurrent external calls
423
+ - Profile async code with py-spy or similar tools
424
+
425
+ ---
426
+
427
+ ## External Resources
428
+
429
+ ### Frameworks
430
+ - FastAPI: https://fastapi.tiangolo.com/
431
+ - Django: https://www.djangoproject.com/
432
+ - Flask: https://flask.palletsprojects.com/
433
+ - Starlette: https://www.starlette.io/
434
+
435
+ ### Databases
436
+ - SQLAlchemy: https://docs.sqlalchemy.org/
437
+ - Motor (MongoDB): https://motor.readthedocs.io/
438
+ - Redis-py: https://redis-py.readthedocs.io/
439
+ - asyncpg: https://magicstack.github.io/asyncpg/
440
+
441
+ ### Message Queues
442
+ - RabbitMQ: https://www.rabbitmq.com/documentation.html
443
+ - Apache Kafka: https://kafka.apache.org/documentation/
444
+ - aio-pika: https://aio-pika.readthedocs.io/
445
+
446
+ ### Security
447
+ - OWASP API Security: https://owasp.org/www-project-api-security/
448
+ - python-jose: https://python-jose.readthedocs.io/
449
+ - Passlib: https://passlib.readthedocs.io/
450
+
451
+ ### Monitoring
452
+ - Prometheus: https://prometheus.io/docs/
453
+ - OpenTelemetry: https://opentelemetry.io/docs/
454
+ - Grafana: https://grafana.com/docs/
455
+
456
+ ### Best Practices
457
+ - 12 Factor App: https://12factor.net/
458
+ - Microservices Patterns: https://microservices.io/patterns/
459
+ - API Design Guidelines: https://github.com/microsoft/api-guidelines
460
+
461
+ ---
462
+
463
+ Version: 1.0.0
464
+ Last Updated: 2025-12-06