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
@@ -1,99 +1,52 @@
1
1
  ---
2
- name: moai-lang-ruby
3
- description: Ruby 3.3+ development specialist covering Rails 7.2, ActiveRecord, Hotwire/Turbo, and modern Ruby patterns. Use when developing Ruby APIs, web applications, or Rails projects.
4
- version: 1.0.0
5
- updated: 2025-12-07
6
- status: active
7
- allowed-tools: Read, Grep, Glob, Bash, mcp__context7__resolve-library-id, mcp__context7__get-library-docs
2
+ name: "moai-lang-ruby"
3
+ description: "Ruby 3.3+ development specialist covering Rails 7.2, ActiveRecord, Hotwire/Turbo, and modern Ruby patterns. Use when developing Ruby APIs, web applications, or Rails projects."
4
+ version: 1.1.0
5
+ category: "language"
6
+ modularized: true
7
+ user-invocable: false
8
+ tags: ["language", "ruby", "rails", "activerecord", "hotwire", "turbo", "rspec"]
9
+ updated: 2026-01-11
10
+ status: "active"
11
+ allowed-tools:
12
+ - Read
13
+ - Grep
14
+ - Glob
15
+ - Bash
16
+ - mcp__context7__resolve-library-id
17
+ - mcp__context7__get-library-docs
8
18
  ---
9
19
 
10
20
  ## Quick Reference (30 seconds)
11
21
 
12
22
  Ruby 3.3+ Development Specialist - Rails 7.2, ActiveRecord, Hotwire/Turbo, RSpec, and modern Ruby patterns.
13
23
 
14
- Auto-Triggers: `.rb` files, `Gemfile`, `Rakefile`, `config.ru`, Rails/Ruby discussions
24
+ Auto-Triggers: Files with .rb extension, Gemfile, Rakefile, config.ru, Rails or Ruby discussions
15
25
 
16
26
  Core Capabilities:
27
+
17
28
  - Ruby 3.3 Features: YJIT production-ready, pattern matching, Data class, endless methods
18
- - Web Framework: Rails 7.2 with Turbo, Stimulus, ActiveRecord
19
- - Frontend: Hotwire (Turbo + Stimulus) for SPA-like experiences
20
- - Testing: RSpec with factories, request specs, system specs
29
+ - Web Framework: Rails 7.2 with Turbo, Stimulus, and ActiveRecord
30
+ - Frontend: Hotwire including Turbo and Stimulus for SPA-like experiences
31
+ - Testing: RSpec with factories, request specs, and system specs
21
32
  - Background Jobs: Sidekiq with ActiveJob
22
33
  - Package Management: Bundler with Gemfile
23
34
  - Code Quality: RuboCop with Rails cops
24
- - Database: ActiveRecord with migrations, associations, scopes
35
+ - Database: ActiveRecord with migrations, associations, and scopes
25
36
 
26
37
  ### Quick Patterns
27
38
 
