moai-adk 0.34.0__py3-none-any.whl → 1.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. moai_adk/__main__.py +136 -5
  2. moai_adk/astgrep/__init__.py +37 -0
  3. moai_adk/astgrep/analyzer.py +522 -0
  4. moai_adk/astgrep/models.py +124 -0
  5. moai_adk/astgrep/rules.py +179 -0
  6. moai_adk/cli/commands/analyze.py +11 -2
  7. moai_adk/cli/commands/doctor.py +7 -1
  8. moai_adk/cli/commands/init.py +321 -11
  9. moai_adk/cli/commands/language.py +7 -1
  10. moai_adk/cli/commands/rank.py +449 -0
  11. moai_adk/cli/commands/status.py +7 -1
  12. moai_adk/cli/commands/switch.py +325 -0
  13. moai_adk/cli/commands/update.py +296 -23
  14. moai_adk/cli/prompts/init_prompts.py +362 -66
  15. moai_adk/cli/prompts/translations/__init__.py +573 -0
  16. moai_adk/cli/ui/prompts.py +61 -2
  17. moai_adk/cli/worktree/cli.py +106 -1
  18. moai_adk/cli/worktree/manager.py +155 -0
  19. moai_adk/core/config/unified.py +244 -63
  20. moai_adk/core/credentials.py +264 -0
  21. moai_adk/core/error_recovery_system.py +22 -4
  22. moai_adk/core/git/conflict_detector.py +10 -1
  23. moai_adk/core/git/event_detector.py +16 -5
  24. moai_adk/core/integration/engine.py +2 -2
  25. moai_adk/core/integration/integration_tester.py +5 -5
  26. moai_adk/core/language_config_resolver.py +9 -3
  27. moai_adk/core/merge/analyzer.py +509 -324
  28. moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
  29. moai_adk/core/migration/backup_manager.py +54 -4
  30. moai_adk/core/migration/file_migrator.py +174 -2
  31. moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
  32. moai_adk/core/migration/version_detector.py +123 -19
  33. moai_adk/core/migration/version_migrator.py +44 -9
  34. moai_adk/core/model_allocator.py +241 -0
  35. moai_adk/core/project/backup_utils.py +12 -2
  36. moai_adk/core/project/initializer.py +44 -87
  37. moai_adk/core/project/phase_executor.py +95 -33
  38. moai_adk/core/project/validator.py +16 -1
  39. moai_adk/core/quality/trust_checker.py +30 -10
  40. moai_adk/core/rollback_manager.py +60 -25
  41. moai_adk/core/template/backup.py +88 -6
  42. moai_adk/core/template/config.py +33 -9
  43. moai_adk/core/template/merger.py +34 -8
  44. moai_adk/core/template/processor.py +334 -11
  45. moai_adk/core/template_engine.py +10 -1
  46. moai_adk/core/template_variable_synchronizer.py +16 -2
  47. moai_adk/core/version_sync.py +54 -6
  48. moai_adk/foundation/__init__.py +1 -20
  49. moai_adk/foundation/testing.py +1 -1
  50. moai_adk/loop/__init__.py +54 -0
  51. moai_adk/loop/controller.py +305 -0
  52. moai_adk/loop/feedback.py +230 -0
  53. moai_adk/loop/state.py +209 -0
  54. moai_adk/loop/storage.py +220 -0
  55. moai_adk/lsp/__init__.py +70 -0
  56. moai_adk/lsp/client.py +320 -0
  57. moai_adk/lsp/models.py +261 -0
  58. moai_adk/lsp/protocol.py +404 -0
  59. moai_adk/lsp/server_manager.py +248 -0
  60. moai_adk/project/configuration.py +8 -1
  61. moai_adk/py.typed +0 -0
  62. moai_adk/ralph/__init__.py +37 -0
  63. moai_adk/ralph/engine.py +307 -0
  64. moai_adk/rank/__init__.py +21 -0
  65. moai_adk/rank/auth.py +425 -0
  66. moai_adk/rank/client.py +557 -0
  67. moai_adk/rank/config.py +147 -0
  68. moai_adk/rank/hook.py +1503 -0
  69. moai_adk/rank/py.typed +0 -0
  70. moai_adk/statusline/__init__.py +3 -0
  71. moai_adk/statusline/enhanced_output_style_detector.py +5 -5
  72. moai_adk/statusline/main.py +20 -1
  73. moai_adk/statusline/memory_collector.py +268 -0
  74. moai_adk/statusline/renderer.py +54 -38
  75. moai_adk/tag_system/__init__.py +48 -0
  76. moai_adk/tag_system/atomic_ops.py +117 -0
  77. moai_adk/tag_system/linkage.py +335 -0
  78. moai_adk/tag_system/parser.py +176 -0
  79. moai_adk/tag_system/validator.py +200 -0
  80. moai_adk/templates/.claude/agents/moai/builder-agent.md +19 -3
  81. moai_adk/templates/.claude/agents/moai/builder-command.md +62 -16
  82. moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
  83. moai_adk/templates/.claude/agents/moai/builder-skill.md +21 -5
  84. moai_adk/templates/.claude/agents/moai/expert-backend.md +103 -39
  85. moai_adk/templates/.claude/agents/moai/expert-debug.md +9 -3
  86. moai_adk/templates/.claude/agents/moai/expert-devops.md +16 -14
  87. moai_adk/templates/.claude/agents/moai/expert-frontend.md +45 -31
  88. moai_adk/templates/.claude/agents/moai/expert-performance.md +13 -9
  89. moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
  90. moai_adk/templates/.claude/agents/moai/expert-security.md +19 -3
  91. moai_adk/templates/.claude/agents/moai/expert-testing.md +13 -9
  92. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +8 -2
  93. moai_adk/templates/.claude/agents/moai/manager-docs.md +10 -5
  94. moai_adk/templates/.claude/agents/moai/manager-git.md +99 -27
  95. moai_adk/templates/.claude/agents/moai/manager-project.md +87 -7
  96. moai_adk/templates/.claude/agents/moai/manager-quality.md +22 -5
  97. moai_adk/templates/.claude/agents/moai/manager-spec.md +8 -2
  98. moai_adk/templates/.claude/agents/moai/manager-strategy.md +45 -14
  99. moai_adk/templates/.claude/agents/moai/manager-tdd.md +16 -3
  100. moai_adk/templates/.claude/commands/moai/0-project.md +239 -1185
  101. moai_adk/templates/.claude/commands/moai/1-plan.md +383 -363
  102. moai_adk/templates/.claude/commands/moai/2-run.md +254 -347
  103. moai_adk/templates/.claude/commands/moai/3-sync.md +174 -100
  104. moai_adk/templates/.claude/commands/moai/9-feedback.md +49 -33
  105. moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
  106. moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
  107. moai_adk/templates/.claude/commands/moai/fix.md +264 -0
  108. moai_adk/templates/.claude/commands/moai/loop.md +363 -0
  109. moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
  110. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +37 -81
  111. moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
  112. moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
  113. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
  114. moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
  115. moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
  116. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +24 -28
  117. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +14 -14
  118. moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
  119. moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
  120. moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
  121. moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
  122. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +15 -13
  123. moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
  124. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +125 -25
  125. moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
  126. moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
  127. moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
  128. moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
  129. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
  130. moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
  131. moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
  132. moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
  133. moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
  134. moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
  135. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +5 -5
  136. moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
  137. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +30 -18
  138. moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
  139. moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
  140. moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
  141. moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
  142. moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
  143. moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
  144. moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
  145. moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
  146. moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
  147. moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
  148. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +93 -61
  149. moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
  150. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +165 -70
  151. moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
  152. moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
  153. moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
  154. moai_adk/templates/.claude/output-styles/moai/r2d2.md +86 -3
  155. moai_adk/templates/.claude/output-styles/moai/yoda.md +2 -2
  156. moai_adk/templates/.claude/settings.json +154 -77
  157. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -198
  158. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +169 -323
  159. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
  160. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
  161. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
  162. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
  163. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
  164. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +226 -320
  165. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -222
  166. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +75 -219
  167. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +103 -463
  168. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
  169. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
  170. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
  171. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
  172. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
  173. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
  174. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +118 -339
  175. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +74 -377
  176. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
  177. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +205 -182
  178. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
  179. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
  180. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +32 -22
  181. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
  182. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
  183. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
  184. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
  185. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
  186. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
  187. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
  188. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
  189. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
  190. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
  191. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +96 -316
  192. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +116 -294
  193. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
  196. moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
  199. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
  201. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +14 -18
  204. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +86 -270
  205. moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
  206. moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
  207. moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
  208. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +76 -582
  209. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1239 -0
  210. moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
  211. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1136 -0
  212. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +82 -436
  213. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
  214. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
  215. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
  216. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
  217. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
  218. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
  219. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
  220. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +65 -542
  221. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
  222. moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
  223. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
  224. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +32 -405
  225. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +114 -293
  226. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +83 -307
  227. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +179 -0
  228. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
  229. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
  230. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +42 -279
  231. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +94 -556
  232. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1608 -0
  233. moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
  234. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1323 -0
  235. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +108 -358
  236. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +84 -482
  237. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1154 -0
  238. moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
  239. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1087 -0
  240. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +106 -610
  241. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1106 -0
  242. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
  243. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
  244. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1024 -0
  245. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +51 -265
  246. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +106 -442
  247. moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
  248. moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
  249. moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
  250. moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
  251. moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
  252. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -457
  253. moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
  254. moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
  255. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
  256. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
  257. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +75 -283
  258. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +97 -252
  259. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +64 -240
  260. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
  261. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
  262. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +90 -287
  263. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +200 -206
  264. moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
  265. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
  266. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
  267. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
  268. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
  269. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
  270. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
  271. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
  272. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
  273. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
  274. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
  275. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
  276. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
  277. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
  278. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
  279. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
  280. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
  281. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
  282. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
  283. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
  284. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
  285. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
  286. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
  287. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
  288. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
  289. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
  290. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
  291. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
  292. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
  293. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
  294. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
  295. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
  296. moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
  297. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +75 -330
  298. moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
  299. moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
  300. moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
  301. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +100 -340
  302. moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
  303. moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
  304. moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
  305. moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
  306. moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
  307. moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
  308. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +113 -326
  309. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
  310. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
  311. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
  312. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
  313. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
  314. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +71 -302
  315. moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
  316. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
  317. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
  318. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
  319. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
  320. moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
  321. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +101 -412
  322. moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
  323. moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
  324. moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
  325. moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
  326. moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
  327. moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
  328. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +96 -327
  329. moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
  330. moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
  331. moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
  332. moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
  333. moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
  334. moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
  335. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +103 -428
  336. moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
  337. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
  338. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
  339. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
  340. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
  341. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
  342. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
  343. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
  344. moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
  345. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +96 -446
  346. moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
  347. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
  348. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
  349. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
  350. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
  351. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
  352. moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
  353. moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
  354. moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
  355. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
  356. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
  357. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
  358. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
  359. moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
  360. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
  361. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
  362. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
  363. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
  364. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
  365. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
  366. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
  367. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
  368. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
  369. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +225 -423
  370. moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
  371. moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
  372. moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
  373. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +211 -314
  374. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +15 -43
  375. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +119 -316
  376. moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
  377. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +96 -203
  378. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +201 -388
  379. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
  380. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
  381. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
  382. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
  383. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
  384. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
  385. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
  386. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
  387. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
  388. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
  389. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
  390. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
  391. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
  404. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
  409. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
  416. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
  429. moai_adk/templates/.git-hooks/pre-push +162 -59
  430. moai_adk/templates/.github/workflows/ci-universal.yml +934 -133
  431. moai_adk/templates/.gitignore +65 -107
  432. moai_adk/templates/.lsp.json +152 -0
  433. moai_adk/templates/.mcp.json +2 -20
  434. moai_adk/templates/.moai/announcements/en.json +18 -0
  435. moai_adk/templates/.moai/announcements/ja.json +18 -0
  436. moai_adk/templates/.moai/announcements/ko.json +18 -0
  437. moai_adk/templates/.moai/announcements/zh.json +18 -0
  438. moai_adk/templates/.moai/config/config.yaml +8 -2
  439. moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
  440. moai_adk/templates/.moai/config/sections/language.yaml +2 -2
  441. moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
  442. moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
  443. moai_adk/templates/.moai/config/sections/project.yaml +2 -2
  444. moai_adk/templates/.moai/config/sections/quality.yaml +43 -5
  445. moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
  446. moai_adk/templates/.moai/config/sections/system.yaml +46 -1
  447. moai_adk/templates/.moai/config/sections/user.yaml +1 -1
  448. moai_adk/templates/.moai/config/statusline-config.yaml +2 -2
  449. moai_adk/templates/.moai/llm-configs/glm.json +22 -0
  450. moai_adk/templates/CLAUDE.ja.md +343 -0
  451. moai_adk/templates/CLAUDE.ko.md +343 -0
  452. moai_adk/templates/CLAUDE.md +200 -499
  453. moai_adk/templates/CLAUDE.zh.md +343 -0
  454. moai_adk/utils/common.py +37 -0
  455. moai_adk/version.py +1 -1
  456. moai_adk-1.1.0.dist-info/METADATA +2443 -0
  457. moai_adk-1.1.0.dist-info/RECORD +701 -0
  458. {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/entry_points.txt +2 -0
  459. moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
  460. moai_adk/core/config/auto_spec_config.py +0 -340
  461. moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
  462. moai_adk/core/spec/confidence_scoring.py +0 -680
  463. moai_adk/core/spec/ears_template_engine.py +0 -1247
  464. moai_adk/core/spec/quality_validator.py +0 -687
  465. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +0 -670
  466. moai_adk/templates/.claude/agents/moai/expert-database.md +0 -777
  467. moai_adk/templates/.claude/agents/moai/expert-uiux.md +0 -1041
  468. moai_adk/templates/.claude/agents/moai/mcp-context7.md +0 -458
  469. moai_adk/templates/.claude/agents/moai/mcp-figma.md +0 -1607
  470. moai_adk/templates/.claude/agents/moai/mcp-notion.md +0 -789
  471. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +0 -469
  472. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +0 -1032
  473. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +0 -438
  474. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +0 -431
  475. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
  476. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
  477. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +0 -402
  478. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +0 -607
  479. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +0 -300
  480. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +0 -537
  481. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
  482. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
  483. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
  484. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
  485. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
  486. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -175
  487. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
  488. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
  489. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
  490. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
  491. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
  492. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
  493. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
  494. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
  495. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
  496. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
  497. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
  498. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -411
  499. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
  500. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
  501. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
  502. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
  503. moai_adk/templates/.moai/config/questions/_schema.yaml +0 -151
  504. moai_adk/templates/.moai/config/questions/tab0-init.yaml +0 -251
  505. moai_adk/templates/.moai/config/questions/tab1-user.yaml +0 -108
  506. moai_adk/templates/.moai/config/questions/tab2-project.yaml +0 -81
  507. moai_adk/templates/.moai/config/questions/tab3-git.yaml +0 -634
  508. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +0 -170
  509. moai_adk/templates/.moai/config/questions/tab5-system.yaml +0 -87
  510. moai_adk/templates/.moai/scripts/setup-glm.py +0 -136
  511. moai_adk-0.34.0.dist-info/METADATA +0 -2999
  512. moai_adk-0.34.0.dist-info/RECORD +0 -463
  513. moai_adk-0.34.0.dist-info/licenses/LICENSE +0 -21
  514. /moai_adk/foundation/{git.py → git/__init__.py} +0 -0
  515. /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  516. /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
  517. /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
  518. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  519. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
  520. /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  521. /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
  522. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
  523. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
  524. {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +0 -0
@@ -1,7 +1,7 @@
1
1
  name: Continuous Integration
2
2
 
3
3
  # Universal CI/CD pipeline for MoAI-ADK projects
4
- # Auto-detects: Python, Node.js, Go, Rust, Java, Ruby
4
+ # Auto-detects: Python, Node.js, Go, Rust, Java, Ruby, Elixir, Kotlin, Scala, Swift, C#, C++, Flutter, R
5
5
  # Triggers: Pull requests and pushes to main/develop branches
6
6
 
7
7
  on:
@@ -21,7 +21,7 @@ concurrency:
21
21
 
22
22
  jobs:
23
23
  detect-language:
24
- name: 🔍 Detect Project Language
24
+ name: Detect Project Language
25
25
  runs-on: ubuntu-latest
26
26
  outputs:
27
27
  python: ${{ steps.detect.outputs.python }}
@@ -30,21 +30,29 @@ jobs:
30
30
  rust: ${{ steps.detect.outputs.rust }}
31
31
  java: ${{ steps.detect.outputs.java }}
32
32
  ruby: ${{ steps.detect.outputs.ruby }}
33
+ elixir: ${{ steps.detect.outputs.elixir }}
34
+ kotlin: ${{ steps.detect.outputs.kotlin }}
35
+ scala: ${{ steps.detect.outputs.scala }}
36
+ swift: ${{ steps.detect.outputs.swift }}
37
+ csharp: ${{ steps.detect.outputs.csharp }}
38
+ cpp: ${{ steps.detect.outputs.cpp }}
39
+ flutter: ${{ steps.detect.outputs.flutter }}
40
+ r: ${{ steps.detect.outputs.r }}
33
41
  primary_language: ${{ steps.detect.outputs.primary_language }}
34
42
 
35
43
  steps:
36
- - name: 📥 Checkout code
44
+ - name: Checkout code
37
45
  uses: actions/checkout@v4
38
46
 
39
- - name: 🔎 Auto-detect language
47
+ - name: Auto-detect language
40
48
  id: detect
41
49
  run: |
42
- echo "🔍 Auto-detecting project language..."
50
+ echo "Auto-detecting project language..."
43
51
  echo ""
44
52
 
45
53
  # Python detection
46
54
  if [ -f "pyproject.toml" ] || [ -f "setup.py" ] || [ -f "requirements.txt" ]; then
47
- echo "Python project detected"
55
+ echo "Python project detected"
48
56
  echo "python=true" >> $GITHUB_OUTPUT
49
57
  PRIMARY="python"
50
58
  else
@@ -53,7 +61,7 @@ jobs:
53
61
 
54
62
  # Node.js detection
55
63
  if [ -f "package.json" ]; then
56
- echo "Node.js project detected"
64
+ echo "Node.js project detected"
57
65
  echo "node=true" >> $GITHUB_OUTPUT
58
66
  [ -z "$PRIMARY" ] && PRIMARY="node"
59
67
  else
@@ -62,7 +70,7 @@ jobs:
62
70
 
63
71
  # Go detection
64
72
  if [ -f "go.mod" ]; then
65
- echo "Go project detected"
73
+ echo "Go project detected"
66
74
  echo "go=true" >> $GITHUB_OUTPUT
67
75
  [ -z "$PRIMARY" ] && PRIMARY="go"
68
76
  else
@@ -71,7 +79,7 @@ jobs:
71
79
 
72
80
  # Rust detection
73
81
  if [ -f "Cargo.toml" ]; then
74
- echo "Rust project detected"
82
+ echo "Rust project detected"
75
83
  echo "rust=true" >> $GITHUB_OUTPUT
76
84
  [ -z "$PRIMARY" ] && PRIMARY="rust"
77
85
  else
@@ -80,7 +88,7 @@ jobs:
80
88
 
81
89
  # Java detection
82
90
  if [ -f "pom.xml" ] || [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
83
- echo "Java project detected"
91
+ echo "Java project detected"
84
92
  echo "java=true" >> $GITHUB_OUTPUT
85
93
  [ -z "$PRIMARY" ] && PRIMARY="java"
86
94
  else
@@ -89,43 +97,114 @@ jobs:
89
97
 
90
98
  # Ruby detection
91
99
  if [ -f "Gemfile" ]; then
92
- echo "Ruby project detected"
100
+ echo "Ruby project detected"
93
101
  echo "ruby=true" >> $GITHUB_OUTPUT
94
102
  [ -z "$PRIMARY" ] && PRIMARY="ruby"
95
103
  else
96
104
  echo "ruby=false" >> $GITHUB_OUTPUT
97
105
  fi
98
106
 
107
+ # Elixir detection
108
+ if [ -f "mix.exs" ]; then
109
+ echo "Elixir project detected"
110
+ echo "elixir=true" >> $GITHUB_OUTPUT
111
+ [ -z "$PRIMARY" ] && PRIMARY="elixir"
112
+ else
113
+ echo "elixir=false" >> $GITHUB_OUTPUT
114
+ fi
115
+
116
+ # Kotlin detection (separate from Java)
117
+ if [ -f "build.gradle.kts" ] && grep -q "kotlin(" build.gradle.kts 2>/dev/null; then
118
+ echo "Kotlin project detected"
119
+ echo "kotlin=true" >> $GITHUB_OUTPUT
120
+ [ -z "$PRIMARY" ] && PRIMARY="kotlin"
121
+ else
122
+ echo "kotlin=false" >> $GITHUB_OUTPUT
123
+ fi
124
+
125
+ # Scala detection
126
+ if [ -f "build.sbt" ]; then
127
+ echo "Scala project detected"
128
+ echo "scala=true" >> $GITHUB_OUTPUT
129
+ [ -z "$PRIMARY" ] && PRIMARY="scala"
130
+ else
131
+ echo "scala=false" >> $GITHUB_OUTPUT
132
+ fi
133
+
134
+ # Swift detection
135
+ if [ -f "Package.swift" ] || [ -f "Package.resolved" ]; then
136
+ echo "Swift project detected"
137
+ echo "swift=true" >> $GITHUB_OUTPUT
138
+ [ -z "$PRIMARY" ] && PRIMARY="swift"
139
+ else
140
+ echo "swift=false" >> $GITHUB_OUTPUT
141
+ fi
142
+
143
+ # C# detection
144
+ if find . -name "*.csproj" -o -name "*.sln" | grep -q .; then
145
+ echo "C# project detected"
146
+ echo "csharp=true" >> $GITHUB_OUTPUT
147
+ [ -z "$PRIMARY" ] && PRIMARY="csharp"
148
+ else
149
+ echo "csharp=false" >> $GITHUB_OUTPUT
150
+ fi
151
+
152
+ # C++ detection
153
+ if [ -f "CMakeLists.txt" ] || [ -f "Makefile" ] || [ -f "meson.build" ]; then
154
+ echo "C++ project detected"
155
+ echo "cpp=true" >> $GITHUB_OUTPUT
156
+ [ -z "$PRIMARY" ] && PRIMARY="cpp"
157
+ else
158
+ echo "cpp=false" >> $GITHUB_OUTPUT
159
+ fi
160
+
161
+ # Flutter detection
162
+ if [ -f "pubspec.yaml" ] && grep -q "flutter" pubspec.yaml 2>/dev/null; then
163
+ echo "Flutter project detected"
164
+ echo "flutter=true" >> $GITHUB_OUTPUT
165
+ [ -z "$PRIMARY" ] && PRIMARY="flutter"
166
+ else
167
+ echo "flutter=false" >> $GITHUB_OUTPUT
168
+ fi
169
+
170
+ # R detection
171
+ if [ -f "DESCRIPTION" ] || [ -f "renv.lock" ]; then
172
+ echo "R project detected"
173
+ echo "r=true" >> $GITHUB_OUTPUT
174
+ [ -z "$PRIMARY" ] && PRIMARY="r"
175
+ else
176
+ echo "r=false" >> $GITHUB_OUTPUT
177
+ fi
178
+
99
179
  # Set primary language
100
180
  if [ -z "$PRIMARY" ]; then
101
- echo "⚠️ No language detected, defaulting to generic checks"
181
+ echo "No language detected, defaulting to generic checks"
102
182
  PRIMARY="generic"
103
183
  fi
104
184
 
105
185
  echo ""
106
- echo "Primary language: $PRIMARY"
186
+ echo "Primary language: $PRIMARY"
107
187
  echo "primary_language=$PRIMARY" >> $GITHUB_OUTPUT
108
188
 
109
189
  code-quality-python:
110
- name: 🐍 Python Code Quality
190
+ name: Python Code Quality
111
191
  runs-on: ubuntu-latest
112
192
  needs: detect-language
113
193
  if: needs.detect-language.outputs.python == 'true'
114
194
 
115
195
  steps:
116
- - name: 📥 Checkout code
196
+ - name: Checkout code
117
197
  uses: actions/checkout@v4
118
198
 
119
- - name: 🐍 Setup Python
199
+ - name: Setup Python
120
200
  uses: actions/setup-python@v5
121
201
  with:
122
202
  python-version: "3.11"
123
203
 
124
- - name: 📦 Install dependencies
204
+ - name: Install dependencies
125
205
  run: |
126
- echo "📦 Installing Python dependencies..."
206
+ echo "Installing Python dependencies..."
127
207
 
128
- # Try pip install with pyproject.toml, setup.py, or requirements.txt
129
208
  if [ -f "pyproject.toml" ]; then
130
209
  pip install -e .[dev] || pip install -e . || true
131
210
  elif [ -f "setup.py" ]; then
@@ -134,121 +213,393 @@ jobs:
134
213
  pip install -r requirements.txt || true
135
214
  fi
136
215
 
137
- # Install common linters (best-effort)
138
216
  pip install black ruff mypy bandit || true
139
217
 
140
- - name: 🎨 Check code formatting (black)
218
+ - name: Check code formatting (black)
141
219
  run: |
142
- echo "🎨 Checking Python code formatting..."
143
- black --check . --line-length=120 || echo "⚠️ Formatting issues found (non-blocking)"
220
+ echo "Checking Python code formatting..."
221
+ black --check . --line-length=120 || echo "Formatting issues found (non-blocking)"
144
222
 
145
- - name: 🔧 Lint code (ruff)
223
+ - name: Lint code (ruff)
146
224
  run: |
147
- echo "🔧 Linting Python code..."
148
- ruff check . || echo "⚠️ Linting issues found (non-blocking)"
225
+ echo "Linting Python code..."
226
+ ruff check . || echo "Linting issues found (non-blocking)"
149
227
 
150
- - name: 📝 Type checking (mypy)
228
+ - name: Type checking (mypy)
151
229
  run: |
152
- echo "📝 Type checking Python code..."
153
- mypy . --ignore-missing-imports || echo "⚠️ Type issues found (non-blocking)"
230
+ echo "Type checking Python code..."
231
+ mypy . --ignore-missing-imports || echo "Type issues found (non-blocking)"
154
232
 
155
- - name: 🔐 Security check (bandit)
233
+ - name: Security check (bandit)
156
234
  run: |
157
- echo "🔐 Security scanning Python code..."
158
- bandit -r . -ll || echo "⚠️ Security issues found (non-blocking)"
235
+ echo "Security scanning Python code..."
236
+ bandit -r . -ll || echo "Security issues found (non-blocking)"
159
237
 
160
238
  code-quality-node:
161
- name: 🟢 Node.js Code Quality
239
+ name: Node.js Code Quality
162
240
  runs-on: ubuntu-latest
163
241
  needs: detect-language
164
242
  if: needs.detect-language.outputs.node == 'true'
165
243
 
166
244
  steps:
167
- - name: 📥 Checkout code
245
+ - name: Checkout code
168
246
  uses: actions/checkout@v4
169
247
 
170
- - name: 🟢 Setup Node.js
248
+ - name: Setup Node.js
171
249
  uses: actions/setup-node@v4
172
250
  with:
173
251
  node-version: '20'
174
252
  cache: 'npm'
175
253
 
176
- - name: 📦 Install dependencies
254
+ - name: Install dependencies
177
255
  run: |
178
- echo "📦 Installing Node.js dependencies..."
256
+ echo "Installing Node.js dependencies..."
179
257
  npm ci || npm install || true
180
258
 
181
- - name: 🔧 Lint code (ESLint)
259
+ - name: Lint code (ESLint)
182
260
  run: |
183
- echo "🔧 Linting JavaScript/TypeScript code..."
184
- npm run lint || npx eslint . || echo "⚠️ Linting issues found (non-blocking)"
261
+ echo "Linting JavaScript/TypeScript code..."
262
+ npm run lint || npx eslint . || echo "Linting issues found (non-blocking)"
185
263
 
186
- - name: 🎨 Check formatting (Prettier)
264
+ - name: Check formatting (Prettier)
187
265
  run: |
188
- echo "🎨 Checking code formatting..."
189
- npm run format:check || npx prettier --check . || echo "⚠️ Formatting issues found (non-blocking)"
266
+ echo "Checking code formatting..."
267
+ npm run format:check || npx prettier --check . || echo "Formatting issues found (non-blocking)"
190
268
 
191
- - name: 📝 Type checking (TypeScript)
269
+ - name: Type checking (TypeScript)
192
270
  run: |
193
- echo "📝 Type checking TypeScript..."
194
- npm run type-check || npx tsc --noEmit || echo "⚠️ Type issues found (non-blocking)"
271
+ echo "Type checking TypeScript..."
272
+ npm run type-check || npx tsc --noEmit || echo "Type issues found (non-blocking)"
195
273
 
196
274
  code-quality-go:
197
- name: 🐹 Go Code Quality
275
+ name: Go Code Quality
198
276
  runs-on: ubuntu-latest
199
277
  needs: detect-language
200
278
  if: needs.detect-language.outputs.go == 'true'
201
279
 
202
280
  steps:
203
- - name: 📥 Checkout code
281
+ - name: Checkout code
204
282
  uses: actions/checkout@v4
205
283
 
206
- - name: 🐹 Setup Go
284
+ - name: Setup Go
207
285
  uses: actions/setup-go@v5
208
286
  with:
209
287
  go-version: '1.21'
210
288
 
211
- - name: 🔧 Format check (gofmt)
289
+ - name: Format check (gofmt)
212
290
  run: |
213
- echo "🔧 Checking Go code formatting..."
214
- gofmt -l . | grep . && echo "⚠️ Formatting issues found" || echo "Format check passed"
291
+ echo "Checking Go code formatting..."
292
+ gofmt -l . | grep . && echo "Formatting issues found" || echo "Format check passed"
215
293
 
216
- - name: 📝 Lint code (golangci-lint)
294
+ - name: Lint code (golangci-lint)
217
295
  run: |
218
- echo "📝 Linting Go code..."
296
+ echo "Linting Go code..."
219
297
  go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
220
- golangci-lint run || echo "⚠️ Linting issues found (non-blocking)"
298
+ golangci-lint run || echo "Linting issues found (non-blocking)"
221
299
 
222
- - name: 🔍 Vet code
300
+ - name: Vet code
223
301
  run: |
224
- echo "🔍 Running go vet..."
225
- go vet ./... || echo "⚠️ Vet issues found (non-blocking)"
302
+ echo "Running go vet..."
303
+ go vet ./... || echo "Vet issues found (non-blocking)"
226
304
 
227
305
  code-quality-rust:
228
- name: 🦀 Rust Code Quality
306
+ name: Rust Code Quality
229
307
  runs-on: ubuntu-latest
230
308
  needs: detect-language
231
309
  if: needs.detect-language.outputs.rust == 'true'
232
310
 
233
311
  steps:
234
- - name: 📥 Checkout code
312
+ - name: Checkout code
235
313
  uses: actions/checkout@v4
236
314
 
237
- - name: 🦀 Setup Rust
315
+ - name: Setup Rust
238
316
  uses: actions-rust-lang/setup-rust-toolchain@v1
239
317
 
240
- - name: 🔧 Format check (rustfmt)
318
+ - name: Format check (rustfmt)
319
+ run: |
320
+ echo "Checking Rust code formatting..."
321
+ cargo fmt --check || echo "Formatting issues found (non-blocking)"
322
+
323
+ - name: Lint code (clippy)
324
+ run: |
325
+ echo "Linting Rust code..."
326
+ cargo clippy -- -D warnings || echo "Clippy warnings found (non-blocking)"
327
+
328
+ code-quality-java:
329
+ name: Java Code Quality
330
+ runs-on: ubuntu-latest
331
+ needs: detect-language
332
+ if: needs.detect-language.outputs.java == 'true'
333
+
334
+ steps:
335
+ - name: Checkout code
336
+ uses: actions/checkout@v4
337
+
338
+ - name: Setup JDK
339
+ uses: actions/setup-java@v4
340
+ with:
341
+ distribution: 'temurin'
342
+ java-version: '17'
343
+
344
+ - name: Checkstyle
345
+ run: |
346
+ echo "Running Java code quality checks..."
347
+
348
+ if [ -f "pom.xml" ]; then
349
+ mvn checkstyle:check || echo "Checkstyle issues found (non-blocking)"
350
+ elif [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
351
+ ./gradlew checkstyleMain || echo "Checkstyle issues found (non-blocking)"
352
+ fi
353
+
354
+ code-quality-ruby:
355
+ name: Ruby Code Quality
356
+ runs-on: ubuntu-latest
357
+ needs: detect-language
358
+ if: needs.detect-language.outputs.ruby == 'true'
359
+
360
+ steps:
361
+ - name: Checkout code
362
+ uses: actions/checkout@v4
363
+
364
+ - name: Setup Ruby
365
+ uses: ruby/setup-ruby@v1
366
+ with:
367
+ ruby-version: '3.2'
368
+ bundler-cache: true
369
+
370
+ - name: Install dependencies
371
+ run: |
372
+ echo "Installing Ruby dependencies..."
373
+ bundle install || true
374
+
375
+ - name: RuboCop
376
+ run: |
377
+ echo "Running RuboCop..."
378
+ bundle exec rubocop || echo "RuboCop issues found (non-blocking)"
379
+
380
+ code-quality-elixir:
381
+ name: Elixir Code Quality
382
+ runs-on: ubuntu-latest
383
+ needs: detect-language
384
+ if: needs.detect-language.outputs.elixir == 'true'
385
+
386
+ steps:
387
+ - name: Checkout code
388
+ uses: actions/checkout@v4
389
+
390
+ - name: Setup Elixir
391
+ uses: erlef/setup-beam@v1
392
+ with:
393
+ elixir-version: '1.15'
394
+ otp-version: '26'
395
+
396
+ - name: Install dependencies
397
+ run: |
398
+ echo "Installing Elixir dependencies..."
399
+ mix deps.get || true
400
+ mix format --check-formatted || echo "Formatting issues found (non-blocking)"
401
+
402
+ - name: Credo
403
+ run: |
404
+ echo "Running Credo..."
405
+ mix credo || echo "Credo issues found (non-blocking)"
406
+
407
+ code-quality-kotlin:
408
+ name: Kotlin Code Quality
409
+ runs-on: ubuntu-latest
410
+ needs: detect-language
411
+ if: needs.detect-language.outputs.kotlin == 'true'
412
+
413
+ steps:
414
+ - name: Checkout code
415
+ uses: actions/checkout@v4
416
+
417
+ - name: Setup JDK
418
+ uses: actions/setup-java@v4
419
+ with:
420
+ distribution: 'temurin'
421
+ java-version: '17'
422
+
423
+ - name: Detekt
424
+ run: |
425
+ echo "Running Detekt..."
426
+ ./gradlew detekt || echo "Detekt issues found (non-blocking)"
427
+
428
+ - name: Format check
429
+ run: |
430
+ echo "Checking Kotlin formatting..."
431
+ ./gradlew ktlintCheck || echo "Formatting issues found (non-blocking)"
432
+
433
+ code-quality-scala:
434
+ name: Scala Code Quality
435
+ runs-on: ubuntu-latest
436
+ needs: detect-language
437
+ if: needs.detect-language.outputs.scala == 'true'
438
+
439
+ steps:
440
+ - name: Checkout code
441
+ uses: actions/checkout@v4
442
+
443
+ - name: Setup Scala
444
+ uses: olafurpg/setup-scala@v14
445
+ with:
446
+ java-version: 'adopt@1.17'
447
+
448
+ - name: Scalafmt
449
+ run: |
450
+ echo "Checking Scala formatting..."
451
+ sbt scalafmtCheckAll || echo "Formatting issues found (non-blocking)"
452
+
453
+ - name: Scalastyle
241
454
  run: |
242
- echo "🔧 Checking Rust code formatting..."
243
- cargo fmt --check || echo "⚠️ Formatting issues found (non-blocking)"
455
+ echo "Running Scalastyle..."
456
+ sbt scalastyle || echo "Scalastyle issues found (non-blocking)"
244
457
 
245
- - name: 📝 Lint code (clippy)
458
+ code-quality-swift:
459
+ name: Swift Code Quality
460
+ runs-on: ubuntu-latest
461
+ needs: detect-language
462
+ if: needs.detect-language.outputs.swift == 'true'
463
+
464
+ steps:
465
+ - name: Checkout code
466
+ uses: actions/checkout@v4
467
+
468
+ - name: Setup Swift
469
+ uses: swift/setup-swift@v1
470
+ with:
471
+ swift-version: '5.9'
472
+
473
+ - name: Format check (swift-format)
474
+ run: |
475
+ echo "Checking Swift formatting..."
476
+ swift-format lint . || echo "Formatting issues found (non-blocking)"
477
+
478
+ - name: SwiftLint
479
+ run: |
480
+ echo "Running SwiftLint..."
481
+ swiftlint lint || echo "SwiftLint issues found (non-blocking)"
482
+
483
+ code-quality-csharp:
484
+ name: C# Code Quality
485
+ runs-on: ubuntu-latest
486
+ needs: detect-language
487
+ if: needs.detect-language.outputs.csharp == 'true'
488
+
489
+ steps:
490
+ - name: Checkout code
491
+ uses: actions/checkout@v4
492
+
493
+ - name: Setup .NET
494
+ uses: actions/setup-dotnet@v4
495
+ with:
496
+ dotnet-version: '8.0'
497
+
498
+ - name: Restore dependencies
499
+ run: |
500
+ echo "Restoring .NET dependencies..."
501
+ dotnet restore || true
502
+
503
+ - name: Format check
504
+ run: |
505
+ echo "Checking C# formatting..."
506
+ dotnet format --verify-no-changes || echo "Formatting issues found (non-blocking)"
507
+
508
+ - name: Analyze
509
+ run: |
510
+ echo "Running .NET analyzers..."
511
+ dotnet build || echo "Build issues found (non-blocking)"
512
+
513
+ code-quality-cpp:
514
+ name: C++ Code Quality
515
+ runs-on: ubuntu-latest
516
+ needs: detect-language
517
+ if: needs.detect-language.outputs.cpp == 'true'
518
+
519
+ steps:
520
+ - name: Checkout code
521
+ uses: actions/checkout@v4
522
+
523
+ - name: Setup C++
524
+ uses: clang/setup-linter@v1
525
+
526
+ - name: Clang-format
527
+ run: |
528
+ echo "Checking C++ formatting..."
529
+ find . -name '*.cpp' -o -name '*.h' -o -name '*.cc' | xargs clang-format --dry-run -Werror || echo "Formatting issues found (non-blocking)"
530
+
531
+ - name: Clang-tidy
532
+ run: |
533
+ echo "Running Clang-tidy..."
534
+ if [ -f "CMakeLists.txt" ]; then
535
+ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
536
+ find . -name '*.cpp' | xargs clang-tidy || echo "Tidy issues found (non-blocking)"
537
+ fi
538
+
539
+ code-quality-flutter:
540
+ name: Flutter Code Quality
541
+ runs-on: ubuntu-latest
542
+ needs: detect-language
543
+ if: needs.detect-language.outputs.flutter == 'true'
544
+
545
+ steps:
546
+ - name: Checkout code
547
+ uses: actions/checkout@v4
548
+
549
+ - name: Setup Flutter
550
+ uses: subosito/flutter-action@v2
551
+ with:
552
+ flutter-version: '3.16'
553
+ channel: 'stable'
554
+
555
+ - name: Install dependencies
556
+ run: |
557
+ echo "Installing Flutter dependencies..."
558
+ flutter pub get || true
559
+
560
+ - name: Analyze
561
+ run: |
562
+ echo "Analyzing Flutter code..."
563
+ flutter analyze || echo "Analysis issues found (non-blocking)"
564
+
565
+ - name: Format check
566
+ run: |
567
+ echo "Checking Flutter formatting..."
568
+ dart format --output=none --set-exit-if-changed . || echo "Formatting issues found (non-blocking)"
569
+
570
+ code-quality-r:
571
+ name: R Code Quality
572
+ runs-on: ubuntu-latest
573
+ needs: detect-language
574
+ if: needs.detect-language.outputs.r == 'true'
575
+
576
+ steps:
577
+ - name: Checkout code
578
+ uses: actions/checkout@v4
579
+
580
+ - name: Setup R
581
+ uses: r-lib/actions/setup-r@v2
582
+ with:
583
+ r-version: '4.3'
584
+
585
+ - name: Install dependencies
246
586
  run: |
247
- echo "📝 Linting Rust code..."
248
- cargo clippy -- -D warnings || echo "⚠️ Clippy warnings found (non-blocking)"
587
+ echo "Installing R dependencies..."
588
+ Rscript -e "install.packages('lintr')" || true
589
+ Rscript -e "install.packages('styler')" || true
590
+
591
+ - name: Lintr
592
+ run: |
593
+ echo "Running Lintr..."
594
+ Rscript -e "lintr::lint_dir()" || echo "Linting issues found (non-blocking)"
595
+
596
+ - name: Style check
597
+ run: |
598
+ echo "Checking R formatting..."
599
+ Rscript -e "styler::style_dir()" || echo "Formatting issues found (non-blocking)"
249
600
 
250
601
  test-python:
251
- name: 🧪 Python Tests
602
+ name: Python Tests
252
603
  runs-on: ubuntu-latest
253
604
  needs: [detect-language, code-quality-python]
254
605
  if: needs.detect-language.outputs.python == 'true'
@@ -258,17 +609,17 @@ jobs:
258
609
  python-version: ["3.11", "3.12", "3.13", "3.14"]
259
610
 
260
611
  steps:
261
- - name: 📥 Checkout code
612
+ - name: Checkout code
262
613
  uses: actions/checkout@v4
263
614
 
264
- - name: 🐍 Setup Python ${{ matrix.python-version }}
615
+ - name: Setup Python ${{ matrix.python-version }}
265
616
  uses: actions/setup-python@v5
266
617
  with:
267
618
  python-version: ${{ matrix.python-version }}
268
619
 
269
- - name: 📦 Install dependencies
620
+ - name: Install dependencies
270
621
  run: |
271
- echo "📦 Installing dependencies for Python ${{ matrix.python-version }}..."
622
+ echo "Installing dependencies for Python ${{ matrix.python-version }}..."
272
623
 
273
624
  if [ -f "pyproject.toml" ]; then
274
625
  pip install -e .[dev] || pip install -e . || true
@@ -280,12 +631,12 @@ jobs:
280
631
 
281
632
  pip install pytest pytest-cov || true
282
633
 
283
- - name: 🧪 Run tests with coverage
634
+ - name: Run tests with coverage
284
635
  run: |
285
- echo "🧪 Running Python tests..."
286
- pytest tests/ --cov --cov-report=xml --cov-report=term -v || echo "⚠️ Tests failed or not found"
636
+ echo "Running Python tests..."
637
+ pytest tests/ --cov --cov-report=xml --cov-report=term -v || echo "Tests failed or not found"
287
638
 
288
- - name: 📊 Upload coverage to Codecov
639
+ - name: Upload coverage to Codecov
289
640
  uses: codecov/codecov-action@v4
290
641
  with:
291
642
  files: ./coverage.xml
@@ -296,50 +647,50 @@ jobs:
296
647
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
297
648
 
298
649
  test-node:
299
- name: 🧪 Node.js Tests
650
+ name: Node.js Tests
300
651
  runs-on: ubuntu-latest
301
652
  needs: [detect-language, code-quality-node]
302
653
  if: needs.detect-language.outputs.node == 'true'
303
654
 
304
655
  steps:
305
- - name: 📥 Checkout code
656
+ - name: Checkout code
306
657
  uses: actions/checkout@v4
307
658
 
308
- - name: 🟢 Setup Node.js
659
+ - name: Setup Node.js
309
660
  uses: actions/setup-node@v4
310
661
  with:
311
662
  node-version: '20'
312
663
  cache: 'npm'
313
664
 
314
- - name: 📦 Install dependencies
665
+ - name: Install dependencies
315
666
  run: npm ci || npm install
316
667
 
317
- - name: 🧪 Run tests
668
+ - name: Run tests
318
669
  run: |
319
- echo "🧪 Running Node.js tests..."
320
- npm test || echo "⚠️ Tests failed or not found"
670
+ echo "Running Node.js tests..."
671
+ npm test || echo "Tests failed or not found"
321
672
 
322
673
  test-go:
323
- name: 🧪 Go Tests
674
+ name: Go Tests
324
675
  runs-on: ubuntu-latest
325
676
  needs: [detect-language, code-quality-go]
326
677
  if: needs.detect-language.outputs.go == 'true'
327
678
 
328
679
  steps:
329
- - name: 📥 Checkout code
680
+ - name: Checkout code
330
681
  uses: actions/checkout@v4
331
682
 
332
- - name: 🐹 Setup Go
683
+ - name: Setup Go
333
684
  uses: actions/setup-go@v5
334
685
  with:
335
686
  go-version: '1.21'
336
687
 
337
- - name: 🧪 Run tests
688
+ - name: Run tests
338
689
  run: |
339
- echo "🧪 Running Go tests..."
340
- go test -v ./... -coverprofile=coverage.out || echo "⚠️ Tests failed or not found"
690
+ echo "Running Go tests..."
691
+ go test -v ./... -coverprofile=coverage.out || echo "Tests failed or not found"
341
692
 
342
- - name: 📊 Upload coverage
693
+ - name: Upload coverage
343
694
  uses: codecov/codecov-action@v4
344
695
  with:
345
696
  files: ./coverage.out
@@ -349,53 +700,284 @@ jobs:
349
700
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
350
701
 
351
702
  test-rust:
352
- name: 🧪 Rust Tests
703
+ name: Rust Tests
353
704
  runs-on: ubuntu-latest
354
705
  needs: [detect-language, code-quality-rust]
355
706
  if: needs.detect-language.outputs.rust == 'true'
356
707
 
357
708
  steps:
358
- - name: 📥 Checkout code
709
+ - name: Checkout code
359
710
  uses: actions/checkout@v4
360
711
 
361
- - name: 🦀 Setup Rust
712
+ - name: Setup Rust
362
713
  uses: actions-rust-lang/setup-rust-toolchain@v1
363
714
 
364
- - name: 🧪 Run tests
715
+ - name: Run tests
365
716
  run: |
366
- echo "🧪 Running Rust tests..."
367
- cargo test || echo "⚠️ Tests failed or not found"
717
+ echo "Running Rust tests..."
718
+ cargo test || echo "Tests failed or not found"
719
+
720
+ test-java:
721
+ name: Java Tests
722
+ runs-on: ubuntu-latest
723
+ needs: [detect-language, code-quality-java]
724
+ if: needs.detect-language.outputs.java == 'true'
725
+
726
+ steps:
727
+ - name: Checkout code
728
+ uses: actions/checkout@v4
729
+
730
+ - name: Setup JDK
731
+ uses: actions/setup-java@v4
732
+ with:
733
+ distribution: 'temurin'
734
+ java-version: '17'
735
+
736
+ - name: Run tests
737
+ run: |
738
+ echo "Running Java tests..."
739
+
740
+ if [ -f "pom.xml" ]; then
741
+ mvn test || echo "Tests failed or not found"
742
+ elif [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
743
+ ./gradlew test || echo "Tests failed or not found"
744
+ fi
745
+
746
+ test-ruby:
747
+ name: Ruby Tests
748
+ runs-on: ubuntu-latest
749
+ needs: [detect-language, code-quality-ruby]
750
+ if: needs.detect-language.outputs.ruby == 'true'
751
+
752
+ steps:
753
+ - name: Checkout code
754
+ uses: actions/checkout@v4
755
+
756
+ - name: Setup Ruby
757
+ uses: ruby/setup-ruby@v1
758
+ with:
759
+ ruby-version: '3.2'
760
+ bundler-cache: true
761
+
762
+ - name: Run tests
763
+ run: |
764
+ echo "Running Ruby tests..."
765
+ bundle exec rake test || bundle exec rspec || echo "Tests failed or not found"
766
+
767
+ test-elixir:
768
+ name: Elixir Tests
769
+ runs-on: ubuntu-latest
770
+ needs: [detect-language, code-quality-elixir]
771
+ if: needs.detect-language.outputs.elixir == 'true'
772
+
773
+ steps:
774
+ - name: Checkout code
775
+ uses: actions/checkout@v4
776
+
777
+ - name: Setup Elixir
778
+ uses: erlef/setup-beam@v1
779
+ with:
780
+ elixir-version: '1.15'
781
+ otp-version: '26'
782
+
783
+ - name: Install dependencies
784
+ run: mix deps.get || true
785
+
786
+ - name: Run tests
787
+ run: |
788
+ echo "Running Elixir tests..."
789
+ mix test || echo "Tests failed or not found"
790
+
791
+ test-kotlin:
792
+ name: Kotlin Tests
793
+ runs-on: ubuntu-latest
794
+ needs: [detect-language, code-quality-kotlin]
795
+ if: needs.detect-language.outputs.kotlin == 'true'
796
+
797
+ steps:
798
+ - name: Checkout code
799
+ uses: actions/checkout@v4
800
+
801
+ - name: Setup JDK
802
+ uses: actions/setup-java@v4
803
+ with:
804
+ distribution: 'temurin'
805
+ java-version: '17'
806
+
807
+ - name: Run tests
808
+ run: |
809
+ echo "Running Kotlin tests..."
810
+ ./gradlew test || echo "Tests failed or not found"
811
+
812
+ test-scala:
813
+ name: Scala Tests
814
+ runs-on: ubuntu-latest
815
+ needs: [detect-language, code-quality-scala]
816
+ if: needs.detect-language.outputs.scala == 'true'
817
+
818
+ steps:
819
+ - name: Checkout code
820
+ uses: actions/checkout@v4
821
+
822
+ - name: Setup Scala
823
+ uses: olafurpg/setup-scala@v14
824
+ with:
825
+ java-version: 'adopt@1.17'
826
+
827
+ - name: Run tests
828
+ run: |
829
+ echo "Running Scala tests..."
830
+ sbt test || echo "Tests failed or not found"
831
+
832
+ test-swift:
833
+ name: Swift Tests
834
+ runs-on: ubuntu-latest
835
+ needs: [detect-language, code-quality-swift]
836
+ if: needs.detect-language.outputs.swift == 'true'
837
+
838
+ steps:
839
+ - name: Checkout code
840
+ uses: actions/checkout@v4
841
+
842
+ - name: Setup Swift
843
+ uses: swift/setup-swift@v1
844
+ with:
845
+ swift-version: '5.9'
846
+
847
+ - name: Run tests
848
+ run: |
849
+ echo "Running Swift tests..."
850
+ swift test || echo "Tests failed or not found"
851
+
852
+ test-csharp:
853
+ name: C# Tests
854
+ runs-on: ubuntu-latest
855
+ needs: [detect-language, code-quality-csharp]
856
+ if: needs.detect-language.outputs.csharp == 'true'
857
+
858
+ steps:
859
+ - name: Checkout code
860
+ uses: actions/checkout@v4
861
+
862
+ - name: Setup .NET
863
+ uses: actions/setup-dotnet@v4
864
+ with:
865
+ dotnet-version: '8.0'
866
+
867
+ - name: Run tests
868
+ run: |
869
+ echo "Running C# tests..."
870
+ dotnet test || echo "Tests failed or not found"
871
+
872
+ test-cpp:
873
+ name: C++ Tests
874
+ runs-on: ubuntu-latest
875
+ needs: [detect-language, code-quality-cpp]
876
+ if: needs.detect-language.outputs.cpp == 'true'
877
+
878
+ steps:
879
+ - name: Checkout code
880
+ uses: actions/checkout@v4
881
+
882
+ - name: Setup C++
883
+ run: |
884
+ echo "Setting up C++ build environment..."
885
+
886
+ if [ -f "CMakeLists.txt" ]; then
887
+ cmake .
888
+ cmake --build .
889
+ elif [ -f "Makefile" ]; then
890
+ make || true
891
+ fi
892
+
893
+ - name: Run tests
894
+ run: |
895
+ echo "Running C++ tests..."
896
+
897
+ if [ -f "CMakeLists.txt" ]; then
898
+ ctest || echo "Tests failed or not found"
899
+ elif [ -f "Makefile" ]; then
900
+ make test || echo "Tests failed or not found"
901
+ fi
902
+
903
+ test-flutter:
904
+ name: Flutter Tests
905
+ runs-on: ubuntu-latest
906
+ needs: [detect-language, code-quality-flutter]
907
+ if: needs.detect-language.outputs.flutter == 'true'
908
+
909
+ steps:
910
+ - name: Checkout code
911
+ uses: actions/checkout@v4
912
+
913
+ - name: Setup Flutter
914
+ uses: subosito/flutter-action@v2
915
+ with:
916
+ flutter-version: '3.16'
917
+ channel: 'stable'
918
+
919
+ - name: Install dependencies
920
+ run: flutter pub get || true
921
+
922
+ - name: Run tests
923
+ run: |
924
+ echo "Running Flutter tests..."
925
+ flutter test || echo "Tests failed or not found"
926
+
927
+ test-r:
928
+ name: R Tests
929
+ runs-on: ubuntu-latest
930
+ needs: [detect-language, code-quality-r]
931
+ if: needs.detect-language.outputs.r == 'true'
932
+
933
+ steps:
934
+ - name: Checkout code
935
+ uses: actions/checkout@v4
936
+
937
+ - name: Setup R
938
+ uses: r-lib/actions/setup-r@v2
939
+ with:
940
+ r-version: '4.3'
941
+
942
+ - name: Install dependencies
943
+ run: |
944
+ echo "Installing R dependencies..."
945
+ Rscript -e "install.packages('testthat')" || true
946
+
947
+ - name: Run tests
948
+ run: |
949
+ echo "Running R tests..."
950
+ Rscript -e "testthat::test_dir()" || echo "Tests failed or not found"
368
951
 
369
952
  build-python:
370
- name: 🏗️ Build Python Package
953
+ name: Build Python Package
371
954
  runs-on: ubuntu-latest
372
955
  needs: [detect-language, test-python]
373
956
  if: needs.detect-language.outputs.python == 'true'
374
957
 
375
958
  steps:
376
- - name: 📥 Checkout code
959
+ - name: Checkout code
377
960
  uses: actions/checkout@v4
378
961
 
379
- - name: 🐍 Setup Python
962
+ - name: Setup Python
380
963
  uses: actions/setup-python@v5
381
964
  with:
382
965
  python-version: "3.11"
383
966
 
384
- - name: 📦 Install build tools
385
- run: |
386
- pip install build || true
967
+ - name: Install build tools
968
+ run: pip install build || true
387
969
 
388
- - name: 🔨 Build package
970
+ - name: Build package
389
971
  run: |
390
- echo "🔨 Building Python package..."
391
- python -m build || echo "⚠️ Build failed (non-blocking)"
972
+ echo "Building Python package..."
973
+ python -m build || echo "Build failed (non-blocking)"
392
974
 
393
975
  if [ -d "dist/" ]; then
394
- echo "Package built successfully"
976
+ echo "Package built successfully"
395
977
  ls -lh dist/
396
978
  fi
397
979
 
398
- - name: 📤 Upload build artifacts
980
+ - name: Upload build artifacts
399
981
  if: success()
400
982
  uses: actions/upload-artifact@v4
401
983
  with:
@@ -404,94 +986,305 @@ jobs:
404
986
  retention-days: 7
405
987
 
406
988
  build-node:
407
- name: 🏗️ Build Node.js Package
989
+ name: Build Node.js Package
408
990
  runs-on: ubuntu-latest
409
991
  needs: [detect-language, test-node]
410
992
  if: needs.detect-language.outputs.node == 'true'
411
993
 
412
994
  steps:
413
- - name: 📥 Checkout code
995
+ - name: Checkout code
414
996
  uses: actions/checkout@v4
415
997
 
416
- - name: 🟢 Setup Node.js
998
+ - name: Setup Node.js
417
999
  uses: actions/setup-node@v4
418
1000
  with:
419
1001
  node-version: '20'
420
1002
  cache: 'npm'
421
1003
 
422
- - name: 📦 Install dependencies
1004
+ - name: Install dependencies
423
1005
  run: npm ci || npm install
424
1006
 
425
- - name: 🔨 Build package
1007
+ - name: Build package
426
1008
  run: |
427
- echo "🔨 Building Node.js package..."
428
- npm run build || echo "⚠️ Build script not found (non-blocking)"
1009
+ echo "Building Node.js package..."
1010
+ npm run build || echo "Build script not found (non-blocking)"
429
1011
 
430
1012
  build-go:
431
- name: 🏗️ Build Go Binary
1013
+ name: Build Go Binary
432
1014
  runs-on: ubuntu-latest
433
1015
  needs: [detect-language, test-go]
434
1016
  if: needs.detect-language.outputs.go == 'true'
435
1017
 
436
1018
  steps:
437
- - name: 📥 Checkout code
1019
+ - name: Checkout code
438
1020
  uses: actions/checkout@v4
439
1021
 
440
- - name: 🐹 Setup Go
1022
+ - name: Setup Go
441
1023
  uses: actions/setup-go@v5
442
1024
  with:
443
1025
  go-version: '1.21'
444
1026
 
445
- - name: 🔨 Build binary
1027
+ - name: Build binary
446
1028
  run: |
447
- echo "🔨 Building Go binary..."
448
- go build -v ./... || echo "⚠️ Build failed (non-blocking)"
1029
+ echo "Building Go binary..."
1030
+ go build -v ./... || echo "Build failed (non-blocking)"
449
1031
 
450
1032
  build-rust:
451
- name: 🏗️ Build Rust Binary
1033
+ name: Build Rust Binary
452
1034
  runs-on: ubuntu-latest
453
1035
  needs: [detect-language, test-rust]
454
1036
  if: needs.detect-language.outputs.rust == 'true'
455
1037
 
456
1038
  steps:
457
- - name: 📥 Checkout code
1039
+ - name: Checkout code
458
1040
  uses: actions/checkout@v4
459
1041
 
460
- - name: 🦀 Setup Rust
1042
+ - name: Setup Rust
461
1043
  uses: actions-rust-lang/setup-rust-toolchain@v1
462
1044
 
463
- - name: 🔨 Build binary
1045
+ - name: Build binary
1046
+ run: |
1047
+ echo "Building Rust binary..."
1048
+ cargo build --release || echo "Build failed (non-blocking)"
1049
+
1050
+ build-java:
1051
+ name: Build Java Package
1052
+ runs-on: ubuntu-latest
1053
+ needs: [detect-language, test-java]
1054
+ if: needs.detect-language.outputs.java == 'true'
1055
+
1056
+ steps:
1057
+ - name: Checkout code
1058
+ uses: actions/checkout@v4
1059
+
1060
+ - name: Setup JDK
1061
+ uses: actions/setup-java@v4
1062
+ with:
1063
+ distribution: 'temurin'
1064
+ java-version: '17'
1065
+
1066
+ - name: Build package
1067
+ run: |
1068
+ echo "Building Java package..."
1069
+
1070
+ if [ -f "pom.xml" ]; then
1071
+ mvn package || echo "Build failed (non-blocking)"
1072
+ elif [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
1073
+ ./gradlew build || echo "Build failed (non-blocking)"
1074
+ fi
1075
+
1076
+ build-ruby:
1077
+ name: Build Ruby Gem
1078
+ runs-on: ubuntu-latest
1079
+ needs: [detect-language, test-ruby]
1080
+ if: needs.detect-language.outputs.ruby == 'true'
1081
+
1082
+ steps:
1083
+ - name: Checkout code
1084
+ uses: actions/checkout@v4
1085
+
1086
+ - name: Setup Ruby
1087
+ uses: ruby/setup-ruby@v1
1088
+ with:
1089
+ ruby-version: '3.2'
1090
+ bundler-cache: true
1091
+
1092
+ - name: Build gem
1093
+ run: |
1094
+ echo "Building Ruby gem..."
1095
+ gem build *.gemspec || echo "Build failed (non-blocking)"
1096
+
1097
+ build-elixir:
1098
+ name: Build Elixir Project
1099
+ runs-on: ubuntu-latest
1100
+ needs: [detect-language, test-elixir]
1101
+ if: needs.detect-language.outputs.elixir == 'true'
1102
+
1103
+ steps:
1104
+ - name: Checkout code
1105
+ uses: actions/checkout@v4
1106
+
1107
+ - name: Setup Elixir
1108
+ uses: erlef/setup-beam@v1
1109
+ with:
1110
+ elixir-version: '1.15'
1111
+ otp-version: '26'
1112
+
1113
+ - name: Build project
1114
+ run: |
1115
+ echo "Building Elixir project..."
1116
+ mix compile || echo "Build failed (non-blocking)"
1117
+
1118
+ build-kotlin:
1119
+ name: Build Kotlin Project
1120
+ runs-on: ubuntu-latest
1121
+ needs: [detect-language, test-kotlin]
1122
+ if: needs.detect-language.outputs.kotlin == 'true'
1123
+
1124
+ steps:
1125
+ - name: Checkout code
1126
+ uses: actions/checkout@v4
1127
+
1128
+ - name: Setup JDK
1129
+ uses: actions/setup-java@v4
1130
+ with:
1131
+ distribution: 'temurin'
1132
+ java-version: '17'
1133
+
1134
+ - name: Build project
1135
+ run: |
1136
+ echo "Building Kotlin project..."
1137
+ ./gradlew build || echo "Build failed (non-blocking)"
1138
+
1139
+ build-scala:
1140
+ name: Build Scala Project
1141
+ runs-on: ubuntu-latest
1142
+ needs: [detect-language, test-scala]
1143
+ if: needs.detect-language.outputs.scala == 'true'
1144
+
1145
+ steps:
1146
+ - name: Checkout code
1147
+ uses: actions/checkout@v4
1148
+
1149
+ - name: Setup Scala
1150
+ uses: olafurpg/setup-scala@v14
1151
+ with:
1152
+ java-version: 'adopt@1.17'
1153
+
1154
+ - name: Build project
1155
+ run: |
1156
+ echo "Building Scala project..."
1157
+ sbt compile || echo "Build failed (non-blocking)"
1158
+
1159
+ build-swift:
1160
+ name: Build Swift Project
1161
+ runs-on: ubuntu-latest
1162
+ needs: [detect-language, test-swift]
1163
+ if: needs.detect-language.outputs.swift == 'true'
1164
+
1165
+ steps:
1166
+ - name: Checkout code
1167
+ uses: actions/checkout@v4
1168
+
1169
+ - name: Setup Swift
1170
+ uses: swift/setup-swift@v1
1171
+ with:
1172
+ swift-version: '5.9'
1173
+
1174
+ - name: Build project
1175
+ run: |
1176
+ echo "Building Swift project..."
1177
+ swift build || echo "Build failed (non-blocking)"
1178
+
1179
+ build-csharp:
1180
+ name: Build C# Project
1181
+ runs-on: ubuntu-latest
1182
+ needs: [detect-language, test-csharp]
1183
+ if: needs.detect-language.outputs.csharp == 'true'
1184
+
1185
+ steps:
1186
+ - name: Checkout code
1187
+ uses: actions/checkout@v4
1188
+
1189
+ - name: Setup .NET
1190
+ uses: actions/setup-dotnet@v4
1191
+ with:
1192
+ dotnet-version: '8.0'
1193
+
1194
+ - name: Build project
1195
+ run: |
1196
+ echo "Building C# project..."
1197
+ dotnet build || echo "Build failed (non-blocking)"
1198
+
1199
+ build-cpp:
1200
+ name: Build C++ Project
1201
+ runs-on: ubuntu-latest
1202
+ needs: [detect-language, test-cpp]
1203
+ if: needs.detect-language.outputs.cpp == 'true'
1204
+
1205
+ steps:
1206
+ - name: Checkout code
1207
+ uses: actions/checkout@v4
1208
+
1209
+ - name: Build project
1210
+ run: |
1211
+ echo "Building C++ project..."
1212
+
1213
+ if [ -f "CMakeLists.txt" ]; then
1214
+ cmake -DCMAKE_BUILD_TYPE=Release .
1215
+ cmake --build . || echo "Build failed (non-blocking)"
1216
+ elif [ -f "Makefile" ]; then
1217
+ make || echo "Build failed (non-blocking)"
1218
+ fi
1219
+
1220
+ build-flutter:
1221
+ name: Build Flutter Project
1222
+ runs-on: ubuntu-latest
1223
+ needs: [detect-language, test-flutter]
1224
+ if: needs.detect-language.outputs.flutter == 'true'
1225
+
1226
+ steps:
1227
+ - name: Checkout code
1228
+ uses: actions/checkout@v4
1229
+
1230
+ - name: Setup Flutter
1231
+ uses: subosito/flutter-action@v2
1232
+ with:
1233
+ flutter-version: '3.16'
1234
+ channel: 'stable'
1235
+
1236
+ - name: Build project
1237
+ run: |
1238
+ echo "Building Flutter project..."
1239
+ flutter build apk --debug || echo "Build failed (non-blocking)"
1240
+
1241
+ build-r:
1242
+ name: Build R Package
1243
+ runs-on: ubuntu-latest
1244
+ needs: [detect-language, test-r]
1245
+ if: needs.detect-language.outputs.r == 'true'
1246
+
1247
+ steps:
1248
+ - name: Checkout code
1249
+ uses: actions/checkout@v4
1250
+
1251
+ - name: Setup R
1252
+ uses: r-lib/actions/setup-r@v2
1253
+ with:
1254
+ r-version: '4.3'
1255
+
1256
+ - name: Build package
464
1257
  run: |
465
- echo "🔨 Building Rust binary..."
466
- cargo build --release || echo "⚠️ Build failed (non-blocking)"
1258
+ echo "Building R package..."
1259
+ R CMD build . || echo "Build failed (non-blocking)"
467
1260
 
468
1261
  quality-gate:
469
- name: Quality Gate
1262
+ name: Quality Gate
470
1263
  runs-on: ubuntu-latest
471
1264
  needs: [detect-language]
472
1265
  if: always()
473
1266
 
474
1267
  steps:
475
- - name: 📊 Check results
1268
+ - name: Check results
476
1269
  run: |
477
- echo "📊 Quality Gate Results:"
1270
+ echo "Quality Gate Results:"
478
1271
  echo ""
479
1272
  echo "Primary Language: ${{ needs.detect-language.outputs.primary_language }}"
480
1273
  echo ""
481
- echo "CI Pipeline completed"
1274
+ echo "CI Pipeline completed"
482
1275
  echo ""
483
1276
  echo "Note: This is a universal CI pipeline that adapts to your project."
484
1277
  echo "Failures in optional steps (linting, formatting) are non-blocking."
485
1278
 
486
- - name: 📝 Summary
1279
+ - name: Summary
487
1280
  if: always()
488
1281
  run: |
489
1282
  cat >> $GITHUB_STEP_SUMMARY << 'SUMMARY'
490
- ## Universal CI Pipeline Summary
1283
+ ## Universal CI Pipeline Summary
491
1284
 
492
1285
  | Check | Status |
493
1286
  |-------|--------|
494
- | Language Detection | Passed |
1287
+ | Language Detection | Passed |
495
1288
  | Code Quality | See individual jobs |
496
1289
  | Tests | See individual jobs |
497
1290
  | Build | See individual jobs |
@@ -503,6 +1296,14 @@ jobs:
503
1296
  - **Rust**: ${{ needs.detect-language.outputs.rust }}
504
1297
  - **Java**: ${{ needs.detect-language.outputs.java }}
505
1298
  - **Ruby**: ${{ needs.detect-language.outputs.ruby }}
1299
+ - **Elixir**: ${{ needs.detect-language.outputs.elixir }}
1300
+ - **Kotlin**: ${{ needs.detect-language.outputs.kotlin }}
1301
+ - **Scala**: ${{ needs.detect-language.outputs.scala }}
1302
+ - **Swift**: ${{ needs.detect-language.outputs.swift }}
1303
+ - **C#**: ${{ needs.detect-language.outputs.csharp }}
1304
+ - **C++**: ${{ needs.detect-language.outputs.cpp }}
1305
+ - **Flutter**: ${{ needs.detect-language.outputs.flutter }}
1306
+ - **R**: ${{ needs.detect-language.outputs.r }}
506
1307
 
507
1308
  ### Primary Language
508
1309
  **${{ needs.detect-language.outputs.primary_language }}**