moai-adk 0.34.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 (524) hide show
  1. moai_adk/__main__.py +136 -5
  2. moai_adk/astgrep/__init__.py +37 -0
  3. moai_adk/astgrep/analyzer.py +522 -0
  4. moai_adk/astgrep/models.py +124 -0
  5. moai_adk/astgrep/rules.py +179 -0
  6. moai_adk/cli/commands/analyze.py +11 -2
  7. moai_adk/cli/commands/doctor.py +7 -1
  8. moai_adk/cli/commands/init.py +321 -11
  9. moai_adk/cli/commands/language.py +7 -1
  10. moai_adk/cli/commands/rank.py +449 -0
  11. moai_adk/cli/commands/status.py +7 -1
  12. moai_adk/cli/commands/switch.py +325 -0
  13. moai_adk/cli/commands/update.py +296 -23
  14. moai_adk/cli/prompts/init_prompts.py +362 -66
  15. moai_adk/cli/prompts/translations/__init__.py +573 -0
  16. moai_adk/cli/ui/prompts.py +61 -2
  17. moai_adk/cli/worktree/cli.py +106 -1
  18. moai_adk/cli/worktree/manager.py +155 -0
  19. moai_adk/core/config/unified.py +244 -63
  20. moai_adk/core/credentials.py +264 -0
  21. moai_adk/core/error_recovery_system.py +22 -4
  22. moai_adk/core/git/conflict_detector.py +10 -1
  23. moai_adk/core/git/event_detector.py +16 -5
  24. moai_adk/core/integration/engine.py +2 -2
  25. moai_adk/core/integration/integration_tester.py +5 -5
  26. moai_adk/core/language_config_resolver.py +9 -3
  27. moai_adk/core/merge/analyzer.py +509 -324
  28. moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
  29. moai_adk/core/migration/backup_manager.py +54 -4
  30. moai_adk/core/migration/file_migrator.py +174 -2
  31. moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
  32. moai_adk/core/migration/version_detector.py +123 -19
  33. moai_adk/core/migration/version_migrator.py +44 -9
  34. moai_adk/core/model_allocator.py +241 -0
  35. moai_adk/core/project/backup_utils.py +12 -2
  36. moai_adk/core/project/initializer.py +44 -87
  37. moai_adk/core/project/phase_executor.py +95 -33
  38. moai_adk/core/project/validator.py +16 -1
  39. moai_adk/core/quality/trust_checker.py +30 -10
  40. moai_adk/core/rollback_manager.py +60 -25
  41. moai_adk/core/template/backup.py +88 -6
  42. moai_adk/core/template/config.py +33 -9
  43. moai_adk/core/template/merger.py +34 -8
  44. moai_adk/core/template/processor.py +334 -11
  45. moai_adk/core/template_engine.py +10 -1
  46. moai_adk/core/template_variable_synchronizer.py +16 -2
  47. moai_adk/core/version_sync.py +54 -6
  48. moai_adk/foundation/__init__.py +1 -20
  49. moai_adk/foundation/testing.py +1 -1
  50. moai_adk/loop/__init__.py +54 -0
  51. moai_adk/loop/controller.py +305 -0
  52. moai_adk/loop/feedback.py +230 -0
  53. moai_adk/loop/state.py +209 -0
  54. moai_adk/loop/storage.py +220 -0
  55. moai_adk/lsp/__init__.py +70 -0
  56. moai_adk/lsp/client.py +320 -0
  57. moai_adk/lsp/models.py +261 -0
  58. moai_adk/lsp/protocol.py +404 -0
  59. moai_adk/lsp/server_manager.py +248 -0
  60. moai_adk/project/configuration.py +8 -1
  61. moai_adk/py.typed +0 -0
  62. moai_adk/ralph/__init__.py +37 -0
  63. moai_adk/ralph/engine.py +307 -0
  64. moai_adk/rank/__init__.py +21 -0
  65. moai_adk/rank/auth.py +425 -0
  66. moai_adk/rank/client.py +557 -0
  67. moai_adk/rank/config.py +147 -0
  68. moai_adk/rank/hook.py +1503 -0
  69. moai_adk/rank/py.typed +0 -0
  70. moai_adk/statusline/__init__.py +3 -0
  71. moai_adk/statusline/enhanced_output_style_detector.py +5 -5
  72. moai_adk/statusline/main.py +20 -1
  73. moai_adk/statusline/memory_collector.py +268 -0
  74. moai_adk/statusline/renderer.py +54 -38
  75. moai_adk/tag_system/__init__.py +48 -0
  76. moai_adk/tag_system/atomic_ops.py +117 -0
  77. moai_adk/tag_system/linkage.py +335 -0
  78. moai_adk/tag_system/parser.py +176 -0
  79. moai_adk/tag_system/validator.py +200 -0
  80. moai_adk/templates/.claude/agents/moai/builder-agent.md +19 -3
  81. moai_adk/templates/.claude/agents/moai/builder-command.md +62 -16
  82. moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
  83. moai_adk/templates/.claude/agents/moai/builder-skill.md +21 -5
  84. moai_adk/templates/.claude/agents/moai/expert-backend.md +103 -39
  85. moai_adk/templates/.claude/agents/moai/expert-debug.md +9 -3
  86. moai_adk/templates/.claude/agents/moai/expert-devops.md +16 -14
  87. moai_adk/templates/.claude/agents/moai/expert-frontend.md +45 -31
  88. moai_adk/templates/.claude/agents/moai/expert-performance.md +13 -9
  89. moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
  90. moai_adk/templates/.claude/agents/moai/expert-security.md +19 -3
  91. moai_adk/templates/.claude/agents/moai/expert-testing.md +13 -9
  92. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +8 -2
  93. moai_adk/templates/.claude/agents/moai/manager-docs.md +10 -5
  94. moai_adk/templates/.claude/agents/moai/manager-git.md +99 -27
  95. moai_adk/templates/.claude/agents/moai/manager-project.md +87 -7
  96. moai_adk/templates/.claude/agents/moai/manager-quality.md +22 -5
  97. moai_adk/templates/.claude/agents/moai/manager-spec.md +8 -2
  98. moai_adk/templates/.claude/agents/moai/manager-strategy.md +45 -14
  99. moai_adk/templates/.claude/agents/moai/manager-tdd.md +16 -3
  100. moai_adk/templates/.claude/commands/moai/0-project.md +239 -1185
  101. moai_adk/templates/.claude/commands/moai/1-plan.md +383 -363
  102. moai_adk/templates/.claude/commands/moai/2-run.md +254 -347
  103. moai_adk/templates/.claude/commands/moai/3-sync.md +174 -100
  104. moai_adk/templates/.claude/commands/moai/9-feedback.md +49 -33
  105. moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
  106. moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
  107. moai_adk/templates/.claude/commands/moai/fix.md +264 -0
  108. moai_adk/templates/.claude/commands/moai/loop.md +363 -0
  109. moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
  110. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +37 -81
  111. moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
  112. moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
  113. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
  114. moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
  115. moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
  116. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +24 -28
  117. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +14 -14
  118. moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
  119. moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
  120. moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
  121. moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
  122. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +15 -13
  123. moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
  124. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +125 -25
  125. moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
  126. moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
  127. moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
  128. moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
  129. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
  130. moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
  131. moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
  132. moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
  133. moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
  134. moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
  135. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +5 -5
  136. moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
  137. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +30 -18
  138. moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
  139. moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
  140. moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
  141. moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
  142. moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
  143. moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
  144. moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
  145. moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
  146. moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
  147. moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
  148. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +93 -61
  149. moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
  150. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +165 -70
  151. moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
  152. moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
  153. moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
  154. moai_adk/templates/.claude/output-styles/moai/r2d2.md +86 -3
  155. moai_adk/templates/.claude/output-styles/moai/yoda.md +2 -2
  156. moai_adk/templates/.claude/settings.json +154 -77
  157. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -198
  158. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +169 -323
  159. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
  160. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
  161. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
  162. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
  163. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
  164. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +226 -320
  165. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -222
  166. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +75 -219
  167. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +103 -463
  168. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
  169. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
  170. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
  171. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
  172. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
  173. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
  174. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +118 -339
  175. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +74 -377
  176. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
  177. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +205 -182
  178. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
  179. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
  180. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +32 -22
  181. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
  182. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
  183. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
  184. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
  185. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
  186. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
  187. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
  188. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
  189. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
  190. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
  191. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +96 -316
  192. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +116 -294
  193. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
  196. moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
  199. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
  201. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +14 -18
  204. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +86 -270
  205. moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
  206. moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
  207. moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
  208. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +76 -582
  209. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1239 -0
  210. moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
  211. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1136 -0
  212. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +82 -436
  213. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
  214. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
  215. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
  216. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
  217. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
  218. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
  219. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
  220. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +65 -542
  221. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
  222. moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
  223. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
  224. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +32 -405
  225. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +114 -293
  226. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +83 -307
  227. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +179 -0
  228. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
  229. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
  230. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +42 -279
  231. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +94 -556
  232. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1608 -0
  233. moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
  234. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1323 -0
  235. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +108 -358
  236. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +84 -482
  237. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1154 -0
  238. moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
  239. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1087 -0
  240. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +106 -610
  241. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1106 -0
  242. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
  243. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
  244. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1024 -0
  245. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +51 -265
  246. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +106 -442
  247. moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
  248. moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
  249. moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
  250. moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
  251. moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
  252. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -457
  253. moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
  254. moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
  255. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
  256. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
  257. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +75 -283
  258. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +97 -252
  259. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +64 -240
  260. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
  261. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
  262. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +90 -287
  263. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +200 -206
  264. moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
  265. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
  266. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
  267. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
  268. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
  269. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
  270. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
  271. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
  272. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
  273. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
  274. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
  275. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
  276. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
  277. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
  278. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
  279. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
  280. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
  281. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
  282. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
  283. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
  284. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
  285. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
  286. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
  287. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
  288. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
  289. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
  290. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
  291. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
  292. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
  293. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
  294. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
  295. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
  296. moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
  297. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +75 -330
  298. moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
  299. moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
  300. moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
  301. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +100 -340
  302. moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
  303. moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
  304. moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
  305. moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
  306. moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
  307. moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
  308. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +113 -326
  309. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
  310. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
  311. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
  312. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
  313. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
  314. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +71 -302
  315. moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
  316. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
  317. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
  318. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
  319. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
  320. moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
  321. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +101 -412
  322. moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
  323. moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
  324. moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
  325. moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
  326. moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
  327. moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
  328. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +96 -327
  329. moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
  330. moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
  331. moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
  332. moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
  333. moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
  334. moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
  335. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +103 -428
  336. moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
  337. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
  338. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
  339. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
  340. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
  341. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
  342. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
  343. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
  344. moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
  345. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +96 -446
  346. moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
  347. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
  348. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
  349. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
  350. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
  351. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
  352. moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
  353. moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
  354. moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
  355. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
  356. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
  357. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
  358. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
  359. moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
  360. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
  361. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
  362. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
  363. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
  364. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
  365. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
  366. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
  367. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
  368. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
  369. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +225 -423
  370. moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
  371. moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
  372. moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
  373. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +211 -314
  374. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +15 -43
  375. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +119 -316
  376. moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
  377. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +96 -203
  378. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +201 -388
  379. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
  380. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
  381. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
  382. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
  383. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
  384. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
  385. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
  386. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
  387. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
  388. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
  389. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
  390. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
  391. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
  404. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
  409. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
  416. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
  429. moai_adk/templates/.git-hooks/pre-push +162 -59
  430. moai_adk/templates/.github/workflows/ci-universal.yml +934 -133
  431. moai_adk/templates/.gitignore +65 -107
  432. moai_adk/templates/.lsp.json +152 -0
  433. moai_adk/templates/.mcp.json +2 -20
  434. moai_adk/templates/.moai/announcements/en.json +18 -0
  435. moai_adk/templates/.moai/announcements/ja.json +18 -0
  436. moai_adk/templates/.moai/announcements/ko.json +18 -0
  437. moai_adk/templates/.moai/announcements/zh.json +18 -0
  438. moai_adk/templates/.moai/config/config.yaml +8 -2
  439. moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
  440. moai_adk/templates/.moai/config/sections/language.yaml +2 -2
  441. moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
  442. moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
  443. moai_adk/templates/.moai/config/sections/project.yaml +2 -2
  444. moai_adk/templates/.moai/config/sections/quality.yaml +43 -5
  445. moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
  446. moai_adk/templates/.moai/config/sections/system.yaml +46 -1
  447. moai_adk/templates/.moai/config/sections/user.yaml +1 -1
  448. moai_adk/templates/.moai/config/statusline-config.yaml +2 -2
  449. moai_adk/templates/.moai/llm-configs/glm.json +22 -0
  450. moai_adk/templates/CLAUDE.ja.md +343 -0
  451. moai_adk/templates/CLAUDE.ko.md +343 -0
  452. moai_adk/templates/CLAUDE.md +200 -499
  453. moai_adk/templates/CLAUDE.zh.md +343 -0
  454. moai_adk/utils/common.py +37 -0
  455. moai_adk/version.py +1 -1
  456. moai_adk-1.1.0.dist-info/METADATA +2443 -0
  457. moai_adk-1.1.0.dist-info/RECORD +701 -0
  458. {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/entry_points.txt +2 -0
  459. moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
  460. moai_adk/core/config/auto_spec_config.py +0 -340
  461. moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
  462. moai_adk/core/spec/confidence_scoring.py +0 -680
  463. moai_adk/core/spec/ears_template_engine.py +0 -1247
  464. moai_adk/core/spec/quality_validator.py +0 -687
  465. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +0 -670
  466. moai_adk/templates/.claude/agents/moai/expert-database.md +0 -777
  467. moai_adk/templates/.claude/agents/moai/expert-uiux.md +0 -1041
  468. moai_adk/templates/.claude/agents/moai/mcp-context7.md +0 -458
  469. moai_adk/templates/.claude/agents/moai/mcp-figma.md +0 -1607
  470. moai_adk/templates/.claude/agents/moai/mcp-notion.md +0 -789
  471. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +0 -469
  472. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +0 -1032
  473. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +0 -438
  474. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +0 -431
  475. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
  476. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
  477. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +0 -402
  478. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +0 -607
  479. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +0 -300
  480. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +0 -537
  481. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
  482. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
  483. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
  484. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
  485. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
  486. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -175
  487. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
  488. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
  489. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
  490. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
  491. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
  492. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
  493. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
  494. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
  495. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
  496. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
  497. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
  498. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -411
  499. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
  500. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
  501. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
  502. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
  503. moai_adk/templates/.moai/config/questions/_schema.yaml +0 -151
  504. moai_adk/templates/.moai/config/questions/tab0-init.yaml +0 -251
  505. moai_adk/templates/.moai/config/questions/tab1-user.yaml +0 -108
  506. moai_adk/templates/.moai/config/questions/tab2-project.yaml +0 -81
  507. moai_adk/templates/.moai/config/questions/tab3-git.yaml +0 -634
  508. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +0 -170
  509. moai_adk/templates/.moai/config/questions/tab5-system.yaml +0 -87
  510. moai_adk/templates/.moai/scripts/setup-glm.py +0 -136
  511. moai_adk-0.34.0.dist-info/METADATA +0 -2999
  512. moai_adk-0.34.0.dist-info/RECORD +0 -463
  513. moai_adk-0.34.0.dist-info/licenses/LICENSE +0 -21
  514. /moai_adk/foundation/{git.py → git/__init__.py} +0 -0
  515. /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  516. /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
  517. /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
  518. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  519. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
  520. /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  521. /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
  522. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
  523. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
  524. {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,458 @@
1
+ # Point-in-Time Recovery and Backups
2
+
3
+ ## Overview
4
+
5
+ Neon provides automatic Point-in-Time Recovery (PITR) with up to 30 days of retention, enabling instant database restoration to any timestamp without manual backup management.
6
+
7
+ ---
8
+
9
+ ## PITR Fundamentals
10
+
11
+ ### How PITR Works
12
+
13
+ Write-Ahead Logging: All database changes recorded to WAL
14
+ Continuous Backup: WAL continuously streamed to Neon storage
15
+ Instant Restore: Branch creation from any point in retention window
16
+ Copy-on-Write: Restore creates new branch without affecting original
17
+
18
+ ### Retention Periods
19
+
20
+ Free Tier: 7 days of PITR history
21
+ Pro Tier: 7-30 days configurable
22
+ Enterprise: Custom retention periods
23
+
24
+ ---
25
+
26
+ ## Restore Operations
27
+
28
+ ### Restore to Specific Timestamp
29
+
30
+ ```typescript
31
+ async function restoreToPoint(timestamp: Date, branchName?: string) {
32
+ const name = branchName || `restore-${timestamp.toISOString().replace(/[:.]/g, '-')}`
33
+
34
+ const response = await fetch(
35
+ `https://console.neon.tech/api/v2/projects/${process.env.NEON_PROJECT_ID}/branches`,
36
+ {
37
+ method: 'POST',
38
+ headers: {
39
+ 'Authorization': `Bearer ${process.env.NEON_API_KEY}`,
40
+ 'Content-Type': 'application/json'
41
+ },
42
+ body: JSON.stringify({
43
+ branch: {
44
+ name,
45
+ parent_id: 'main',
46
+ parent_timestamp: timestamp.toISOString()
47
+ }
48
+ })
49
+ }
50
+ )
51
+
52
+ if (!response.ok) {
53
+ throw new Error(`PITR restore failed: ${response.statusText}`)
54
+ }
55
+
56
+ return response.json()
57
+ }
58
+ ```
59
+
60
+ ### Common Restore Scenarios
61
+
62
+ Restore to 1 Hour Ago:
63
+ ```typescript
64
+ const oneHourAgo = new Date(Date.now() - 60 * 60 * 1000)
65
+ const restored = await restoreToPoint(oneHourAgo, 'restore-1-hour')
66
+ ```
67
+
68
+ Restore to Yesterday:
69
+ ```typescript
70
+ const yesterday = new Date()
71
+ yesterday.setDate(yesterday.getDate() - 1)
72
+ yesterday.setHours(0, 0, 0, 0)
73
+ const restored = await restoreToPoint(yesterday, 'restore-yesterday')
74
+ ```
75
+
76
+ Restore to Specific Datetime:
77
+ ```typescript
78
+ const specificTime = new Date('2024-01-15T14:30:00Z')
79
+ const restored = await restoreToPoint(specificTime, 'restore-jan15-1430')
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Restore Workflow
85
+
86
+ ### Complete Restore Process
87
+
88
+ ```typescript
89
+ interface RestoreResult {
90
+ branchId: string
91
+ branchName: string
92
+ connectionString: string
93
+ restoredTo: string
94
+ createdAt: string
95
+ }
96
+
97
+ async function performRestore(
98
+ targetTimestamp: Date,
99
+ options: {
100
+ branchName?: string
101
+ sourceBranch?: string
102
+ validateFirst?: boolean
103
+ } = {}
104
+ ): Promise<RestoreResult> {
105
+ const {
106
+ branchName = `restore-${Date.now()}`,
107
+ sourceBranch = 'main',
108
+ validateFirst = true
109
+ } = options
110
+
111
+ // Validate timestamp is within retention period
112
+ if (validateFirst) {
113
+ const retentionDays = 30
114
+ const oldestAllowed = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1000)
115
+
116
+ if (targetTimestamp < oldestAllowed) {
117
+ throw new Error(`Timestamp ${targetTimestamp.toISOString()} is outside ${retentionDays}-day retention period`)
118
+ }
119
+
120
+ if (targetTimestamp > new Date()) {
121
+ throw new Error('Cannot restore to future timestamp')
122
+ }
123
+ }
124
+
125
+ // Create restore branch
126
+ const response = await fetch(
127
+ `https://console.neon.tech/api/v2/projects/${process.env.NEON_PROJECT_ID}/branches`,
128
+ {
129
+ method: 'POST',
130
+ headers: {
131
+ 'Authorization': `Bearer ${process.env.NEON_API_KEY}`,
132
+ 'Content-Type': 'application/json'
133
+ },
134
+ body: JSON.stringify({
135
+ branch: {
136
+ name: branchName,
137
+ parent_id: sourceBranch,
138
+ parent_timestamp: targetTimestamp.toISOString()
139
+ }
140
+ })
141
+ }
142
+ )
143
+
144
+ if (!response.ok) {
145
+ const error = await response.text()
146
+ throw new Error(`Restore failed: ${error}`)
147
+ }
148
+
149
+ const data = await response.json()
150
+
151
+ // Get connection string for restored branch
152
+ const endpointsResponse = await fetch(
153
+ `https://console.neon.tech/api/v2/projects/${process.env.NEON_PROJECT_ID}/branches/${data.branch.id}/endpoints`,
154
+ {
155
+ headers: {
156
+ 'Authorization': `Bearer ${process.env.NEON_API_KEY}`
157
+ }
158
+ }
159
+ )
160
+
161
+ const endpointsData = await endpointsResponse.json()
162
+
163
+ return {
164
+ branchId: data.branch.id,
165
+ branchName: data.branch.name,
166
+ connectionString: endpointsData.endpoints[0]?.connection_uri,
167
+ restoredTo: targetTimestamp.toISOString(),
168
+ createdAt: new Date().toISOString()
169
+ }
170
+ }
171
+ ```
172
+
173
+ ---
174
+
175
+ ## Data Validation After Restore
176
+
177
+ ### Verify Restored Data
178
+
179
+ ```typescript
180
+ import { neon } from '@neondatabase/serverless'
181
+
182
+ async function validateRestore(
183
+ originalConnectionString: string,
184
+ restoredConnectionString: string,
185
+ tableName: string
186
+ ): Promise<boolean> {
187
+ const originalDb = neon(originalConnectionString)
188
+ const restoredDb = neon(restoredConnectionString)
189
+
190
+ // Compare row counts
191
+ const [originalCount] = await originalDb`SELECT COUNT(*) as count FROM ${tableName}`
192
+ const [restoredCount] = await restoredDb`SELECT COUNT(*) as count FROM ${tableName}`
193
+
194
+ console.log(`Original count: ${originalCount.count}, Restored count: ${restoredCount.count}`)
195
+
196
+ // Compare checksums for critical tables
197
+ const [originalChecksum] = await originalDb`
198
+ SELECT md5(string_agg(id::text, '')) as checksum
199
+ FROM ${tableName}
200
+ ORDER BY id
201
+ `
202
+ const [restoredChecksum] = await restoredDb`
203
+ SELECT md5(string_agg(id::text, '')) as checksum
204
+ FROM ${tableName}
205
+ ORDER BY id
206
+ `
207
+
208
+ const isValid = originalChecksum.checksum === restoredChecksum.checksum
209
+
210
+ console.log(`Checksum validation: ${isValid ? 'PASS' : 'FAIL'}`)
211
+
212
+ return isValid
213
+ }
214
+ ```
215
+
216
+ ### Restore Verification Checklist
217
+
218
+ ```typescript
219
+ interface VerificationResult {
220
+ tableChecks: Map<string, boolean>
221
+ rowCounts: Map<string, number>
222
+ overallStatus: 'success' | 'warning' | 'failure'
223
+ issues: string[]
224
+ }
225
+
226
+ async function verifyRestore(connectionString: string): Promise<VerificationResult> {
227
+ const sql = neon(connectionString)
228
+
229
+ const criticalTables = ['users', 'orders', 'payments', 'products']
230
+ const tableChecks = new Map<string, boolean>()
231
+ const rowCounts = new Map<string, number>()
232
+ const issues: string[] = []
233
+
234
+ for (const table of criticalTables) {
235
+ try {
236
+ const [result] = await sql`
237
+ SELECT COUNT(*) as count FROM ${sql(table)}
238
+ `
239
+ rowCounts.set(table, parseInt(result.count))
240
+ tableChecks.set(table, true)
241
+ } catch (error) {
242
+ tableChecks.set(table, false)
243
+ issues.push(`Table ${table}: ${error}`)
244
+ }
245
+ }
246
+
247
+ const failedChecks = [...tableChecks.values()].filter(v => !v).length
248
+
249
+ return {
250
+ tableChecks,
251
+ rowCounts,
252
+ overallStatus: failedChecks === 0 ? 'success' : failedChecks < criticalTables.length / 2 ? 'warning' : 'failure',
253
+ issues
254
+ }
255
+ }
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Automated Backup Verification
261
+
262
+ ### Scheduled PITR Testing
263
+
264
+ ```typescript
265
+ interface BackupTestResult {
266
+ testId: string
267
+ timestamp: Date
268
+ restoreSuccess: boolean
269
+ validationSuccess: boolean
270
+ duration: number
271
+ cleanedUp: boolean
272
+ }
273
+
274
+ async function testPITRCapability(): Promise<BackupTestResult> {
275
+ const testId = `pitr-test-${Date.now()}`
276
+ const startTime = Date.now()
277
+ let restoreSuccess = false
278
+ let validationSuccess = false
279
+ let cleanedUp = false
280
+
281
+ try {
282
+ // Test restore from 1 hour ago
283
+ const testTimestamp = new Date(Date.now() - 60 * 60 * 1000)
284
+
285
+ const restore = await performRestore(testTimestamp, {
286
+ branchName: testId,
287
+ validateFirst: true
288
+ })
289
+
290
+ restoreSuccess = true
291
+
292
+ // Validate restored data
293
+ const verification = await verifyRestore(restore.connectionString)
294
+ validationSuccess = verification.overallStatus === 'success'
295
+
296
+ // Cleanup test branch
297
+ await fetch(
298
+ `https://console.neon.tech/api/v2/projects/${process.env.NEON_PROJECT_ID}/branches/${restore.branchId}`,
299
+ {
300
+ method: 'DELETE',
301
+ headers: {
302
+ 'Authorization': `Bearer ${process.env.NEON_API_KEY}`
303
+ }
304
+ }
305
+ )
306
+ cleanedUp = true
307
+
308
+ } catch (error) {
309
+ console.error('PITR test failed:', error)
310
+ }
311
+
312
+ return {
313
+ testId,
314
+ timestamp: new Date(),
315
+ restoreSuccess,
316
+ validationSuccess,
317
+ duration: Date.now() - startTime,
318
+ cleanedUp
319
+ }
320
+ }
321
+ ```
322
+
323
+ ### GitHub Actions PITR Test
324
+
325
+ ```yaml
326
+ name: PITR Verification
327
+
328
+ on:
329
+ schedule:
330
+ - cron: '0 2 * * *' # Daily at 2 AM UTC
331
+ workflow_dispatch:
332
+
333
+ jobs:
334
+ test-pitr:
335
+ runs-on: ubuntu-latest
336
+ steps:
337
+ - uses: actions/checkout@v4
338
+
339
+ - name: Setup Node.js
340
+ uses: actions/setup-node@v4
341
+ with:
342
+ node-version: '20'
343
+
344
+ - name: Install dependencies
345
+ run: npm ci
346
+
347
+ - name: Run PITR Test
348
+ env:
349
+ NEON_API_KEY: ${{ secrets.NEON_API_KEY }}
350
+ NEON_PROJECT_ID: ${{ secrets.NEON_PROJECT_ID }}
351
+ DATABASE_URL: ${{ secrets.DATABASE_URL }}
352
+ run: npm run test:pitr
353
+
354
+ - name: Report Results
355
+ if: failure()
356
+ uses: actions/github-script@v7
357
+ with:
358
+ script: |
359
+ github.rest.issues.create({
360
+ owner: context.repo.owner,
361
+ repo: context.repo.repo,
362
+ title: 'PITR Verification Failed',
363
+ body: 'Daily PITR verification test failed. Please investigate immediately.',
364
+ labels: ['critical', 'infrastructure']
365
+ })
366
+ ```
367
+
368
+ ---
369
+
370
+ ## Disaster Recovery Procedures
371
+
372
+ ### Emergency Restore Procedure
373
+
374
+ Step 1: Identify Recovery Point
375
+ - Determine exact timestamp before incident
376
+ - Account for timezone differences (use UTC)
377
+ - Consider data propagation delays
378
+
379
+ Step 2: Create Restore Branch
380
+ ```typescript
381
+ const incidentTime = new Date('2024-01-15T14:30:00Z')
382
+ const safeTime = new Date(incidentTime.getTime() - 5 * 60 * 1000) // 5 minutes before
383
+ const restored = await performRestore(safeTime, { branchName: 'emergency-restore' })
384
+ ```
385
+
386
+ Step 3: Validate Restored Data
387
+ - Check critical table row counts
388
+ - Verify recent transactions
389
+ - Confirm data integrity
390
+
391
+ Step 4: Switch Production
392
+ - Update connection strings to restored branch
393
+ - Monitor for errors
394
+ - Keep original branch for investigation
395
+
396
+ Step 5: Post-Incident Cleanup
397
+ - Document timeline and decisions
398
+ - Archive investigation branch
399
+ - Update runbooks as needed
400
+
401
+ ### Production Cutover
402
+
403
+ ```typescript
404
+ async function cutoverToRestored(restoredBranchId: string) {
405
+ // Get connection details for restored branch
406
+ const endpoints = await fetch(
407
+ `https://console.neon.tech/api/v2/projects/${process.env.NEON_PROJECT_ID}/branches/${restoredBranchId}/endpoints`,
408
+ {
409
+ headers: { 'Authorization': `Bearer ${process.env.NEON_API_KEY}` }
410
+ }
411
+ ).then(r => r.json())
412
+
413
+ const newConnectionString = endpoints.endpoints[0]?.connection_uri
414
+
415
+ // Update environment configuration
416
+ // This varies by platform (Vercel, Railway, etc.)
417
+ console.log('New connection string:', newConnectionString)
418
+ console.log('Update DATABASE_URL_POOLED in your platform')
419
+
420
+ return {
421
+ newConnectionString,
422
+ cutoverTime: new Date().toISOString(),
423
+ instructions: [
424
+ '1. Update DATABASE_URL_POOLED environment variable',
425
+ '2. Trigger application redeployment',
426
+ '3. Monitor for connection errors',
427
+ '4. Verify data integrity in production'
428
+ ]
429
+ }
430
+ }
431
+ ```
432
+
433
+ ---
434
+
435
+ ## Best Practices
436
+
437
+ ### Retention Configuration
438
+
439
+ Align Retention with Compliance: Match retention period to regulatory requirements
440
+ Consider Recovery Objectives: Longer retention for lower RPO requirements
441
+ Balance Cost: Longer retention increases storage costs
442
+
443
+ ### Testing Strategy
444
+
445
+ Regular PITR Tests: Weekly or daily automated restore tests
446
+ Full Recovery Drills: Quarterly complete disaster recovery exercises
447
+ Document Procedures: Maintain up-to-date runbooks
448
+
449
+ ### Monitoring
450
+
451
+ Track PITR Health: Monitor WAL streaming status
452
+ Alert on Issues: Immediate notification of backup failures
453
+ Retention Warnings: Alert before data exits retention window
454
+
455
+ ---
456
+
457
+ Version: 2.0.0
458
+ Last Updated: 2026-01-06
@@ -0,0 +1,272 @@
1
+ # Neon Platform Reference Guide
2
+
3
+ ## API Reference
4
+
5
+ ### Neon Management API
6
+
7
+ Base URL: https://console.neon.tech/api/v2
8
+
9
+ Authentication: Bearer token via NEON_API_KEY header
10
+
11
+ ### Common Endpoints
12
+
13
+ Project Endpoints:
14
+ - GET /projects - List all projects
15
+ - GET /projects/{project_id} - Get project details
16
+ - PATCH /projects/{project_id} - Update project settings
17
+
18
+ Branch Endpoints:
19
+ - GET /projects/{project_id}/branches - List branches
20
+ - POST /projects/{project_id}/branches - Create branch
21
+ - DELETE /projects/{project_id}/branches/{branch_id} - Delete branch
22
+ - GET /projects/{project_id}/branches/{branch_id}/endpoints - Get branch endpoints
23
+
24
+ Endpoint Endpoints:
25
+ - GET /projects/{project_id}/endpoints - List compute endpoints
26
+ - PATCH /projects/{project_id}/endpoints/{endpoint_id} - Update endpoint settings
27
+
28
+ ### API Response Formats
29
+
30
+ Branch Creation Response:
31
+ ```json
32
+ {
33
+ "branch": {
34
+ "id": "br-xxx",
35
+ "name": "feature-branch",
36
+ "project_id": "project-xxx",
37
+ "parent_id": "br-main",
38
+ "created_at": "2024-01-01T00:00:00Z",
39
+ "current_state": "ready"
40
+ },
41
+ "endpoints": [
42
+ {
43
+ "id": "ep-xxx",
44
+ "branch_id": "br-xxx",
45
+ "host": "ep-xxx.region.neon.tech",
46
+ "connection_uri": "postgresql://..."
47
+ }
48
+ ]
49
+ }
50
+ ```
51
+
52
+ Endpoint Configuration Response:
53
+ ```json
54
+ {
55
+ "endpoint": {
56
+ "id": "ep-xxx",
57
+ "autoscaling_limit_min_cu": 0.25,
58
+ "autoscaling_limit_max_cu": 4,
59
+ "suspend_timeout_seconds": 300,
60
+ "current_state": "active"
61
+ }
62
+ }
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Environment Configuration
68
+
69
+ ### Connection String Formats
70
+
71
+ Direct Connection (for migrations and admin tasks):
72
+ ```
73
+ postgresql://user:password@ep-xxx.region.neon.tech/dbname?sslmode=require
74
+ ```
75
+
76
+ Pooled Connection (for serverless and edge):
77
+ ```
78
+ postgresql://user:password@ep-xxx-pooler.region.neon.tech/dbname?sslmode=require
79
+ ```
80
+
81
+ ### Environment Variables
82
+
83
+ Required Variables:
84
+ - DATABASE_URL: Primary connection string for migrations
85
+ - DATABASE_URL_POOLED: Pooled connection for application use
86
+ - NEON_API_KEY: API key for branch management
87
+ - NEON_PROJECT_ID: Project identifier for API calls
88
+
89
+ Optional Variables:
90
+ - NEON_BRANCH_ID: Specific branch identifier
91
+ - NEON_ENDPOINT_ID: Specific endpoint identifier
92
+
93
+ ### Connection String Parameters
94
+
95
+ SSL Mode Options:
96
+ - sslmode=require: Require SSL (recommended)
97
+ - sslmode=verify-full: Verify SSL certificate
98
+
99
+ Connection Pool Options:
100
+ - connection_limit: Maximum connections (pooled only)
101
+ - pool_timeout: Connection timeout in seconds
102
+
103
+ ---
104
+
105
+ ## Compute Unit Reference
106
+
107
+ ### Compute Unit (CU) Specifications
108
+
109
+ 0.25 CU: 0.25 vCPU, 1 GB RAM - Development and testing
110
+ 0.5 CU: 0.5 vCPU, 2 GB RAM - Light production workloads
111
+ 1 CU: 1 vCPU, 4 GB RAM - Standard production
112
+ 2 CU: 2 vCPU, 8 GB RAM - Medium workloads
113
+ 4 CU: 4 vCPU, 16 GB RAM - Heavy workloads
114
+ 8 CU: 8 vCPU, 32 GB RAM - High-performance requirements
115
+
116
+ ### Auto-Scaling Configuration
117
+
118
+ Minimum CU: Lowest compute level (0.25 for scale-to-zero)
119
+ Maximum CU: Highest compute level for peak load
120
+ Suspend Timeout: Seconds of inactivity before scaling to zero
121
+
122
+ Recommended Settings by Use Case:
123
+
124
+ Development: min 0.25, max 0.5, timeout 300
125
+ Staging: min 0.25, max 1, timeout 600
126
+ Production: min 0.5, max 4, timeout 3600
127
+ High-Traffic: min 1, max 8, timeout 0 (never suspend)
128
+
129
+ ---
130
+
131
+ ## PostgreSQL Extensions
132
+
133
+ ### Supported Extensions
134
+
135
+ Core Extensions:
136
+ - pg_stat_statements: Query performance statistics
137
+ - pg_trgm: Trigram text similarity
138
+ - uuid-ossp: UUID generation
139
+ - hstore: Key-value storage
140
+ - pgcrypto: Cryptographic functions
141
+
142
+ Spatial Extensions:
143
+ - postgis: Spatial and geographic objects
144
+ - postgis_topology: Topology support
145
+
146
+ Full-Text Search:
147
+ - pg_search: Full-text search improvements
148
+ - unaccent: Remove accents from text
149
+
150
+ JSON Processing:
151
+ - jsonb_plperl: Perl JSON functions
152
+ - jsonb_plpython3u: Python JSON functions
153
+
154
+ ### Extension Installation
155
+
156
+ Enable Extension:
157
+ ```sql
158
+ CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
159
+ CREATE EXTENSION IF NOT EXISTS uuid-ossp;
160
+ CREATE EXTENSION IF NOT EXISTS postgis;
161
+ ```
162
+
163
+ ---
164
+
165
+ ## Provider Comparison Matrix
166
+
167
+ ### Feature Comparison
168
+
169
+ Serverless Compute:
170
+ - Neon: Full auto-scaling with scale-to-zero
171
+ - Supabase: Fixed compute tiers
172
+ - PlanetScale: MySQL-based serverless
173
+
174
+ Database Branching:
175
+ - Neon: Instant copy-on-write branches
176
+ - Supabase: Manual database cloning
177
+ - PlanetScale: Schema-only branching
178
+
179
+ Point-in-Time Recovery:
180
+ - Neon: 30-day PITR with instant restore
181
+ - Supabase: 7-day backups (Pro tier)
182
+ - PlanetScale: Continuous backups
183
+
184
+ Connection Pooling:
185
+ - Neon: Built-in HTTP and WebSocket pooler
186
+ - Supabase: PgBouncer integration
187
+ - PlanetScale: Native connection handling
188
+
189
+ Edge Compatibility:
190
+ - Neon: Full edge runtime support
191
+ - Supabase: Edge functions with pooler
192
+ - PlanetScale: Edge-compatible driver
193
+
194
+ ### Pricing Comparison
195
+
196
+ Free Tier Storage:
197
+ - Neon: 3 GB
198
+ - Supabase: 500 MB
199
+ - PlanetScale: 5 GB
200
+
201
+ Free Tier Compute:
202
+ - Neon: 100 compute hours
203
+ - Supabase: Fixed 500 MB RAM
204
+ - PlanetScale: 1 billion row reads
205
+
206
+ ---
207
+
208
+ ## Error Codes and Troubleshooting
209
+
210
+ ### Common Error Codes
211
+
212
+ Connection Errors:
213
+ - ECONNREFUSED: Endpoint suspended, will wake on next request
214
+ - SSL_CERTIFICATE_REQUIRED: Missing sslmode=require parameter
215
+ - TOO_MANY_CONNECTIONS: Pool exhausted, use pooled connection
216
+
217
+ Branch Errors:
218
+ - BRANCH_NOT_FOUND: Invalid branch ID
219
+ - BRANCH_LIMIT_EXCEEDED: Project branch limit reached
220
+ - PARENT_BRANCH_NOT_FOUND: Invalid parent for branching
221
+
222
+ API Errors:
223
+ - 401 Unauthorized: Invalid or expired API key
224
+ - 403 Forbidden: Insufficient permissions
225
+ - 429 Too Many Requests: Rate limit exceeded
226
+
227
+ ### Troubleshooting Guide
228
+
229
+ Slow Cold Starts:
230
+ - Increase minimum compute units
231
+ - Reduce suspend timeout
232
+ - Use connection pooling
233
+
234
+ Connection Timeouts:
235
+ - Switch to pooled connection string
236
+ - Verify network connectivity
237
+ - Check endpoint status via API
238
+
239
+ Branch Creation Failures:
240
+ - Verify parent branch exists
241
+ - Check project branch limits
242
+ - Ensure API key has write permissions
243
+
244
+ ---
245
+
246
+ ## Security Best Practices
247
+
248
+ ### Connection Security
249
+
250
+ Always Use SSL: Set sslmode=require in connection strings
251
+ Rotate Credentials: Regularly rotate database passwords and API keys
252
+ Use Environment Variables: Never hardcode credentials in source code
253
+ Restrict IP Access: Configure IP allow lists for production
254
+
255
+ ### API Key Management
256
+
257
+ Scoped Keys: Create keys with minimal required permissions
258
+ Key Rotation: Rotate API keys on regular schedule
259
+ Audit Access: Monitor API key usage via Neon console
260
+ Revoke Unused: Remove keys no longer in use
261
+
262
+ ### Database Security
263
+
264
+ Row-Level Security: Implement RLS for multi-tenant applications
265
+ Prepared Statements: Always use parameterized queries
266
+ Audit Logging: Enable pg_stat_statements for query monitoring
267
+ Backup Verification: Regularly test PITR restoration
268
+
269
+ ---
270
+
271
+ Version: 2.0.0
272
+ Last Updated: 2026-01-06