28
- Rails Controller:
29
- ```ruby
30
- class UsersController < ApplicationController
31
- before_action :set_user, only: %i[show edit update destroy]
32
-
33
- def index
34
- @users = User.all
35
- end
36
-
37
- def create
38
- @user = User.new(user_params)
39
-
40
- respond_to do |format|
41
- if @user.save
42
- format.html { redirect_to @user, notice: "User was successfully created." }
43
- format.turbo_stream
44
- else
45
- format.html { render :new, status: :unprocessable_entity }
46
- end
47
- end
48
- end
49
-
50
- private
51
-
52
- def set_user
53
- @user = User.find(params[:id])
54
- end
55
-
56
- def user_params
57
- params.require(:user).permit(:name, :email)
58
- end
59
- end
60
- ```
61
-
62
- ActiveRecord Model:
63
- ```ruby
64
- class User < ApplicationRecord
65
- has_many :posts, dependent: :destroy
66
- has_one :profile, dependent: :destroy
67
-
68
- validates :email, presence: true, uniqueness: true, format: { with: URI::MailTo::EMAIL_REGEXP }
69
- validates :name, presence: true, length: { minimum: 2, maximum: 100 }
70
-
71
- scope :active, -> { where(active: true) }
72
- scope :recent, -> { order(created_at: :desc) }
73
-
74
- def full_name
75
- "#{first_name} #{last_name}".strip
76
- end
77
- end
78
- ```
79
-
80
- RSpec Test:
81
- ```ruby
82
- RSpec.describe User, type: :model do
83
- describe "validations" do
84
- it { is_expected.to validate_presence_of(:email) }
85
- it { is_expected.to validate_uniqueness_of(:email) }
86
- end
87
-
88
- describe "#full_name" do
89
- let(:user) { build(:user, first_name: "John", last_name: "Doe") }
90
-
91
- it "returns the full name" do
92
- expect(user.full_name).to eq("John Doe")
93
- end
94
- end
95
- end
96
- ```
39
+ Rails Controller Pattern:
40
+
41
+ Create UsersController inheriting from ApplicationController. Add before_action for set_user calling only on show, edit, update, and destroy actions. Define index method assigning User.all to instance variable. Define create method creating new User with user_params. Use respond_to block with format.html redirecting on success or rendering new with unprocessable_entity status, and format.turbo_stream for Turbo responses. Add private set_user method finding by params id. Add user_params method requiring user and permitting name and email.
42
+
43
+ ActiveRecord Model Pattern:
44
+
45
+ Create User model inheriting from ApplicationRecord. Define has_many for posts with dependent destroy and has_one for profile with dependent destroy. Add validates for email with presence, uniqueness, and format using URI::MailTo::EMAIL_REGEXP. Add validates for name with presence and length minimum 2 maximum 100. Define active scope filtering where active is true. Define recent scope ordering by created_at descending. Create full_name method returning first_name and last_name joined with space and stripped.
46
+
47
+ RSpec Test Pattern:
48
+
49
+ Create RSpec.describe for User model type. In describe validations block, add expectations for validate_presence_of and validate_uniqueness_of for email. In describe full_name block, use let to build user with first_name John and last_name Doe. Add it block expecting user.full_name to eq John Doe.
97
50
 
98
51
  ---
99
52
 
@@ -101,532 +54,96 @@ end
101
54
 
102
55
  ### Ruby 3.3 New Features
103
56
 
104
- YJIT (Production-Ready):
105
- - Enabled by default in Ruby 3.3
106
- - 15-20% performance improvement for Rails apps
107
- - Enable: `ruby --yjit` or `RUBY_YJIT_ENABLE=1`
108
- - Check status: `RubyVM::YJIT.enabled?`
109
- - Memory optimization with better code caching
110
-
111
- Pattern Matching (case/in):
112
- ```ruby
113
- def process_response(response)
114
- case response
115
- in { status: "ok", data: data }
116
- puts "Success: #{data}"
117
- in { status: "error", message: msg }
118
- puts "Error: #{msg}"
119
- in { status: status } if %w[pending processing].include?(status)
120
- puts "In progress..."
121
- else
122
- puts "Unknown response"
123
- end
124
- end
125
-
126
- # Array pattern matching
127
- case [1, 2, 3]
128
- in [first, *rest]
129
- puts "First: #{first}, Rest: #{rest}"
130
- end
131
-
132
- # Hash pattern matching with guard
133
- case { name: "John", age: 25 }
134
- in { name:, age: } if age >= 18
135
- puts "Adult: #{name}"
136
- end
137
- ```
138
-
139
- Data Class (Immutable Structs):
140
- ```ruby
141
- # Define immutable data class
142
- User = Data.define(:name, :email) do
143
- def greeting
144
- "Hello, #{name}!"
145
- end
146
- end
147
-
148
- user = User.new(name: "John", email: "john@example.com")
149
- user.name # => "John"
150
- user.greeting # => "Hello, John!"
151
- # user.name = "Jane" # => FrozenError
152
-
153
- # With default values
154
- Point = Data.define(:x, :y) do
155
- def self.origin
156
- new(x: 0, y: 0)
157
- end
158
- end
159
- ```
57
+ YJIT Production-Ready:
58
+
59
+ YJIT is enabled by default in Ruby 3.3 providing 15 to 20 percent performance improvement for Rails applications. Enable by running ruby with yjit flag or setting RUBY_YJIT_ENABLE environment variable to 1. Check status by calling RubyVM::YJIT.enabled? method.
60
+
61
+ Pattern Matching with case/in:
62
+
63
+ Create process_response method taking response parameter. Use case with response and in for pattern matching. Match status ok with data extracting data variable and puts success message. Match status error with message extracting msg variable. Match status with guard condition checking pending or processing. Use else for unknown response.
64
+
65
+ Data Class for Immutable Structs:
66
+
67
+ Create User using Data.define with name and email symbols. Add block defining greeting method returning hello message with name. Create user instance with keyword arguments. Access name property and call greeting method.
160
68
 
