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,1087 @@
1
+ # R 4.4+ Complete Reference
2
+
3
+ ## R 4.4 Feature Matrix
4
+
5
+ | Feature | Version | Status | Production Ready |
6
+ | ------------------------ | ------- | ------ | ---------------- |
7
+ | Native Pipe `\|>` | 4.1+ | Stable | Yes |
8
+ | Lambda Syntax `\(x)` | 4.1+ | Stable | Yes |
9
+ | Placeholder `_` in Pipes | 4.2+ | Stable | Yes |
10
+ | `\(x, y)` Shorthand | 4.1+ | Stable | Yes |
11
+ | Improved Error Messages | 4.4+ | Stable | Yes |
12
+ | Performance Improvements | 4.4+ | Stable | Yes |
13
+
14
+ ### R 4.4 New Features
15
+
16
+ Improved Error Handling:
17
+
18
+ ```r
19
+ # Better error messages with suggestions
20
+ mean(c(1, 2, "three"))
21
+ # Error in mean.default(c(1, 2, "three")) :
22
+ # argument is not numeric or logical: returning NA
23
+ # Did you mean to use as.numeric() first?
24
+
25
+ # More informative warnings
26
+ data.frame(x = 1:3, y = 1:2)
27
+ # Warning: longer object length is not a multiple of shorter object length
28
+ # Columns: x (length 3), y (length 2)
29
+ ```
30
+
31
+ Performance Optimizations:
32
+
33
+ ```r
34
+ # Faster data frame operations
35
+ system.time({
36
+ df <- data.frame(x = 1:1e6, y = rnorm(1e6))
37
+ df$z <- df$x + df$y
38
+ })
39
+
40
+ # Improved memory management
41
+ gc(verbose = TRUE)
42
+ ```
43
+
44
+ ---
45
+
46
+ ## tidyverse Package Reference
47
+
48
+ ### dplyr 1.1+ Complete Functions
49
+
50
+ #### Core Verbs
51
+
52
+ | Function | Purpose | Example |
53
+ | ------------- | --------------------- | ----------------------------------- |
54
+ | `filter()` | Subset rows | `filter(data, x > 5)` |
55
+ | `select()` | Select columns | `select(data, x, y)` |
56
+ | `mutate()` | Create/modify columns | `mutate(data, z = x + y)` |
57
+ | `summarise()` | Aggregate data | `summarise(data, mean_x = mean(x))` |
58
+ | `arrange()` | Sort rows | `arrange(data, desc(x))` |
59
+ | `group_by()` | Group data | `group_by(data, category)` |
60
+ | `ungroup()` | Remove grouping | `ungroup(data)` |
61
+
62
+ #### Selection Helpers
63
+
64
+ | Helper | Purpose | Example |
65
+ | --------------- | --------------------- | ----------------------------------- |
66
+ | `starts_with()` | Columns starting with | `select(data, starts_with("x"))` |
67
+ | `ends_with()` | Columns ending with | `select(data, ends_with("_id"))` |
68
+ | `contains()` | Columns containing | `select(data, contains("date"))` |
69
+ | `matches()` | Regex pattern | `select(data, matches("\\d+"))` |
70
+ | `num_range()` | Numbered columns | `select(data, num_range("x", 1:3))` |
71
+ | `where()` | Function predicate | `select(data, where(is.numeric))` |
72
+ | `everything()` | All columns | `select(data, id, everything())` |
73
+ | `last_col()` | Last column(s) | `select(data, last_col())` |
74
+
75
+ #### Window Functions
76
+
77
+ | Function | Purpose | Example |
78
+ | ---------------- | ----------------------- | -------------------------------------- |
79
+ | `row_number()` | Row number | `mutate(data, rank = row_number(x))` |
80
+ | `ntile()` | Percentile groups | `mutate(data, quartile = ntile(x, 4))` |
81
+ | `min_rank()` | Ranking | `mutate(data, rank = min_rank(x))` |
82
+ | `percent_rank()` | Percent rank | `mutate(data, pct = percent_rank(x))` |
83
+ | `cume_dist()` | Cumulative distribution | `mutate(data, cdf = cume_dist(x))` |
84
+ | `lag()` | Previous value | `mutate(data, prev = lag(x))` |
85
+ | `lead()` | Next value | `mutate(data, next = lead(x))` |
86
+ | `cumsum()` | Cumulative sum | `mutate(data, total = cumsum(x))` |
87
+ | `cummean()` | Cumulative mean | `mutate(data, avg = cummean(x))` |
88
+
89
+ #### Advanced Functions
90
+
91
+ across() Patterns:
92
+
93
+ ```r
94
+ # Multiple functions
95
+ data |>
96
+ mutate(
97
+ across(
98
+ where(is.numeric),
99
+ list(
100
+ mean = mean,
101
+ sd = sd,
102
+ min = min,
103
+ max = max
104
+ ),
105
+ .names = "{.col}_{.fn}"
106
+ )
107
+ )
108
+
109
+ # With arguments
110
+ data |>
111
+ summarise(
112
+ across(
113
+ where(is.numeric),
114
+ \(x) mean(x, na.rm = TRUE),
115
+ .names = "mean_{.col}"
116
+ )
117
+ )
118
+
119
+ # Multiple columns and functions
120
+ data |>
121
+ mutate(
122
+ across(
123
+ c(x, y, z),
124
+ list(log = log, sqrt = sqrt),
125
+ .names = "{.fn}_{.col}"
126
+ )
127
+ )
128
+ ```
129
+
130
+ if_any() and if_all():
131
+
132
+ ```r
133
+ # Filter rows where ANY condition is true
134
+ data |>
135
+ filter(
136
+ if_any(
137
+ c(revenue, profit, growth),
138
+ \(x) x > quantile(x, 0.9, na.rm = TRUE)
139
+ )
140
+ )
141
+
142
+ # Filter rows where ALL conditions are true
143
+ data |>
144
+ filter(
145
+ if_all(
146
+ starts_with("score_"),
147
+ \(x) x >= 80
148
+ )
149
+ )
150
+ ```
151
+
152
+ ### tidyr 1.3+ Complete Functions
153
+
154
+ | Function | Purpose | Example |
155
+ | ------------------------ | --------------------- | -------------------------------------- |
156
+ | `pivot_longer()` | Wide to long | `pivot_longer(data, cols = c(x, y))` |
157
+ | `pivot_wider()` | Long to wide | `pivot_wider(data, names_from = key)` |
158
+ | `separate()` | Split column | `separate(data, col, c("a", "b"))` |
159
+ | `separate_wider_delim()` | Modern separate | `separate_wider_delim(data, col, ",")` |
160
+ | `unite()` | Combine columns | `unite(data, "new", x, y)` |
161
+ | `nest()` | Create list-column | `nest(data, data = c(x, y))` |
162
+ | `unnest()` | Expand list-column | `unnest(data, cols = c(data))` |
163
+ | `complete()` | Fill combinations | `complete(data, x, y)` |
164
+ | `expand()` | Generate combinations | `expand(data, x, y)` |
165
+ | `drop_na()` | Remove NA rows | `drop_na(data)` |
166
+ | `fill()` | Fill missing values | `fill(data, x, .direction = "down")` |
167
+ | `replace_na()` | Replace NA values | `replace_na(data, list(x = 0))` |
168
+
169
+ ### purrr 1.0+ Complete Functions
170
+
171
+ Map Family:
172
+
173
+ ```r
174
+ # Basic map variants
175
+ map(.x, .f) # Returns list
176
+ map_dbl(.x, .f) # Returns numeric vector
177
+ map_chr(.x, .f) # Returns character vector
178
+ map_lgl(.x, .f) # Returns logical vector
179
+ map_int(.x, .f) # Returns integer vector
180
+ map_dfr(.x, .f) # Returns data frame (row-bind)
181
+ map_dfc(.x, .f) # Returns data frame (column-bind)
182
+
183
+ # Multiple inputs
184
+ map2(.x, .y, .f) # Two inputs
185
+ pmap(.l, .f) # Multiple inputs (list)
186
+
187
+ # Indexed mapping
188
+ imap(.x, .f) # With index/name
189
+ ```
190
+
191
+ Error Handling:
192
+
193
+ ```r
194
+ # safely() - Returns list(result, error)
195
+ safe_fn <- safely(function(x) x / 0)
196
+ safe_fn(10)
197
+ # $result: Inf
198
+ # $error: NULL
199
+
200
+ # possibly() - Returns default on error
201
+ poss_fn <- possibly(function(x) x / 0, otherwise = NA)
202
+ poss_fn(10) # NA
203
+
204
+ # quietly() - Captures output/messages
205
+ quiet_fn <- quietly(function(x) { message("hi"); x + 1 })
206
+ quiet_fn(5)
207
+ # $result: 6
208
+ # $output: ""
209
+ # $warnings: character(0)
210
+ # $messages: "hi\n"
211
+ ```
212
+
213
+ List Manipulation:
214
+
215
+ ```r
216
+ keep(.x, .p) # Keep elements matching predicate
217
+ discard(.x, .p) # Remove elements matching predicate
218
+ compact(.x) # Remove NULL elements
219
+ pluck(.x, ...) # Extract element by position/name
220
+ chuck(.x, ...) # Like pluck but errors on missing
221
+ flatten(.x) # Flatten one level
222
+ flatten_dbl(.x) # Flatten to numeric vector
223
+ ```
224
+
225
+ Reduce/Accumulate:
226
+
227
+ ```r
228
+ reduce(.x, .f) # Combine elements sequentially
229
+ reduce2(.x, .y, .f) # Reduce with auxiliary input
230
+ accumulate(.x, .f) # Like reduce but return intermediates
231
+ ```
232
+
233
+ ### stringr 1.5+ String Operations
234
+
235
+ | Function | Purpose | Example |
236
+ | ------------------- | -------------------- | --------------------------------- |
237
+ | `str_detect()` | Detect pattern | `str_detect(x, "pattern")` |
238
+ | `str_extract()` | Extract first match | `str_extract(x, "\\d+")` |
239
+ | `str_extract_all()` | Extract all matches | `str_extract_all(x, "\\w+")` |
240
+ | `str_replace()` | Replace first match | `str_replace(x, "old", "new")` |
241
+ | `str_replace_all()` | Replace all matches | `str_replace_all(x, "\\d+", "X")` |
242
+ | `str_remove()` | Remove first match | `str_remove(x, "pattern")` |
243
+ | `str_remove_all()` | Remove all matches | `str_remove_all(x, "\\s+")` |
244
+ | `str_split()` | Split string | `str_split(x, ",")` |
245
+ | `str_c()` | Concatenate | `str_c(x, y, sep = " ")` |
246
+ | `str_glue()` | Interpolate | `str_glue("Value: {x}")` |
247
+ | `str_to_lower()` | Lowercase | `str_to_lower(x)` |
248
+ | `str_to_upper()` | Uppercase | `str_to_upper(x)` |
249
+ | `str_to_title()` | Title case | `str_to_title(x)` |
250
+ | `str_trim()` | Remove whitespace | `str_trim(x)` |
251
+ | `str_squish()` | Normalize whitespace | `str_squish(x)` |
252
+ | `str_pad()` | Pad string | `str_pad(x, width = 10)` |
253
+ | `str_sub()` | Substring | `str_sub(x, start = 1, end = 5)` |
254
+ | `str_length()` | String length | `str_length(x)` |
255
+
256
+ ### forcats 1.0+ Factor Functions
257
+
258
+ | Function | Purpose | Example |
259
+ | ------------------- | ------------------ | ------------------------------------------ |
260
+ | `fct_relevel()` | Reorder levels | `fct_relevel(f, "b", "a", "c")` |
261
+ | `fct_reorder()` | Reorder by value | `fct_reorder(f, x, .fun = median)` |
262
+ | `fct_infreq()` | Order by frequency | `fct_infreq(f)` |
263
+ | `fct_rev()` | Reverse levels | `fct_rev(f)` |
264
+ | `fct_lump()` | Lump infrequent | `fct_lump(f, n = 5)` |
265
+ | `fct_recode()` | Rename levels | `fct_recode(f, new = "old")` |
266
+ | `fct_collapse()` | Combine levels | `fct_collapse(f, new = c("a", "b"))` |
267
+ | `fct_explicit_na()` | Make NA explicit | `fct_explicit_na(f, na_level = "Missing")` |
268
+
269
+ ---
270
+
271
+ ## ggplot2 3.5+ Complete Reference
272
+
273
+ ### Geom Reference Table
274
+
275
+ | Geom | Purpose | Required Aesthetics |
276
+ | ------------------ | ------------------ | ------------------- |
277
+ | `geom_point()` | Scatter plot | x, y |
278
+ | `geom_line()` | Line plot | x, y |
279
+ | `geom_path()` | Connected points | x, y |
280
+ | `geom_bar()` | Bar chart (count) | x |
281
+ | `geom_col()` | Bar chart (values) | x, y |
282
+ | `geom_histogram()` | Histogram | x |
283
+ | `geom_boxplot()` | Box plot | x, y |
284
+ | `geom_violin()` | Violin plot | x, y |
285
+ | `geom_density()` | Density plot | x |
286
+ | `geom_area()` | Area plot | x, y |
287
+ | `geom_tile()` | Heatmap | x, y, fill |
288
+ | `geom_raster()` | Fast heatmap | x, y, fill |
289
+ | `geom_polygon()` | Polygons | x, y |
290
+ | `geom_smooth()` | Smoothed line | x, y |
291
+ | `geom_text()` | Text labels | x, y, label |
292
+ | `geom_label()` | Text with box | x, y, label |
293
+ | `geom_errorbar()` | Error bars | x, ymin, ymax |
294
+ | `geom_ribbon()` | Confidence band | x, ymin, ymax |
295
+ | `geom_segment()` | Line segments | x, y, xend, yend |
296
+
297
+ ### Scale Reference
298
+
299
+ Color/Fill Scales:
300
+
301
+ ```r
302
+ # Continuous scales
303
+ scale_color_gradient() # 2-color gradient
304
+ scale_color_gradient2() # 3-color gradient (diverging)
305
+ scale_color_gradientn() # n-color gradient
306
+ scale_color_viridis_c() # Viridis continuous
307
+
308
+ # Discrete scales
309
+ scale_color_manual() # Manual colors
310
+ scale_color_brewer() # ColorBrewer palettes
311
+ scale_color_viridis_d() # Viridis discrete
312
+ scale_color_grey() # Greyscale
313
+
314
+ # Binned scales
315
+ scale_color_steps() # Stepped gradient
316
+ scale_color_steps2() # Stepped diverging
317
+ scale_color_stepsn() # n-step gradient
318
+ ```
319
+
320
+ Position Scales:
321
+
322
+ ```r
323
+ # X/Y scales
324
+ scale_x_continuous() # Numeric x-axis
325
+ scale_x_discrete() # Categorical x-axis
326
+ scale_x_log10() # Log10 transform
327
+ scale_x_sqrt() # Square root transform
328
+ scale_x_reverse() # Reverse axis
329
+ scale_x_date() # Date axis
330
+ scale_x_datetime() # Datetime axis
331
+
332
+ # Breaks and labels
333
+ scale_x_continuous(
334
+ breaks = seq(0, 100, 10),
335
+ labels = scales::comma
336
+ )
337
+
338
+ # Limits and expansion
339
+ scale_y_continuous(
340
+ limits = c(0, 100),
341
+ expand = expansion(mult = c(0, 0.05))
342
+ )
343
+ ```
344
+
345
+ ### Theme Reference
346
+
347
+ Complete Theme Elements:
348
+
349
+ ```r
350
+ theme(
351
+ # Text elements
352
+ text = element_text(family = "sans", size = 12),
353
+ plot.title = element_text(face = "bold", size = 16),
354
+ plot.subtitle = element_text(color = "gray40"),
355
+ plot.caption = element_text(hjust = 0, size = 8),
356
+ axis.title = element_text(face = "bold"),
357
+ axis.text = element_text(color = "black"),
358
+ legend.title = element_text(face = "bold"),
359
+ legend.text = element_text(size = 10),
360
+ strip.text = element_text(face = "bold"),
361
+
362
+ # Line elements
363
+ axis.line = element_line(color = "black"),
364
+ panel.grid.major = element_line(color = "gray80"),
365
+ panel.grid.minor = element_blank(),
366
+
367
+ # Rect elements
368
+ plot.background = element_rect(fill = "white"),
369
+ panel.background = element_rect(fill = "white"),
370
+ legend.background = element_rect(fill = "white"),
371
+ strip.background = element_rect(fill = "gray90"),
372
+
373
+ # Positioning
374
+ legend.position = "bottom",
375
+ legend.justification = "center",
376
+ plot.title.position = "plot",
377
+ plot.caption.position = "plot"
378
+ )
379
+ ```
380
+
381
+ Built-in Themes:
382
+
383
+ - `theme_gray()` - Default ggplot2 theme
384
+ - `theme_bw()` - Black and white theme
385
+ - `theme_minimal()` - Minimal theme
386
+ - `theme_classic()` - Classic theme (no gridlines)
387
+ - `theme_light()` - Light theme
388
+ - `theme_dark()` - Dark theme
389
+ - `theme_void()` - Empty theme
390
+
391
+ ---
392
+
393
+ ## Shiny Component Reference
394
+
395
+ ### UI Components
396
+
397
+ Input Widgets:
398
+
399
+ ```r
400
+ # Text inputs
401
+ textInput(id, label, value = "")
402
+ textAreaInput(id, label, value = "")
403
+ passwordInput(id, label, value = "")
404
+
405
+ # Numeric inputs
406
+ numericInput(id, label, value, min, max, step)
407
+ sliderInput(id, label, min, max, value, step)
408
+
409
+ # Selection inputs
410
+ selectInput(id, label, choices, selected, multiple = FALSE)
411
+ selectizeInput(id, label, choices, selected, multiple = FALSE)
412
+ radioButtons(id, label, choices, selected)
413
+ checkboxInput(id, label, value = FALSE)
414
+ checkboxGroupInput(id, label, choices, selected)
415
+
416
+ # Date/Time inputs
417
+ dateInput(id, label, value = Sys.Date())
418
+ dateRangeInput(id, label, start, end)
419
+
420
+ # File inputs
421
+ fileInput(id, label, multiple = FALSE, accept = NULL)
422
+
423
+ # Action buttons
424
+ actionButton(id, label, icon = NULL)
425
+ downloadButton(id, label)
426
+ ```
427
+
428
+ Output Containers:
429
+
430
+ ```r
431
+ # Text outputs
432
+ textOutput(id)
433
+ verbatimTextOutput(id)
434
+
435
+ # Plot outputs
436
+ plotOutput(id, width, height, click, hover, brush)
437
+ plotlyOutput(id, width, height)
438
+
439
+ # Table outputs
440
+ tableOutput(id)
441
+ dataTableOutput(id)
442
+
443
+ # UI outputs
444
+ uiOutput(id)
445
+ htmlOutput(id)
446
+
447
+ # Download handlers
448
+ downloadHandler(filename, content)
449
+ ```
450
+
451
+ Layout Functions:
452
+
453
+ ```r
454
+ # Basic layouts
455
+ fluidPage(...)
456
+ fixedPage(...)
457
+ fillPage(...)
458
+
459
+ # Sidebars
460
+ sidebarLayout(
461
+ sidebarPanel(...),
462
+ mainPanel(...)
463
+ )
464
+
465
+ # Rows and columns
466
+ fluidRow(...)
467
+ column(width, ...)
468
+
469
+ # Panels
470
+ wellPanel(...)
471
+ conditionalPanel(condition, ...)
472
+ tabsetPanel(
473
+ tabPanel(title, ...),
474
+ tabPanel(title, ...)
475
+ )
476
+
477
+ # Cards (bslib)
478
+ card(
479
+ card_header(...),
480
+ card_body(...),
481
+ card_footer(...)
482
+ )
483
+ ```
484
+
485
+ ### Server Functions
486
+
487
+ Reactivity Functions:
488
+
489
+ ```r
490
+ # Reactive expressions
491
+ reactive({ ... }) # Cached reactive expression
492
+ reactiveVal(value) # Single reactive value
493
+ reactiveValues(...) # Multiple reactive values
494
+
495
+ # Observers
496
+ observe({ ... }) # Run on dependency change
497
+ observeEvent(input$x, { ... }) # Run on specific input
498
+
499
+ # Event reactives
500
+ eventReactive(input$x, { ... })
501
+
502
+ # Reactive utilities
503
+ isolate({ ... }) # Read without taking dependency
504
+ invalidateLater(millis) # Schedule invalidation
505
+ req(...) # Require values before running
506
+
507
+ # Debounce and throttle
508
+ debounce(reactive_expr, millis)
509
+ throttle(reactive_expr, millis)
510
+
511
+ # Reactive polling
512
+ reactivePoll(
513
+ intervalMillis,
514
+ session,
515
+ checkFunc,
516
+ valueFunc
517
+ )
518
+
519
+ # File reactive
520
+ reactiveFileReader(
521
+ intervalMillis,
522
+ session,
523
+ filePath,
524
+ readFunc
525
+ )
526
+ ```
527
+
528
+ Update Functions:
529
+
530
+ ```r
531
+ updateTextInput(session, id, value, label)
532
+ updateNumericInput(session, id, value, label, min, max)
533
+ updateSelectInput(session, id, choices, selected, label)
534
+ updateSliderInput(session, id, value, label, min, max)
535
+ updateCheckboxInput(session, id, value, label)
536
+ updateDateInput(session, id, value, label, min, max)
537
+ ```
538
+
539
+ ---
540
+
541
+ ## Database Integration
542
+
543
+ ### DBI Interface
544
+
545
+ Connection Management:
546
+
547
+ ```r
548
+ library(DBI)
549
+
550
+ # PostgreSQL
551
+ con <- dbConnect(
552
+ RPostgres::Postgres(),
553
+ dbname = "mydb",
554
+ host = "localhost",
555
+ port = 5432,
556
+ user = "user",
557
+ password = "password"
558
+ )
559
+
560
+ # SQLite
561
+ con <- dbConnect(RSQLite::SQLite(), "mydb.sqlite")
562
+
563
+ # Disconnect
564
+ dbDisconnect(con)
565
+ ```
566
+
567
+ Query Operations:
568
+
569
+ ```r
570
+ # Execute query
571
+ dbExecute(con, "CREATE TABLE users (id INT, name TEXT)")
572
+
573
+ # Fetch results
574
+ result <- dbGetQuery(con, "SELECT * FROM users")
575
+
576
+ # Send query without fetching
577
+ res <- dbSendQuery(con, "SELECT * FROM large_table")
578
+ while (!dbHasCompleted(res)) {
579
+ chunk <- dbFetch(res, n = 1000)
580
+ # Process chunk
581
+ }
582
+ dbClearResult(res)
583
+
584
+ # Write table
585
+ dbWriteTable(con, "new_table", data, overwrite = TRUE)
586
+
587
+ # List tables
588
+ dbListTables(con)
589
+
590
+ # Table info
591
+ dbListFields(con, "users")
592
+ dbExistsTable(con, "users")
593
+ ```
594
+
595
+ ### dbplyr Integration
596
+
597
+ Remote Tables:
598
+
599
+ ```r
600
+ library(dbplyr)
601
+
602
+ # Create table reference
603
+ users_tbl <- tbl(con, "users")
604
+
605
+ # dplyr operations (lazy)
606
+ result <- users_tbl |>
607
+ filter(age > 18) |>
608
+ select(id, name, age) |>
609
+ arrange(desc(age))
610
+
611
+ # Show generated SQL
612
+ show_query(result)
613
+
614
+ # Collect results
615
+ local_data <- collect(result)
616
+
617
+ # Compute intermediate table
618
+ intermediate <- users_tbl |>
619
+ filter(active == TRUE) |>
620
+ compute(name = "active_users")
621
+ ```
622
+
623
+ ### Pool for Connection Pooling
624
+
625
+ ```r
626
+ library(pool)
627
+
628
+ # Create pool
629
+ pool <- dbPool(
630
+ RPostgres::Postgres(),
631
+ dbname = "mydb",
632
+ host = "localhost",
633
+ port = 5432,
634
+ user = "user",
635
+ password = "password",
636
+ minSize = 2,
637
+ maxSize = 10
638
+ )
639
+
640
+ # Use pool
641
+ dbGetQuery(pool, "SELECT * FROM users")
642
+
643
+ # With Shiny
644
+ server <- function(input, output, session) {
645
+ output$table <- renderDataTable({
646
+ dbGetQuery(pool, "SELECT * FROM data WHERE category = ?", input$category)
647
+ })
648
+
649
+ # Close pool on session end
650
+ onStop(function() {
651
+ poolClose(pool)
652
+ })
653
+ }
654
+ ```
655
+
656
+ ---
657
+
658
+ ## Testing Reference
659
+
660
+ ### testthat 3.0+ Functions
661
+
662
+ Test Organization:
663
+
664
+ ```r
665
+ test_that("description", {
666
+ # Test code
667
+ })
668
+
669
+ describe("feature", {
670
+ it("does something", {
671
+ # Test code
672
+ })
673
+ })
674
+
675
+ context("module name") # Legacy, use file names instead
676
+ ```
677
+
678
+ Expectations:
679
+
680
+ ```r
681
+ # Equality
682
+ expect_equal(x, y, tolerance = 1e-10)
683
+ expect_identical(x, y)
684
+
685
+ # Types
686
+ expect_type(x, "double")
687
+ expect_s3_class(x, "data.frame")
688
+ expect_s4_class(x, "Matrix")
689
+
690
+ # Logical
691
+ expect_true(x)
692
+ expect_false(x)
693
+
694
+ # Errors and warnings
695
+ expect_error(func(), "error message")
696
+ expect_warning(func(), "warning message")
697
+ expect_message(func(), "message text")
698
+ expect_silent(func())
699
+
700
+ # Conditions
701
+ expect_condition(func(), class = "error")
702
+
703
+ # Output
704
+ expect_output(print(x), "output text")
705
+ expect_snapshot(func())
706
+ expect_snapshot_value(x, style = "json2")
707
+
708
+ # Numeric
709
+ expect_lt(x, 10)
710
+ expect_lte(x, 10)
711
+ expect_gt(x, 5)
712
+ expect_gte(x, 5)
713
+
714
+ # Vectors
715
+ expect_length(x, 5)
716
+ expect_named(x, c("a", "b", "c"))
717
+ expect_setequal(x, y)
718
+ ```
719
+
720
+ Fixtures and Setup:
721
+
722
+ ```r
723
+ # Test fixtures
724
+ test_that("example", {
725
+ # Local scope modifications
726
+ withr::local_tempdir()
727
+ withr::local_options(digits = 3)
728
+
729
+ # Test code
730
+ })
731
+
732
+ # Setup/teardown files
733
+ # tests/testthat/setup.R
734
+ # tests/testthat/teardown.R
735
+ ```
736
+
737
+ ---
738
+
739
+ ## Package Management
740
+
741
+ ### renv Workflow
742
+
743
+ ```r
744
+ # Initialize project
745
+ renv::init()
746
+
747
+ # Install packages
748
+ renv::install("dplyr")
749
+ renv::install("tidyverse@2.0.0")
750
+ renv::install("username/repo") # GitHub
751
+
752
+ # Update packages
753
+ renv::update()
754
+ renv::update("dplyr")
755
+
756
+ # Snapshot dependencies
757
+ renv::snapshot()
758
+
759
+ # Restore dependencies
760
+ renv::restore()
761
+
762
+ # Remove unused packages
763
+ renv::clean()
764
+
765
+ # Check status
766
+ renv::status()
767
+
768
+ # Deactivate renv
769
+ renv::deactivate()
770
+
771
+ # Project settings
772
+ renv::settings$snapshot.type("explicit")
773
+ renv::settings$use.cache(TRUE)
774
+ ```
775
+
776
+ ### pak for Fast Installation
777
+
778
+ ```r
779
+ library(pak)
780
+
781
+ # Install packages
782
+ pak::pkg_install("dplyr")
783
+ pak::pkg_install(c("dplyr", "ggplot2", "tidyr"))
784
+
785
+ # Install from GitHub
786
+ pak::pkg_install("tidyverse/dplyr")
787
+
788
+ # Install specific version
789
+ pak::pkg_install("dplyr@1.1.0")
790
+
791
+ # System requirements
792
+ pak::pkg_sysreqs("dplyr")
793
+
794
+ # Dependency tree
795
+ pak::pkg_deps_tree("shiny")
796
+ ```
797
+
798
+ ---
799
+
800
+ ## RStudio Configuration
801
+
802
+ ### Project Options
803
+
804
+ ```
805
+ # .Rproj file
806
+ Version: 1.0
807
+
808
+ RestoreWorkspace: No
809
+ SaveWorkspace: No
810
+ AlwaysSaveHistory: Default
811
+
812
+ EnableCodeIndexing: Yes
813
+ UseSpacesForTab: Yes
814
+ NumSpacesForTab: 2
815
+ Encoding: UTF-8
816
+
817
+ RnwWeave: knitr
818
+ LaTeX: XeLaTeX
819
+
820
+ AutoAppendNewline: Yes
821
+ StripTrailingWhitespace: Yes
822
+ LineEndingConversion: Posix
823
+
824
+ BuildType: Package
825
+ PackageUseDevtools: Yes
826
+ PackageInstallArgs: --no-multiarch --with-keep.source
827
+ PackageRoxygenize: rd,collate,namespace
828
+ ```
829
+
830
+ ### .Rprofile Configuration
831
+
832
+ ```r
833
+ # .Rprofile
834
+ options(
835
+ # General
836
+ repos = c(CRAN = "https://cloud.r-project.org"),
837
+ browserNLdisabled = TRUE,
838
+ deparse.max.lines = 2,
839
+
840
+ # Tidyverse
841
+ tidyverse.quiet = TRUE,
842
+
843
+ # Data display
844
+ max.print = 100,
845
+ width = 120,
846
+
847
+ # Parallelization
848
+ mc.cores = parallel::detectCores(),
849
+
850
+ # Memory
851
+ keep.source.pkgs = TRUE
852
+ )
853
+
854
+ # Development packages
855
+ if (interactive()) {
856
+ suppressMessages(require(devtools))
857
+ suppressMessages(require(usethis))
858
+ suppressMessages(require(testthat))
859
+ }
860
+
861
+ # Custom functions
862
+ .First <- function() {
863
+ message("Welcome to R ", R.version.string)
864
+ }
865
+
866
+ .Last <- function() {
867
+ message("Goodbye!")
868
+ }
869
+ ```
870
+
871
+ ---
872
+
873
+ ## Performance Optimization
874
+
875
+ ### Profiling
876
+
877
+ ```r
878
+ # Time execution
879
+ system.time({
880
+ result <- expensive_operation()
881
+ })
882
+
883
+ # Benchmark comparison
884
+ library(bench)
885
+ bench::mark(
886
+ approach1 = method1(),
887
+ approach2 = method2(),
888
+ check = FALSE,
889
+ iterations = 100
890
+ )
891
+
892
+ # Profile code
893
+ profvis::profvis({
894
+ # Code to profile
895
+ result <- expensive_function()
896
+ })
897
+
898
+ # Memory profiling
899
+ profmem::profmem({
900
+ # Code to profile
901
+ })
902
+ ```
903
+
904
+ ### Optimization Techniques
905
+
906
+ Vectorization:
907
+
908
+ ```r
909
+ # Bad: Loop
910
+ result <- numeric(length(x))
911
+ for (i in seq_along(x)) {
912
+ result[i] <- x[i] * 2
913
+ }
914
+
915
+ # Good: Vectorized
916
+ result <- x * 2
917
+
918
+ # Pre-allocate vectors
919
+ n <- 1e6
920
+ result <- numeric(n)
921
+ for (i in seq_len(n)) {
922
+ result[i] <- sqrt(i)
923
+ }
924
+ ```
925
+
926
+ Data.table for Speed:
927
+
928
+ ```r
929
+ library(data.table)
930
+
931
+ # Convert to data.table
932
+ dt <- as.data.table(df)
933
+
934
+ # Fast operations
935
+ dt[x > 5, mean(y), by = group]
936
+ dt[, .(sum_x = sum(x), mean_y = mean(y)), by = group]
937
+
938
+ # Reference semantics (in-place modification)
939
+ dt[, new_col := x + y]
940
+ dt[x > 5, y := y * 2]
941
+ ```
942
+
943
+ Parallel Processing:
944
+
945
+ ```r
946
+ library(future)
947
+ library(furrr)
948
+
949
+ # Setup
950
+ plan(multisession, workers = 4)
951
+
952
+ # Parallel map
953
+ result <- future_map(data, expensive_function)
954
+
955
+ # Parallel with progress
956
+ result <- future_map(data, expensive_function, .progress = TRUE)
957
+ ```
958
+
959
+ ---
960
+
961
+ ## Context7 Library Mappings
962
+
963
+ ```r
964
+ # Tidyverse packages
965
+ /tidyverse/dplyr # Data manipulation
966
+ /tidyverse/ggplot2 # Visualization
967
+ /tidyverse/tidyr # Data tidying
968
+ /tidyverse/purrr # Functional programming
969
+ /tidyverse/readr # Data import
970
+ /tidyverse/stringr # String manipulation
971
+ /tidyverse/forcats # Factor handling
972
+ /tidyverse/lubridate # Date/time handling
973
+
974
+ # Shiny ecosystem
975
+ /rstudio/shiny # Web applications
976
+ /rstudio/bslib # Bootstrap themes
977
+ /rstudio/plotly # Interactive plots
978
+
979
+ # Testing and development
980
+ /r-lib/testthat # Unit testing
981
+ /r-lib/devtools # Package development
982
+ /r-lib/usethis # Project setup
983
+
984
+ # Data science
985
+ /tidymodels/tidymodels # Machine learning
986
+ /tidymodels/recipes # Feature engineering
987
+ /tidymodels/parsnip # Model specification
988
+
989
+ # Database
990
+ /r-dbi/DBI # Database interface
991
+ /tidyverse/dbplyr # Database backend for dplyr
992
+
993
+ # Package management
994
+ /rstudio/renv # Dependency management
995
+ /r-lib/pak # Fast package installation
996
+ ```
997
+
998
+ ---
999
+
1000
+ ## Common Patterns
1001
+
1002
+ ### Error Handling
1003
+
1004
+ ```r
1005
+ # tryCatch
1006
+ result <- tryCatch(
1007
+ {
1008
+ # Code that might error
1009
+ risky_operation()
1010
+ },
1011
+ error = function(e) {
1012
+ message("Error occurred: ", e$message)
1013
+ return(NULL)
1014
+ },
1015
+ warning = function(w) {
1016
+ message("Warning: ", w$message)
1017
+ return(NULL)
1018
+ },
1019
+ finally = {
1020
+ # Cleanup code
1021
+ cleanup()
1022
+ }
1023
+ )
1024
+
1025
+ # try with silent
1026
+ result <- try(risky_operation(), silent = TRUE)
1027
+ if (inherits(result, "try-error")) {
1028
+ # Handle error
1029
+ }
1030
+
1031
+ # purrr error handling
1032
+ safe_op <- safely(risky_function)
1033
+ result <- safe_op(data)
1034
+ if (!is.null(result$error)) {
1035
+ # Handle error
1036
+ }
1037
+ ```
1038
+
1039
+ ### Progress Bars
1040
+
1041
+ ```r
1042
+ library(progress)
1043
+
1044
+ # Create progress bar
1045
+ pb <- progress_bar$new(
1046
+ format = "Processing [:bar] :percent eta: :eta",
1047
+ total = 100,
1048
+ width = 60
1049
+ )
1050
+
1051
+ for (i in 1:100) {
1052
+ pb$tick()
1053
+ Sys.sleep(0.01)
1054
+ }
1055
+
1056
+ # With cli
1057
+ library(cli)
1058
+ cli_progress_bar("Processing", total = 100)
1059
+ for (i in 1:100) {
1060
+ cli_progress_update()
1061
+ Sys.sleep(0.01)
1062
+ }
1063
+ ```
1064
+
1065
+ ### Logging
1066
+
1067
+ ```r
1068
+ library(logger)
1069
+
1070
+ # Configure logger
1071
+ log_threshold(INFO)
1072
+ log_appender(appender_file("app.log"))
1073
+
1074
+ # Log messages
1075
+ log_info("Application started")
1076
+ log_debug("Debug information: {x}")
1077
+ log_warn("Warning: {warning_message}")
1078
+ log_error("Error occurred: {error_message}")
1079
+
1080
+ # Structured logging
1081
+ log_info("User action", user_id = 123, action = "login")
1082
+ ```
1083
+
1084
+ ---
1085
+
1086
+ Last Updated: 2026-01-10
1087
+ Version: 1.0.0