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,1136 @@
1
+ # C++ Complete Reference
2
+
3
+ ## C++23/C++20 Feature Matrix
4
+
5
+ ### Compiler Support Status
6
+
7
+ | Feature | GCC | Clang | MSVC | Standard | Production Ready |
8
+ | ------------------------- | ------- | ------- | ------- | -------- | ---------------- |
9
+ | **C++23 Features** | | | | | |
10
+ | std::expected | 13+ | 16+ | 19.35+ | C++23 | Yes |
11
+ | std::print/std::println | 14+ | 18+ | 19.37+ | C++23 | Yes |
12
+ | std::format improvements | 13+ | 17+ | 19.35+ | C++23 | Yes |
13
+ | Deducing this | 14+ | 18+ | 19.37+ | C++23 | Yes |
14
+ | std::generator | Not yet | Not yet | Not yet | C++23 | No (partial) |
15
+ | Multidimensional operator | 13+ | 17+ | 19.35+ | C++23 | Yes |
16
+ | if consteval | 12+ | 14+ | 19.30+ | C++23 | Yes |
17
+ | **C++20 Features** | | | | | |
18
+ | Concepts | 10+ | 10+ | 19.26+ | C++20 | Yes |
19
+ | Ranges | 10+ | 13+ | 19.30+ | C++20 | Yes |
20
+ | Modules | 11+ | 16+ | 19.28+ | C++20 | Partial |
21
+ | Coroutines | 10+ | 5.0+ | 19.28+ | C++20 | Yes |
22
+ | std::span | 10+ | 7.0+ | 19.26+ | C++20 | Yes |
23
+ | std::format | 13+ | 14+ | 19.29+ | C++20 | Yes |
24
+ | std::jthread | 10+ | 11+ | 19.28+ | C++20 | Yes |
25
+ | std::latch/barrier | 11+ | 11+ | 19.28+ | C++20 | Yes |
26
+ | Three-way comparison | 10+ | 10+ | 19.20+ | C++20 | Yes |
27
+
28
+ ### Build Requirements
29
+
30
+ Minimum Compiler Versions for C++23:
31
+
32
+ - GCC 13+ (recommended: GCC 14+)
33
+ - Clang 16+ (recommended: Clang 18+)
34
+ - MSVC 19.35+ (Visual Studio 2022 17.5+)
35
+ - CMake 3.28+
36
+
37
+ Minimum Compiler Versions for C++20:
38
+
39
+ - GCC 10+ (recommended: GCC 11+)
40
+ - Clang 10+ (recommended: Clang 13+)
41
+ - MSVC 19.26+ (Visual Studio 2019 16.6+)
42
+ - CMake 3.20+
43
+
44
+ ---
45
+
46
+ ## Standard Library Reference
47
+
48
+ ### Containers
49
+
50
+ #### Sequence Containers
51
+
52
+ ```cpp
53
+ #include <vector>
54
+ #include <deque>
55
+ #include <list>
56
+ #include <forward_list>
57
+ #include <array>
58
+
59
+ // std::vector - Dynamic array
60
+ std::vector<int> v{1, 2, 3};
61
+ v.push_back(4); // Add element
62
+ v.emplace_back(5); // Construct in-place
63
+ v.resize(10); // Resize
64
+ v.reserve(100); // Reserve capacity
65
+ auto size = v.size(); // Current size
66
+ auto cap = v.capacity(); // Allocated capacity
67
+
68
+ // std::array - Fixed-size array (C++20 aggregate CTAD)
69
+ std::array arr{1, 2, 3, 4, 5}; // Type deduced
70
+ arr.fill(0); // Fill all elements
71
+
72
+ // std::deque - Double-ended queue
73
+ std::deque<int> dq{1, 2, 3};
74
+ dq.push_front(0);
75
+ dq.push_back(4);
76
+
77
+ // std::list - Doubly linked list
78
+ std::list<int> lst{1, 2, 3};
79
+ lst.splice(lst.begin(), other_list);
80
+
81
+ // std::forward_list - Singly linked list
82
+ std::forward_list<int> flst{1, 2, 3};
83
+ flst.push_front(0);
84
+ ```
85
+
86
+ #### Associative Containers
87
+
88
+ ```cpp
89
+ #include <set>
90
+ #include <map>
91
+ #include <unordered_set>
92
+ #include <unordered_map>
93
+
94
+ // std::set - Ordered unique elements
95
+ std::set<int> s{3, 1, 2};
96
+ s.insert(4);
97
+ s.erase(1);
98
+ auto it = s.find(2);
99
+ auto [iter, inserted] = s.insert(5);
100
+
101
+ // std::map - Ordered key-value pairs
102
+ std::map<std::string, int> m{
103
+ {"one", 1}, {"two", 2}
104
+ };
105
+ m["three"] = 3;
106
+ m.insert_or_assign("two", 22);
107
+ auto result = m.try_emplace("four", 4);
108
+
109
+ // std::unordered_set - Hash set
110
+ std::unordered_set<std::string> uset{"a", "b", "c"};
111
+ uset.insert("d");
112
+ auto found = uset.contains("a"); // C++20
113
+
114
+ // std::unordered_map - Hash map
115
+ std::unordered_map<std::string, int> umap{
116
+ {"x", 1}, {"y", 2}
117
+ };
118
+ umap.emplace("z", 3);
119
+
120
+ // C++23 heterogeneous lookup
121
+ struct TransparentHash {
122
+ using is_transparent = void;
123
+ auto operator()(std::string_view sv) const -> std::size_t {
124
+ return std::hash<std::string_view>{}(sv);
125
+ }
126
+ };
127
+
128
+ std::unordered_map<std::string, int, TransparentHash> tmap;
129
+ tmap.find("key"); // No temporary string creation
130
+ ```
131
+
132
+ #### Container Adaptors
133
+
134
+ ```cpp
135
+ #include <stack>
136
+ #include <queue>
137
+ #include <priority_queue>
138
+
139
+ // std::stack - LIFO
140
+ std::stack<int> stk;
141
+ stk.push(1);
142
+ auto top = stk.top();
143
+ stk.pop();
144
+
145
+ // std::queue - FIFO
146
+ std::queue<int> q;
147
+ q.push(1);
148
+ auto front = q.front();
149
+ q.pop();
150
+
151
+ // std::priority_queue - Heap
152
+ std::priority_queue<int> pq;
153
+ pq.push(5);
154
+ pq.push(2);
155
+ pq.push(8);
156
+ auto max = pq.top(); // 8
157
+ ```
158
+
159
+ ### Algorithms (C++20 Ranges)
160
+
161
+ ```cpp
162
+ #include <algorithm>
163
+ #include <ranges>
164
+
165
+ std::vector<int> v{5, 2, 8, 1, 9};
166
+
167
+ // Sorting
168
+ std::ranges::sort(v);
169
+ std::ranges::sort(v, std::greater{});
170
+ std::ranges::sort(v, {}, &Person::age); // Sort by member
171
+
172
+ // Searching
173
+ auto it = std::ranges::find(v, 5);
174
+ auto it2 = std::ranges::find_if(v, [](int n) { return n > 5; });
175
+ auto [min, max] = std::ranges::minmax_element(v);
176
+
177
+ // Transformation
178
+ std::vector<int> result;
179
+ std::ranges::transform(v, std::back_inserter(result),
180
+ [](int n) { return n * 2; });
181
+
182
+ // Filtering
183
+ std::vector<int> filtered;
184
+ std::ranges::copy_if(v, std::back_inserter(filtered),
185
+ [](int n) { return n % 2 == 0; });
186
+
187
+ // Counting
188
+ auto count = std::ranges::count(v, 5);
189
+ auto count_if = std::ranges::count_if(v, [](int n) { return n > 5; });
190
+
191
+ // Partitioning
192
+ auto pivot = std::ranges::partition(v, [](int n) { return n < 5; });
193
+
194
+ // Unique
195
+ std::ranges::sort(v);
196
+ auto [first, last] = std::ranges::unique(v);
197
+ v.erase(first, last);
198
+
199
+ // Accumulation (not in ranges, use std::)
200
+ #include <numeric>
201
+ auto sum = std::accumulate(v.begin(), v.end(), 0);
202
+ auto product = std::accumulate(v.begin(), v.end(), 1, std::multiplies{});
203
+ ```
204
+
205
+ ### String Operations
206
+
207
+ ```cpp
208
+ #include <string>
209
+ #include <string_view>
210
+ #include <format>
211
+
212
+ // std::string
213
+ std::string s = "hello";
214
+ s += " world";
215
+ s.append("!");
216
+ auto sub = s.substr(0, 5);
217
+ auto pos = s.find("world");
218
+ s.replace(0, 5, "goodbye");
219
+
220
+ // std::string_view (C++17) - Non-owning view
221
+ std::string_view sv = "hello world";
222
+ auto first = sv.substr(0, 5); // No allocation
223
+ auto starts = sv.starts_with("hello"); // C++20
224
+ auto ends = sv.ends_with("world"); // C++20
225
+ auto contains = sv.contains("lo"); // C++23
226
+
227
+ // std::format (C++20) - Type-safe formatting
228
+ auto formatted = std::format("Hello, {}!", "World");
229
+ auto with_args = std::format("{0} {1} {0}", "alpha", "beta");
230
+ auto aligned = std::format("{:>10}", "right");
231
+ auto decimal = std::format("{:.2f}", 3.14159);
232
+
233
+ // String conversions
234
+ int num = std::stoi("42");
235
+ double dbl = std::stod("3.14");
236
+ auto str_from_int = std::to_string(42);
237
+
238
+ // String algorithms
239
+ #include <algorithm>
240
+ std::string s2 = "HELLO";
241
+ std::ranges::transform(s2, s2.begin(), ::tolower); // "hello"
242
+ ```
243
+
244
+ ### Smart Pointers
245
+
246
+ ```cpp
247
+ #include <memory>
248
+
249
+ // std::unique_ptr - Exclusive ownership
250
+ auto ptr = std::make_unique<int>(42);
251
+ auto ptr2 = std::move(ptr); // Transfer ownership
252
+ ptr.reset(); // Delete and set to nullptr
253
+
254
+ // Custom deleter
255
+ auto file = std::unique_ptr<FILE, decltype(&fclose)>(
256
+ std::fopen("file.txt", "r"),
257
+ &fclose
258
+ );
259
+
260
+ // std::shared_ptr - Shared ownership
261
+ auto sptr = std::make_shared<int>(42);
262
+ auto sptr2 = sptr; // Reference count = 2
263
+ auto count = sptr.use_count();
264
+
265
+ // std::weak_ptr - Non-owning reference
266
+ std::weak_ptr<int> wptr = sptr;
267
+ if (auto locked = wptr.lock()) {
268
+ // Use locked shared_ptr
269
+ }
270
+
271
+ // std::make_unique_for_overwrite (C++20) - Skip initialization
272
+ auto uninit = std::make_unique_for_overwrite<int[]>(1000);
273
+
274
+ // std::shared_ptr with custom allocator
275
+ auto sptr3 = std::allocate_shared<int>(std::allocator<int>{}, 42);
276
+ ```
277
+
278
+ ### Utility Types
279
+
280
+ ```cpp
281
+ #include <optional>
282
+ #include <variant>
283
+ #include <any>
284
+ #include <tuple>
285
+ #include <expected> // C++23
286
+
287
+ // std::optional - May or may not contain a value
288
+ std::optional<int> opt = 42;
289
+ if (opt.has_value()) {
290
+ auto val = *opt;
291
+ }
292
+ auto val_or = opt.value_or(0);
293
+
294
+ auto opt2 = std::optional<int>{}; // Empty
295
+ opt2.emplace(100);
296
+
297
+ // std::variant - Type-safe union
298
+ std::variant<int, std::string, double> var = 42;
299
+ var = "hello";
300
+ var = 3.14;
301
+
302
+ std::visit([](auto&& arg) {
303
+ std::println("{}", arg);
304
+ }, var);
305
+
306
+ auto ptr = std::get_if<std::string>(&var);
307
+ if (ptr) {
308
+ // Use *ptr
309
+ }
310
+
311
+ // std::any - Type-erased container
312
+ std::any a = 42;
313
+ a = std::string{"hello"};
314
+ auto str = std::any_cast<std::string>(a);
315
+
316
+ // std::tuple - Fixed-size heterogeneous collection
317
+ std::tuple<int, std::string, double> t{1, "hello", 3.14};
318
+ auto [i, s, d] = t; // Structured binding
319
+ auto first = std::get<0>(t);
320
+
321
+ // std::expected (C++23) - Result type
322
+ std::expected<int, std::string> result = 42;
323
+ if (result) {
324
+ auto value = *result;
325
+ } else {
326
+ auto error = result.error();
327
+ }
328
+
329
+ // std::pair
330
+ std::pair<int, std::string> p{42, "answer"};
331
+ auto [num, text] = p;
332
+ ```
333
+
334
+ ---
335
+
336
+ ## CMake Reference
337
+
338
+ ### Project Configuration
339
+
340
+ ```cmake
341
+ # Minimum version and project declaration
342
+ cmake_minimum_required(VERSION 3.28)
343
+ project(MyProject
344
+ VERSION 1.0.0
345
+ DESCRIPTION "My C++ Project"
346
+ LANGUAGES CXX
347
+ )
348
+
349
+ # C++ standard
350
+ set(CMAKE_CXX_STANDARD 23)
351
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
352
+ set(CMAKE_CXX_EXTENSIONS OFF)
353
+
354
+ # Build type
355
+ if(NOT CMAKE_BUILD_TYPE)
356
+ set(CMAKE_BUILD_TYPE Release)
357
+ endif()
358
+
359
+ # Output directories
360
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
361
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
362
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
363
+
364
+ # Export compile commands for IDE integration
365
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
366
+ ```
367
+
368
+ ### Compiler Options
369
+
370
+ ```cmake
371
+ # Warning flags
372
+ add_compile_options(
373
+ $<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wpedantic -Werror>
374
+ $<$<CXX_COMPILER_ID:Clang>:-Wall -Wextra -Wpedantic -Werror>
375
+ $<$<CXX_COMPILER_ID:MSVC>:/W4 /WX>
376
+ )
377
+
378
+ # Optimization flags
379
+ add_compile_options(
380
+ $<$<AND:$<CONFIG:Release>,$<CXX_COMPILER_ID:GNU,Clang>>:-O3 -march=native>
381
+ $<$<AND:$<CONFIG:Release>,$<CXX_COMPILER_ID:MSVC>>:/O2>
382
+ )
383
+
384
+ # Debug flags
385
+ add_compile_options(
386
+ $<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:GNU,Clang>>:-g -O0>
387
+ $<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:MSVC>>:/Od /Zi>
388
+ )
389
+
390
+ # Sanitizers (Debug only)
391
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
392
+ add_compile_options(
393
+ $<$<CXX_COMPILER_ID:GNU,Clang>:-fsanitize=address,undefined>
394
+ )
395
+ add_link_options(
396
+ $<$<CXX_COMPILER_ID:GNU,Clang>:-fsanitize=address,undefined>
397
+ )
398
+ endif()
399
+ ```
400
+
401
+ ### Target Configuration
402
+
403
+ ```cmake
404
+ # Static library
405
+ add_library(mylib STATIC
406
+ src/file1.cpp
407
+ src/file2.cpp
408
+ )
409
+
410
+ target_include_directories(mylib
411
+ PUBLIC
412
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
413
+ $<INSTALL_INTERFACE:include>
414
+ PRIVATE
415
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
416
+ )
417
+
418
+ target_compile_features(mylib PUBLIC cxx_std_23)
419
+
420
+ target_link_libraries(mylib
421
+ PUBLIC
422
+ fmt::fmt
423
+ spdlog::spdlog
424
+ PRIVATE
425
+ nlohmann_json::nlohmann_json
426
+ )
427
+
428
+ # Executable
429
+ add_executable(myapp src/main.cpp)
430
+ target_link_libraries(myapp PRIVATE mylib)
431
+
432
+ # Interface library (header-only)
433
+ add_library(myheaders INTERFACE)
434
+ target_include_directories(myheaders INTERFACE include/)
435
+ ```
436
+
437
+ ### Dependency Management
438
+
439
+ ```cmake
440
+ # FetchContent
441
+ include(FetchContent)
442
+
443
+ FetchContent_Declare(fmt
444
+ GIT_REPOSITORY https://github.com/fmtlib/fmt
445
+ GIT_TAG 10.2.1
446
+ GIT_SHALLOW TRUE
447
+ SYSTEM # Suppress warnings from dependency
448
+ )
449
+
450
+ FetchContent_MakeAvailable(fmt)
451
+
452
+ # Find package
453
+ find_package(Boost 1.75 REQUIRED COMPONENTS system filesystem)
454
+ target_link_libraries(mylib PUBLIC Boost::system Boost::filesystem)
455
+
456
+ # vcpkg integration
457
+ if(DEFINED ENV{VCPKG_ROOT})
458
+ set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
459
+ endif()
460
+
461
+ # pkg-config
462
+ find_package(PkgConfig REQUIRED)
463
+ pkg_check_modules(LIBCURL REQUIRED libcurl)
464
+ target_link_libraries(mylib PRIVATE ${LIBCURL_LIBRARIES})
465
+ target_include_directories(mylib PRIVATE ${LIBCURL_INCLUDE_DIRS})
466
+ ```
467
+
468
+ ### Testing with CTest
469
+
470
+ ```cmake
471
+ # Enable testing
472
+ enable_testing()
473
+
474
+ # Add test executable
475
+ add_executable(mylib_tests
476
+ tests/test1.cpp
477
+ tests/test2.cpp
478
+ )
479
+
480
+ target_link_libraries(mylib_tests PRIVATE
481
+ mylib
482
+ GTest::gtest_main
483
+ )
484
+
485
+ # Discover tests
486
+ include(GoogleTest)
487
+ gtest_discover_tests(mylib_tests
488
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
489
+ PROPERTIES
490
+ TIMEOUT 30
491
+ )
492
+
493
+ # Manual test registration
494
+ add_test(NAME mylib_test COMMAND mylib_tests)
495
+ set_tests_properties(mylib_test PROPERTIES
496
+ TIMEOUT 60
497
+ ENVIRONMENT "TEST_ENV_VAR=value"
498
+ )
499
+ ```
500
+
501
+ ### Installation
502
+
503
+ ```cmake
504
+ # Install targets
505
+ install(TARGETS mylib myapp
506
+ EXPORT MyProjectTargets
507
+ LIBRARY DESTINATION lib
508
+ ARCHIVE DESTINATION lib
509
+ RUNTIME DESTINATION bin
510
+ INCLUDES DESTINATION include
511
+ )
512
+
513
+ # Install headers
514
+ install(DIRECTORY include/mylib DESTINATION include)
515
+
516
+ # Install export configuration
517
+ install(EXPORT MyProjectTargets
518
+ FILE MyProjectTargets.cmake
519
+ NAMESPACE MyProject::
520
+ DESTINATION lib/cmake/MyProject
521
+ )
522
+
523
+ # Generate config file
524
+ include(CMakePackageConfigHelpers)
525
+ configure_package_config_file(
526
+ ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
527
+ ${CMAKE_CURRENT_BINARY_DIR}/MyProjectConfig.cmake
528
+ INSTALL_DESTINATION lib/cmake/MyProject
529
+ )
530
+
531
+ write_basic_package_version_file(
532
+ ${CMAKE_CURRENT_BINARY_DIR}/MyProjectConfigVersion.cmake
533
+ VERSION ${PROJECT_VERSION}
534
+ COMPATIBILITY SameMajorVersion
535
+ )
536
+
537
+ install(FILES
538
+ ${CMAKE_CURRENT_BINARY_DIR}/MyProjectConfig.cmake
539
+ ${CMAKE_CURRENT_BINARY_DIR}/MyProjectConfigVersion.cmake
540
+ DESTINATION lib/cmake/MyProject
541
+ )
542
+ ```
543
+
544
+ ### CMake Presets (CMakePresets.json)
545
+
546
+ ```json
547
+ {
548
+ "version": 6,
549
+ "cmakeMinimumRequired": {
550
+ "major": 3,
551
+ "minor": 28,
552
+ "patch": 0
553
+ },
554
+ "configurePresets": [
555
+ {
556
+ "name": "default",
557
+ "hidden": true,
558
+ "generator": "Ninja",
559
+ "binaryDir": "${sourceDir}/build/${presetName}",
560
+ "cacheVariables": {
561
+ "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
562
+ }
563
+ },
564
+ {
565
+ "name": "debug",
566
+ "inherits": "default",
567
+ "displayName": "Debug",
568
+ "cacheVariables": {
569
+ "CMAKE_BUILD_TYPE": "Debug"
570
+ }
571
+ },
572
+ {
573
+ "name": "release",
574
+ "inherits": "default",
575
+ "displayName": "Release",
576
+ "cacheVariables": {
577
+ "CMAKE_BUILD_TYPE": "Release"
578
+ }
579
+ }
580
+ ],
581
+ "buildPresets": [
582
+ {
583
+ "name": "debug",
584
+ "configurePreset": "debug"
585
+ },
586
+ {
587
+ "name": "release",
588
+ "configurePreset": "release"
589
+ }
590
+ ],
591
+ "testPresets": [
592
+ {
593
+ "name": "debug",
594
+ "configurePreset": "debug",
595
+ "output": { "outputOnFailure": true }
596
+ }
597
+ ]
598
+ }
599
+ ```
600
+
601
+ ---
602
+
603
+ ## Compiler Flags Reference
604
+
605
+ ### GCC/Clang Compiler Flags
606
+
607
+ ```bash
608
+ # Standard selection
609
+ -std=c++23
610
+ -std=c++20
611
+ -std=gnu++23 # GNU extensions enabled
612
+
613
+ # Warning flags
614
+ -Wall # Enable common warnings
615
+ -Wextra # Additional warnings
616
+ -Wpedantic # Strict ISO C++ compliance
617
+ -Werror # Treat warnings as errors
618
+ -Wconversion # Implicit conversions
619
+ -Wshadow # Variable shadowing
620
+ -Wnon-virtual-dtor # Non-virtual destructors
621
+
622
+ # Optimization levels
623
+ -O0 # No optimization (debug)
624
+ -O1 # Basic optimization
625
+ -O2 # Moderate optimization (default release)
626
+ -O3 # Aggressive optimization
627
+ -Os # Optimize for size
628
+ -Ofast # Aggressive with non-standard optimizations
629
+ -march=native # Optimize for current CPU
630
+
631
+ # Debug information
632
+ -g # Debug symbols
633
+ -g3 # Maximum debug info
634
+ -ggdb # GDB-specific debug info
635
+ -gdwarf-4 # DWARF 4 debug format
636
+
637
+ # Sanitizers
638
+ -fsanitize=address # Address sanitizer
639
+ -fsanitize=undefined # Undefined behavior sanitizer
640
+ -fsanitize=thread # Thread sanitizer
641
+ -fsanitize=memory # Memory sanitizer (Clang only)
642
+ -fsanitize=leak # Leak sanitizer
643
+
644
+ # Link-time optimization
645
+ -flto # Enable LTO
646
+ -flto=thin # Thin LTO (Clang)
647
+
648
+ # Security hardening
649
+ -fstack-protector-strong # Stack protection
650
+ -D_FORTIFY_SOURCE=2 # Fortify source
651
+ -Wformat -Wformat-security # Format string security
652
+ -fPIE -pie # Position independent executable
653
+
654
+ # Performance profiling
655
+ -pg # gprof profiling
656
+ -fprofile-generate # Generate profile data
657
+ -fprofile-use # Use profile data (PGO)
658
+ ```
659
+
660
+ ### MSVC Compiler Flags
661
+
662
+ ```bash
663
+ # Standard selection
664
+ /std:c++latest
665
+ /std:c++20
666
+
667
+ # Warning flags
668
+ /W4 # High warning level
669
+ /WX # Treat warnings as errors
670
+ /Wall # All warnings (very verbose)
671
+
672
+ # Optimization levels
673
+ /Od # Disable optimization (debug)
674
+ /O1 # Minimize size
675
+ /O2 # Maximize speed (default release)
676
+ /Ox # Maximum optimization
677
+
678
+ # Debug information
679
+ /Zi # Debug info in PDB
680
+ /Z7 # Debug info in obj files
681
+
682
+ # Runtime library
683
+ /MT # Static runtime
684
+ /MD # Dynamic runtime
685
+ /MTd # Static runtime (debug)
686
+ /MDd # Dynamic runtime (debug)
687
+
688
+ # Code generation
689
+ /EHsc # Exception handling
690
+ /GR # Enable RTTI
691
+ /GR- # Disable RTTI
692
+ /arch:AVX2 # AVX2 instructions
693
+
694
+ # Security
695
+ /sdl # Security development lifecycle checks
696
+ /guard:cf # Control flow guard
697
+ /GS # Buffer security check
698
+
699
+ # Optimization
700
+ /GL # Whole program optimization
701
+ /LTCG # Link-time code generation
702
+ ```
703
+
704
+ ---
705
+
706
+ ## Build System Patterns
707
+
708
+ ### Multi-Configuration Build
709
+
710
+ ```bash
711
+ # CMake configure
712
+ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
713
+
714
+ # Build specific configuration
715
+ cmake --build build --config Release
716
+
717
+ # Build with parallel jobs
718
+ cmake --build build -j$(nproc)
719
+
720
+ # Install
721
+ cmake --install build --prefix /usr/local
722
+ ```
723
+
724
+ ### Using CMake Presets
725
+
726
+ ```bash
727
+ # List available presets
728
+ cmake --list-presets
729
+
730
+ # Configure with preset
731
+ cmake --preset=release
732
+
733
+ # Build with preset
734
+ cmake --build --preset=release
735
+
736
+ # Test with preset
737
+ ctest --preset=debug
738
+ ```
739
+
740
+ ### vcpkg Integration
741
+
742
+ ```bash
743
+ # Install vcpkg
744
+ git clone https://github.com/microsoft/vcpkg
745
+ ./vcpkg/bootstrap-vcpkg.sh
746
+
747
+ # Install packages
748
+ ./vcpkg/vcpkg install fmt spdlog gtest
749
+
750
+ # Configure CMake with vcpkg
751
+ cmake -S . -B build \
752
+ -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
753
+
754
+ # Using vcpkg.json (manifest mode)
755
+ # Create vcpkg.json in project root, vcpkg auto-installs dependencies
756
+ ```
757
+
758
+ ### Conan Integration
759
+
760
+ ```bash
761
+ # Install Conan
762
+ pip install conan
763
+
764
+ # Create conanfile.txt
765
+ # [requires]
766
+ # fmt/10.2.1
767
+ # spdlog/1.13.0
768
+ # gtest/1.14.0
769
+ #
770
+ # [generators]
771
+ # CMakeDeps
772
+ # CMakeToolchain
773
+
774
+ # Install dependencies
775
+ conan install . --output-folder=build --build=missing
776
+
777
+ # Configure CMake
778
+ cmake -S . -B build \
779
+ -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake
780
+
781
+ # Build
782
+ cmake --build build
783
+ ```
784
+
785
+ ---
786
+
787
+ ## Memory Model and Concurrency
788
+
789
+ ### Memory Order
790
+
791
+ ```cpp
792
+ #include <atomic>
793
+
794
+ std::atomic<int> counter{0};
795
+
796
+ // Relaxed ordering - No synchronization
797
+ counter.store(1, std::memory_order_relaxed);
798
+ auto val = counter.load(std::memory_order_relaxed);
799
+
800
+ // Acquire-release ordering - Synchronize specific operations
801
+ counter.store(1, std::memory_order_release);
802
+ auto val2 = counter.load(std::memory_order_acquire);
803
+
804
+ // Sequential consistency - Strongest guarantee (default)
805
+ counter.store(1, std::memory_order_seq_cst);
806
+ auto val3 = counter.load(std::memory_order_seq_cst);
807
+
808
+ // Compare-exchange
809
+ int expected = 0;
810
+ bool success = counter.compare_exchange_strong(
811
+ expected, 1,
812
+ std::memory_order_acq_rel,
813
+ std::memory_order_acquire
814
+ );
815
+
816
+ // Fetch operations
817
+ auto old = counter.fetch_add(1, std::memory_order_relaxed);
818
+ auto old2 = counter.fetch_sub(1, std::memory_order_relaxed);
819
+ ```
820
+
821
+ ### Thread Synchronization
822
+
823
+ ```cpp
824
+ #include <mutex>
825
+ #include <shared_mutex>
826
+ #include <condition_variable>
827
+
828
+ // Mutex
829
+ std::mutex mtx;
830
+ {
831
+ std::lock_guard lock(mtx); // RAII lock
832
+ // Critical section
833
+ }
834
+
835
+ {
836
+ std::unique_lock lock(mtx); // More flexible
837
+ // Can unlock before scope ends
838
+ lock.unlock();
839
+ }
840
+
841
+ // Shared mutex (C++17) - Multiple readers, single writer
842
+ std::shared_mutex smtx;
843
+
844
+ // Reader lock
845
+ {
846
+ std::shared_lock lock(smtx);
847
+ // Multiple readers allowed
848
+ }
849
+
850
+ // Writer lock
851
+ {
852
+ std::unique_lock lock(smtx);
853
+ // Exclusive access
854
+ }
855
+
856
+ // Condition variable
857
+ std::condition_variable cv;
858
+ std::mutex cv_mtx;
859
+ bool ready = false;
860
+
861
+ // Wait
862
+ std::unique_lock lock(cv_mtx);
863
+ cv.wait(lock, [] { return ready; });
864
+
865
+ // Notify
866
+ {
867
+ std::lock_guard lock(cv_mtx);
868
+ ready = true;
869
+ }
870
+ cv.notify_one();
871
+ cv.notify_all();
872
+ ```
873
+
874
+ ---
875
+
876
+ ## Common Pitfalls and Best Practices
877
+
878
+ ### Pitfall 1: Dangling References
879
+
880
+ ```cpp
881
+ // BAD: Returns reference to local variable
882
+ auto& get_value() {
883
+ int x = 42;
884
+ return x; // DANGER: x destroyed after return
885
+ }
886
+
887
+ // GOOD: Return by value or use heap allocation
888
+ auto get_value() {
889
+ return 42;
890
+ }
891
+
892
+ auto get_ptr() {
893
+ return std::make_unique<int>(42);
894
+ }
895
+ ```
896
+
897
+ ### Pitfall 2: Const Correctness
898
+
899
+ ```cpp
900
+ // BAD: Missing const
901
+ class Widget {
902
+ int value_;
903
+ public:
904
+ int get_value() { return value_; } // Not const-correct
905
+ };
906
+
907
+ // GOOD: Const methods for read-only operations
908
+ class Widget {
909
+ int value_;
910
+ public:
911
+ auto get_value() const -> int { return value_; }
912
+ auto set_value(int v) -> void { value_ = v; }
913
+ };
914
+ ```
915
+
916
+ ### Pitfall 3: Resource Leaks
917
+
918
+ ```cpp
919
+ // BAD: Manual resource management
920
+ void process_file() {
921
+ FILE* file = fopen("data.txt", "r");
922
+ // If exception thrown, file not closed
923
+ process_data();
924
+ fclose(file);
925
+ }
926
+
927
+ // GOOD: RAII with smart pointers or custom wrappers
928
+ void process_file() {
929
+ auto file = std::unique_ptr<FILE, decltype(&fclose)>(
930
+ fopen("data.txt", "r"),
931
+ &fclose
932
+ );
933
+ if (!file) return;
934
+ process_data();
935
+ // Automatically closed
936
+ }
937
+ ```
938
+
939
+ ### Pitfall 4: Iterator Invalidation
940
+
941
+ ```cpp
942
+ // BAD: Modifying container while iterating
943
+ std::vector<int> v{1, 2, 3, 4, 5};
944
+ for (auto it = v.begin(); it != v.end(); ++it) {
945
+ if (*it % 2 == 0) {
946
+ v.erase(it); // DANGER: Iterator invalidated
947
+ }
948
+ }
949
+
950
+ // GOOD: Use erase-remove idiom or update iterator
951
+ auto new_end = std::remove_if(v.begin(), v.end(),
952
+ [](int n) { return n % 2 == 0; });
953
+ v.erase(new_end, v.end());
954
+
955
+ // Or update iterator after erase
956
+ for (auto it = v.begin(); it != v.end(); ) {
957
+ if (*it % 2 == 0) {
958
+ it = v.erase(it); // erase returns next valid iterator
959
+ } else {
960
+ ++it;
961
+ }
962
+ }
963
+ ```
964
+
965
+ ### Pitfall 5: Move Semantics Misuse
966
+
967
+ ```cpp
968
+ // BAD: Using moved-from object
969
+ std::string s1 = "hello";
970
+ std::string s2 = std::move(s1);
971
+ std::cout << s1; // DANGER: s1 in valid but unspecified state
972
+
973
+ // GOOD: Don't use moved-from objects (or reset them)
974
+ std::string s1 = "hello";
975
+ std::string s2 = std::move(s1);
976
+ s1 = "new value"; // Safe: assign new value
977
+ std::cout << s1;
978
+ ```
979
+
980
+ ### Best Practice 1: Use Modern Features
981
+
982
+ ```cpp
983
+ // OLD: Manual memory management
984
+ Widget* widget = new Widget();
985
+ delete widget;
986
+
987
+ // MODERN: Smart pointers
988
+ auto widget = std::make_unique<Widget>();
989
+
990
+ // OLD: Raw loops
991
+ for (size_t i = 0; i < vec.size(); ++i) {
992
+ process(vec[i]);
993
+ }
994
+
995
+ // MODERN: Range-based for
996
+ for (const auto& item : vec) {
997
+ process(item);
998
+ }
999
+
1000
+ // MODERN: Algorithms
1001
+ std::ranges::for_each(vec, process);
1002
+ ```
1003
+
1004
+ ### Best Practice 2: Const Everything Possible
1005
+
1006
+ ```cpp
1007
+ // Const member functions
1008
+ class Counter {
1009
+ int count_ = 0;
1010
+ public:
1011
+ auto get() const -> int { return count_; }
1012
+ auto increment() -> void { ++count_; }
1013
+ };
1014
+
1015
+ // Const function parameters
1016
+ auto process(const std::vector<int>& data) -> void {
1017
+ // Can't modify data
1018
+ }
1019
+
1020
+ // Const local variables
1021
+ const auto result = calculate();
1022
+ ```
1023
+
1024
+ ### Best Practice 3: Use Structured Bindings
1025
+
1026
+ ```cpp
1027
+ // OLD: Manual unpacking
1028
+ std::pair<int, std::string> p = get_data();
1029
+ int id = p.first;
1030
+ std::string name = p.second;
1031
+
1032
+ // MODERN: Structured binding
1033
+ auto [id, name] = get_data();
1034
+
1035
+ // With containers
1036
+ std::map<std::string, int> map;
1037
+ for (const auto& [key, value] : map) {
1038
+ std::println("{}: {}", key, value);
1039
+ }
1040
+ ```
1041
+
1042
+ ### Best Practice 4: Prefer std::expected over Exceptions
1043
+
1044
+ ```cpp
1045
+ // Exceptions for exceptional cases
1046
+ auto read_config() -> Config {
1047
+ if (!file_exists()) {
1048
+ throw std::runtime_error("Config not found");
1049
+ }
1050
+ return load_config();
1051
+ }
1052
+
1053
+ // std::expected for expected errors
1054
+ auto parse_int(std::string_view s)
1055
+ -> std::expected<int, ParseError> {
1056
+ // Returns error value, not exception
1057
+ }
1058
+ ```
1059
+
1060
+ ---
1061
+
1062
+ ## Performance Optimization Patterns
1063
+
1064
+ ### Small String Optimization (SSO)
1065
+
1066
+ ```cpp
1067
+ // Strings shorter than ~15-23 chars use stack storage
1068
+ std::string small = "short"; // No heap allocation
1069
+ std::string large = "very long string that exceeds SSO buffer"; // Heap allocated
1070
+ ```
1071
+
1072
+ ### Reserve Capacity
1073
+
1074
+ ```cpp
1075
+ // BAD: Multiple reallocations
1076
+ std::vector<int> v;
1077
+ for (int i = 0; i < 1000; ++i) {
1078
+ v.push_back(i); // May reallocate multiple times
1079
+ }
1080
+
1081
+ // GOOD: Reserve upfront
1082
+ std::vector<int> v;
1083
+ v.reserve(1000);
1084
+ for (int i = 0; i < 1000; ++i) {
1085
+ v.push_back(i); // No reallocation
1086
+ }
1087
+ ```
1088
+
1089
+ ### Avoid Unnecessary Copies
1090
+
1091
+ ```cpp
1092
+ // BAD: Copy on every iteration
1093
+ for (std::string s : vec) { // Copy
1094
+ process(s);
1095
+ }
1096
+
1097
+ // GOOD: Const reference
1098
+ for (const auto& s : vec) { // No copy
1099
+ process(s);
1100
+ }
1101
+
1102
+ // When modifying
1103
+ for (auto& s : vec) {
1104
+ s += "suffix";
1105
+ }
1106
+ ```
1107
+
1108
+ ### Move Instead of Copy
1109
+
1110
+ ```cpp
1111
+ // BAD: Expensive copy
1112
+ std::vector<int> create_large_vector() {
1113
+ std::vector<int> v(1000000);
1114
+ return v; // Copy elision usually applies, but not guaranteed
1115
+ }
1116
+
1117
+ // GOOD: Explicit move (though modern compilers optimize this)
1118
+ std::vector<int> create_large_vector() {
1119
+ std::vector<int> v(1000000);
1120
+ return v; // NRVO (Named Return Value Optimization) applies
1121
+ }
1122
+
1123
+ // When returning member
1124
+ class Container {
1125
+ std::vector<int> data_;
1126
+ public:
1127
+ auto take_data() -> std::vector<int> {
1128
+ return std::move(data_); // Move required here
1129
+ }
1130
+ };
1131
+ ```
1132
+
1133
+ ---
1134
+
1135
+ Last Updated: 2026-01-10
1136
+ Version: 1.0.0