161
69
  Endless Method Definition:
162
- ```ruby
163
- class Calculator
164
- # Single expression methods
165
- def add(a, b) = a + b
166
- def multiply(a, b) = a * b
167
-
168
- # With method chaining
169
- def double(n) = n * 2
170
- def square(n) = n ** 2
171
-
172
- # Predicate methods
173
- def positive?(n) = n > 0
174
- def even?(n) = n.even?
175
- end
176
- ```
70
+
71
+ Create Calculator class with add, multiply, and positive? methods using equals sign syntax for single expression methods.
177
72
 
178
73
  ### Rails 7.2 Patterns
179
74
 
180
- Application Setup:
181
- ```ruby
182
- # Gemfile
183
- source "https://rubygems.org"
184
-
185
- gem "rails", "~> 7.2.0"
186
- gem "pg", "~> 1.5"
187
- gem "puma", ">= 6.0"
188
- gem "turbo-rails"
189
- gem "stimulus-rails"
190
- gem "jbuilder"
191
- gem "redis", ">= 5.0"
192
- gem "sidekiq", "~> 7.0"
193
-
194
- group :development, :test do
195
- gem "rspec-rails", "~> 7.0"
196
- gem "factory_bot_rails"
197
- gem "faker"
198
- gem "rubocop-rails", require: false
199
- end
200
-
201
- group :test do
202
- gem "capybara"
203
- gem "shoulda-matchers"
204
- end
205
- ```
75
+ Application Setup in Gemfile:
76
+
77
+ Set source to rubygems.org. Add rails version constraint for 7.2, pg for 1.5, puma for 6.0 or later, turbo-rails, stimulus-rails, and sidekiq for 7.0. In development and test group add rspec-rails for 7.0, factory_bot_rails, faker, and rubocop-rails with require false. In test group add capybara and shoulda-matchers.
206
78
 
207
79
  Model with Concerns:
208
- ```ruby
209
- # app/models/concerns/sluggable.rb
210
- module Sluggable
211
- extend ActiveSupport::Concern
212
-
213
- included do
214
- before_validation :generate_slug, on: :create
215
- validates :slug, presence: true, uniqueness: true
216
- end
217
-
218
- def to_param
219
- slug
220
- end
221
-
222
- private
223
-
224
- def generate_slug
225
- self.slug = title.parameterize if title.present? && slug.blank?
226
- end
227
- end
228
-
229
- # app/models/post.rb
230
- class Post < ApplicationRecord
231
- include Sluggable
232
-
233
- belongs_to :user
234
- has_many :comments, dependent: :destroy
235
- has_many_attached :images
236
-
237
- validates :title, presence: true, length: { minimum: 5 }
238
- validates :content, presence: true
239
-
240
- scope :published, -> { where(published: true) }
241
- scope :by_user, ->(user) { where(user: user) }
242
- end
243
- ```
244
-
245
- Service Objects:
246
- ```ruby
247
- # app/services/user_registration_service.rb
248
- class UserRegistrationService
249
- def initialize(user_params)
250
- @user_params = user_params
251
- end
252
-
253
- def call
254
- user = User.new(@user_params)
255
-
256
- ActiveRecord::Base.transaction do
257
- user.save!
258
- create_profile(user)
259
- send_welcome_email(user)
260
- end
261
-
262
- Result.new(success: true, user: user)
263
- rescue ActiveRecord::RecordInvalid => e
264
- Result.new(success: false, errors: e.record.errors)
265
- end
266
-
267
- private
268
-
269
- def create_profile(user)
270
- user.create_profile!(bio: "New user")
271
- end
272
-
273
- def send_welcome_email(user)
274
- UserMailer.welcome(user).deliver_later
275
- end
276
-
277
- Result = Data.define(:success, :user, :errors) do
278
- def success? = success
279
- def failure? = !success
280
- end
281
- end
282
- ```
283
-
284
- ### Hotwire (Turbo + Stimulus)
285
-
286
- Turbo Frames:
287
- ```erb
288
- <!-- app/views/posts/index.html.erb -->
289
- <%= turbo_frame_tag "posts" do %>
290
- <% @posts.each do |post| %>
291
- <%= render post %>
292
- <% end %>
293
- <% end %>
294
-
295
- <!-- app/views/posts/_post.html.erb -->
296
- <%= turbo_frame_tag dom_id(post) do %>
297
- <article class="post">
298
- <h2><%= link_to post.title, post %></h2>
299
- <p><%= truncate(post.content, length: 200) %></p>
300
- <%= link_to "Edit", edit_post_path(post) %>
301
- </article>
302
- <% end %>
303
- ```
304
-
305
- Turbo Streams:
306
- ```ruby
307
- # app/controllers/posts_controller.rb
308
- def create
309
- @post = current_user.posts.build(post_params)
310
-
311
- respond_to do |format|
312
- if @post.save
313
- format.turbo_stream
314
- format.html { redirect_to @post }
315
- else
316
- format.html { render :new, status: :unprocessable_entity }
317
- end
318
- end
319
- end
320
-
321
- # app/views/posts/create.turbo_stream.erb
322
- <%= turbo_stream.prepend "posts", @post %>
323
- <%= turbo_stream.update "new_post", partial: "posts/form", locals: { post: Post.new } %>
324
- ```
325
-
326
- Stimulus Controller:
327
- ```javascript
328
- // app/javascript/controllers/form_controller.js
329
- import { Controller } from "@hotwired/stimulus"
330
-
331
- export default class extends Controller {
332
- static targets = ["input", "submit", "output"]
333
- static values = { url: String }
334
-
335
- connect() {
336
- this.validate()
337
- }
338
-
339
- validate() {
340
- const isValid = this.inputTargets.every(input => input.value.length > 0)
341
- this.submitTarget.disabled = !isValid
342
- }
343
-
344
- async submit(event) {
345
- event.preventDefault()
346
-
347
- const response = await fetch(this.urlValue, {
348
- method: "POST",
349
- body: new FormData(this.element),
350
- headers: { "Accept": "text/vnd.turbo-stream.html" }
351
- })
352
-
353
- if (response.ok) {
354
- this.element.reset()
355
- }
356
- }
357
- }
358
- ```
359
-
360
- ### RSpec Testing Patterns
361
-
362
- Model Specs:
363
- ```ruby
364
- # spec/models/user_spec.rb
365
- RSpec.describe User, type: :model do
366
- describe "associations" do
367
- it { is_expected.to have_many(:posts).dependent(:destroy) }
368
- it { is_expected.to have_one(:profile).dependent(:destroy) }
369
- end
370
-
371
- describe "validations" do
372
- subject { build(:user) }
373
-
374
- it { is_expected.to validate_presence_of(:email) }
375
- it { is_expected.to validate_uniqueness_of(:email).case_insensitive }
376
- it { is_expected.to validate_length_of(:name).is_at_least(2).is_at_most(100) }
377
- end
378
-
379
- describe "scopes" do
380
- describe ".active" do
381
- let!(:active_user) { create(:user, active: true) }
382
- let!(:inactive_user) { create(:user, active: false) }
383
-
384
- it "returns only active users" do
385
- expect(described_class.active).to contain_exactly(active_user)
386
- end
387
- end
388
- end
389
-
390
- describe "#full_name" do
391
- context "when both names are present" do
392
- let(:user) { build(:user, first_name: "John", last_name: "Doe") }
393
-
394
- it "returns the full name" do
395
- expect(user.full_name).to eq("John Doe")
396
- end
397
- end
398
-
399
- context "when last name is missing" do
400
- let(:user) { build(:user, first_name: "John", last_name: nil) }
401
-
402
- it "returns only first name" do
403
- expect(user.full_name).to eq("John")
404
- end
405
- end
406
- end
407
- end
408
- ```
409
-
410
- Request Specs:
411
- ```ruby
412
- # spec/requests/posts_spec.rb
413
- RSpec.describe "Posts", type: :request do
414
- let(:user) { create(:user) }
415
-
416
- before { sign_in user }
417
-
418
- describe "GET /posts" do
419
- let!(:posts) { create_list(:post, 3, user: user) }
420
-
421
- it "returns a successful response" do
422
- get posts_path
423
- expect(response).to have_http_status(:ok)
424
- end
425
-
426
- it "displays all posts" do
427
- get posts_path
428
- posts.each do |post|
429
- expect(response.body).to include(post.title)
430
- end
431
- end
432
- end
433
-
434
- describe "POST /posts" do
435
- let(:valid_params) { { post: attributes_for(:post) } }
436
- let(:invalid_params) { { post: { title: "" } } }
437
-
438
- context "with valid parameters" do
439
- it "creates a new post" do
440
- expect {
441
- post posts_path, params: valid_params
442
- }.to change(Post, :count).by(1)
443
- end
444
-
445
- it "redirects to the created post" do
446
- post posts_path, params: valid_params
447
- expect(response).to redirect_to(Post.last)
448
- end
449
- end
450
-
451
- context "with invalid parameters" do
452
- it "does not create a new post" do
453
- expect {
454
- post posts_path, params: invalid_params
455
- }.not_to change(Post, :count)
456
- end
457
-
458
- it "returns unprocessable entity status" do
459
- post posts_path, params: invalid_params
460
- expect(response).to have_http_status(:unprocessable_entity)
461
- end
462
- end
463
- end
464
- end
465
- ```
80
+
81
+ Create Sluggable module extending ActiveSupport::Concern. In included block add before_validation for generate_slug on create and validates for slug with presence and uniqueness. Define to_param returning slug. Add private generate_slug method setting slug from parameterized title if title present and slug blank. Create Post model including Sluggable with belongs_to user, has_many comments with dependent destroy, has_many_attached images. Add validations and published scope.
82
+
83
+ Service Objects Pattern:
84
+
85
+ Create UserRegistrationService with initialize accepting user_params. Define call method creating User, using ActiveRecord::Base.transaction to save user, create profile, and send welcome email. Return Result with success true and user. Rescue RecordInvalid returning Result with success false and errors. Add private methods for create_profile and send_welcome_email. Define Result as Data.define with success, user, and errors, adding success? and failure? predicate methods.
86
+
87
+ ### Hotwire Turbo and Stimulus
88
+
89
+ Turbo Frames Pattern:
90
+
91
+ In index view, use turbo_frame_tag with posts id and iterate posts rendering each. In post partial, use turbo_frame_tag with dom_id for post, containing article with h2 link and truncated content paragraph.
92
+
93
+ Turbo Streams Pattern:
94
+
95
+ In controller create action, build post from current_user.posts. Use respond_to with format.turbo_stream and format.html for redirect or render based on save success. In create.turbo_stream.erb view, use turbo_stream.prepend for posts with post, and turbo_stream.update for new_post form partial.
96
+
97
+ Stimulus Controller Pattern:
98
+
99
+ In JavaScript controller file, import Controller from hotwired/stimulus. Export default class extending Controller with static targets array for input and submit. Define connect method calling validate. Define validate method checking all input targets have values and setting submit target disabled accordingly.
100
+
101
+ ### RSpec Testing Basics
466
102
 
467
103
  Factory Bot Patterns:
468
- ```ruby
469
- # spec/factories/users.rb
470
- FactoryBot.define do
471
- factory :user do
472
- sequence(:email) { |n| "user#{n}@example.com" }
473
- name { Faker::Name.name }
474
- password { "password123" }
475
- active { true }
476
-
477
- trait :inactive do
478
- active { false }
479
- end
480
-
481
- trait :admin do
482
- role { :admin }
483
- end
484
-
485
- trait :with_posts do
486
- transient do
487
- posts_count { 3 }
488
- end
489
-
490
- after(:create) do |user, evaluator|
491
- create_list(:post, evaluator.posts_count, user: user)
492
- end
493
- end
494
-
495
- factory :admin_user, traits: [:admin]
496
- end
497
- end
498
- ```
499
-
500
- ### Sidekiq Background Jobs
501
-
502
- Job Definition:
503
- ```ruby
504
- # app/jobs/process_order_job.rb
505
- class ProcessOrderJob < ApplicationJob
506
- queue_as :default
507
- retry_on ActiveRecord::Deadlocked, wait: 5.seconds, attempts: 3
508
- discard_on ActiveJob::DeserializationError
509
-
510
- def perform(order_id)
511
- order = Order.find(order_id)
512
-
513
- ActiveRecord::Base.transaction do
514
- order.process!
515
- order.update!(processed_at: Time.current)
516
- OrderMailer.confirmation(order).deliver_later
517
- end
518
- end
519
- end
520
-
521
- # Sidekiq configuration
522
- # config/initializers/sidekiq.rb
523
- Sidekiq.configure_server do |config|
524
- config.redis = { url: ENV.fetch("REDIS_URL", "redis://localhost:6379/1") }
525
- end
526
-
527
- Sidekiq.configure_client do |config|
528
- config.redis = { url: ENV.fetch("REDIS_URL", "redis://localhost:6379/1") }
529
- end
530
- ```
531
-
532
- ### ActiveRecord Advanced Patterns
533
-
534
- Scopes and Query Objects:
535
- ```ruby
536
- class Post < ApplicationRecord
537
- scope :published, -> { where(published: true) }
538
- scope :recent, -> { order(created_at: :desc) }
539
- scope :by_author, ->(author) { where(author: author) }
540
- scope :search, ->(query) { where("title ILIKE ?", "%#{query}%") }
541
-
542
- # Complex scope with joins
543
- scope :with_comments, -> {
544
- joins(:comments).group(:id).having("COUNT(comments.id) > 0")
545
- }
546
-
547
- # Scope returning specific columns
548
- scope :titles_only, -> { select(:id, :title) }
549
- end
550
-
551
- # Query Object
552
- class PostSearchQuery
553
- def initialize(relation = Post.all)
554
- @relation = relation
555
- end
556
-
557
- def call(params)
558
- @relation
559
- .then { |r| filter_by_status(r, params[:status]) }
560
- .then { |r| filter_by_date(r, params[:start_date], params[:end_date]) }
561
- .then { |r| search_by_title(r, params[:query]) }
562
- .then { |r| paginate(r, params[:page], params[:per_page]) }
563
- end
564
-
565
- private
566
-
567
- def filter_by_status(relation, status)
568
- return relation if status.blank?
569
- relation.where(status: status)
570
- end
571
-
572
- def filter_by_date(relation, start_date, end_date)
573
- relation = relation.where("created_at >= ?", start_date) if start_date
574
- relation = relation.where("created_at <= ?", end_date) if end_date
575
- relation
576
- end
577
-
578
- def search_by_title(relation, query)
579
- return relation if query.blank?
580
- relation.where("title ILIKE ?", "%#{query}%")
581
- end
582
-
583
- def paginate(relation, page, per_page)
584
- page ||= 1
585
- per_page ||= 25
586
- relation.limit(per_page).offset((page.to_i - 1) * per_page.to_i)
587
- end
588
- end
589
- ```
104
+
105
+ In factories file, define factory for user with sequence for email, Faker::Name.name for name, and password123 for password. Add admin trait setting role to admin symbol. Add with_posts trait with transient posts_count defaulting to 3, using after create callback to create_list posts for user.
590
106
 
591
107
  ---
592
108
 
593
109
  ## Advanced Implementation (10+ minutes)
594
110
 
595
111
  For comprehensive coverage including:
596
- - Production deployment patterns (Docker, Kubernetes)
597
- - Advanced ActiveRecord patterns (polymorphic, STI)
112
+
113
+ - Production deployment patterns for Docker and Kubernetes
114
+ - Advanced ActiveRecord patterns including polymorphic, STI, and query objects
598
115
  - Action Cable real-time features
599
116
  - Performance optimization techniques
600
117
  - Security best practices
601
118
  - CI/CD integration patterns
119
+ - Complete RSpec testing patterns
602
120
 
603
121
  See:
604
- - [reference.md](reference.md) - Complete reference documentation
605
- - [examples.md](examples.md) - Production-ready code examples
122
+
123
+ - modules/advanced-patterns.md for production patterns and advanced features
124
+ - modules/testing-patterns.md for complete RSpec testing guide
606
125
 
607
126
  ---
608
127
 
609
128
  ## Context7 Library Mappings
610
129
 
611
- ```
612
- /rails/rails - Ruby on Rails web framework
613
- /rspec/rspec - RSpec testing framework
614
- /hotwired/turbo-rails - Turbo for Rails
615
- /hotwired/stimulus-rails - Stimulus for Rails
616
- /sidekiq/sidekiq - Background job processing
617
- /rubocop/rubocop - Ruby style guide enforcement
618
- /thoughtbot/factory_bot - Test data factories
619
- ```
130
+ - rails/rails for Ruby on Rails web framework
131
+ - rspec/rspec for RSpec testing framework
132
+ - hotwired/turbo-rails for Turbo for Rails
133
+ - hotwired/stimulus-rails for Stimulus for Rails
134
+ - sidekiq/sidekiq for background job processing
135
+ - rubocop/rubocop for Ruby style guide enforcement
136
+ - thoughtbot/factory_bot for test data factories
620
137
 
621
138
  ---
622
139
 
623
140
  ## Works Well With
624
141
 
625
- - `moai-domain-backend` - REST API and web application architecture
626
- - `moai-domain-database` - SQL patterns and ActiveRecord optimization
627
- - `moai-quality-testing` - TDD and testing strategies
628
- - `moai-essentials-debug` - AI-powered debugging
629
- - `moai-foundation-trust` - TRUST 5 quality principles
142
+ - moai-domain-backend for REST API and web application architecture
143
+ - moai-domain-database for SQL patterns and ActiveRecord optimization
144
+ - moai-workflow-testing for TDD and testing strategies
145
+ - moai-essentials-debug for AI-powered debugging
146
+ - moai-foundation-quality for TRUST 5 quality principles
630
147
 
631
148
  ---
632
149
 
@@ -635,53 +152,32 @@ See:
635
152
  Common Issues:
636
153
 
637
154
  Ruby Version Check:
638
- ```bash
639
- ruby --version # Should be 3.3+
640
- ruby -e "puts RubyVM::YJIT.enabled?" # Check YJIT status
641
- ```
155
+
156
+ Run ruby with version flag for 3.3 or later. Check YJIT status by running ruby -e with puts RubyVM::YJIT.enabled? command.
642
157
 
643
158
  Rails Version Check:
644
- ```bash
645
- rails --version # Should be 7.2+
646
- bundle exec rails about # Full environment info
647
- ```
159
+
160
+ Run rails with version flag for 7.2 or later. Run bundle exec rails about for full environment information.
648
161
 
649
162
  Database Connection Issues:
650
- - Check `config/database.yml` configuration
651
- - Ensure PostgreSQL/MySQL service is running
652
- - Run `rails db:create` if database doesn't exist
163
+
164
+ - Check config/database.yml configuration
165
+ - Ensure PostgreSQL or MySQL service is running
166
+ - Run rails db:create if database does not exist
653
167
 
654
168
  Asset Pipeline Issues:
655
- ```bash
656
- # Precompile assets
657
- rails assets:precompile
658
169
 
659
- # Clear asset cache
660
- rails assets:clobber
661
- ```
170
+ Run rails assets:precompile to compile assets. Run rails assets:clobber to clear compiled assets.
662
171
 
663
172
  RSpec Setup Issues:
664
- ```bash
665
- # Install RSpec
666
- rails generate rspec:install
667
-
668
- # Run specific test
669
- bundle exec rspec spec/models/user_spec.rb
670
173
 
671
- # Run with verbose output
672
- bundle exec rspec --format documentation
673
- ```
174
+ Run rails generate rspec:install for initial setup. Run bundle exec rspec with specific file path for single spec. Run bundle exec rspec with format documentation for verbose output.
674
175
 
675
- Turbo/Stimulus Issues:
676
- ```bash
677
- # Rebuild JavaScript
678
- rails javascript:install:esbuild
176
+ Turbo and Stimulus Issues:
679
177
 
680
- # Clear Turbo cache
681
- rails turbo:install
682
- ```
178
+ Run rails javascript:install:esbuild for JavaScript setup. Run rails turbo:install for Turbo installation.
683
179
 
684
180
  ---
685
181
 
686
- Last Updated: 2025-12-07
687
- Status: Active (v1.0.0)
182
+ Last Updated: 2026-01-11
183
+ Status: Active (v1.1.0)