moai-adk 0.35.1__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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (502) hide show
  1. moai_adk/__init__.py +10 -0
  2. moai_adk/__main__.py +199 -0
  3. moai_adk/cli/__init__.py +6 -0
  4. moai_adk/cli/commands/__init__.py +17 -0
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +272 -0
  7. moai_adk/cli/commands/init.py +372 -0
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +104 -0
  10. moai_adk/cli/commands/update.py +2686 -0
  11. moai_adk/cli/main.py +13 -0
  12. moai_adk/cli/prompts/__init__.py +5 -0
  13. moai_adk/cli/prompts/init_prompts.py +219 -0
  14. moai_adk/cli/spec_status.py +263 -0
  15. moai_adk/cli/ui/__init__.py +44 -0
  16. moai_adk/cli/ui/progress.py +422 -0
  17. moai_adk/cli/ui/prompts.py +389 -0
  18. moai_adk/cli/ui/theme.py +129 -0
  19. moai_adk/cli/worktree/__init__.py +27 -0
  20. moai_adk/cli/worktree/__main__.py +31 -0
  21. moai_adk/cli/worktree/cli.py +683 -0
  22. moai_adk/cli/worktree/exceptions.py +89 -0
  23. moai_adk/cli/worktree/manager.py +493 -0
  24. moai_adk/cli/worktree/models.py +65 -0
  25. moai_adk/cli/worktree/registry.py +422 -0
  26. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  27. moai_adk/core/__init__.py +1 -0
  28. moai_adk/core/analysis/__init__.py +9 -0
  29. moai_adk/core/analysis/session_analyzer.py +400 -0
  30. moai_adk/core/claude_integration.py +393 -0
  31. moai_adk/core/command_helpers.py +270 -0
  32. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  33. moai_adk/core/config/__init__.py +19 -0
  34. moai_adk/core/config/auto_spec_config.py +340 -0
  35. moai_adk/core/config/migration.py +244 -0
  36. moai_adk/core/config/unified.py +436 -0
  37. moai_adk/core/context_manager.py +273 -0
  38. moai_adk/core/diagnostics/__init__.py +19 -0
  39. moai_adk/core/diagnostics/slash_commands.py +159 -0
  40. moai_adk/core/enterprise_features.py +1404 -0
  41. moai_adk/core/error_recovery_system.py +1902 -0
  42. moai_adk/core/event_driven_hook_system.py +1371 -0
  43. moai_adk/core/git/__init__.py +31 -0
  44. moai_adk/core/git/branch.py +25 -0
  45. moai_adk/core/git/branch_manager.py +129 -0
  46. moai_adk/core/git/checkpoint.py +134 -0
  47. moai_adk/core/git/commit.py +67 -0
  48. moai_adk/core/git/conflict_detector.py +413 -0
  49. moai_adk/core/git/event_detector.py +79 -0
  50. moai_adk/core/git/manager.py +216 -0
  51. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  52. moai_adk/core/input_validation_middleware.py +1006 -0
  53. moai_adk/core/integration/__init__.py +22 -0
  54. moai_adk/core/integration/engine.py +157 -0
  55. moai_adk/core/integration/integration_tester.py +226 -0
  56. moai_adk/core/integration/models.py +88 -0
  57. moai_adk/core/integration/utils.py +211 -0
  58. moai_adk/core/issue_creator.py +305 -0
  59. moai_adk/core/jit_context_loader.py +956 -0
  60. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  61. moai_adk/core/language_config.py +202 -0
  62. moai_adk/core/language_config_resolver.py +572 -0
  63. moai_adk/core/language_validator.py +543 -0
  64. moai_adk/core/mcp/setup.py +116 -0
  65. moai_adk/core/merge/__init__.py +9 -0
  66. moai_adk/core/merge/analyzer.py +605 -0
  67. moai_adk/core/migration/__init__.py +18 -0
  68. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  69. moai_adk/core/migration/backup_manager.py +277 -0
  70. moai_adk/core/migration/custom_element_scanner.py +358 -0
  71. moai_adk/core/migration/file_migrator.py +209 -0
  72. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  73. moai_adk/core/migration/selective_restorer.py +470 -0
  74. moai_adk/core/migration/template_utils.py +74 -0
  75. moai_adk/core/migration/user_selection_ui.py +338 -0
  76. moai_adk/core/migration/version_detector.py +139 -0
  77. moai_adk/core/migration/version_migrator.py +228 -0
  78. moai_adk/core/performance/__init__.py +6 -0
  79. moai_adk/core/performance/cache_system.py +316 -0
  80. moai_adk/core/performance/parallel_processor.py +116 -0
  81. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  82. moai_adk/core/project/__init__.py +1 -0
  83. moai_adk/core/project/backup_utils.py +70 -0
  84. moai_adk/core/project/checker.py +300 -0
  85. moai_adk/core/project/detector.py +293 -0
  86. moai_adk/core/project/initializer.py +387 -0
  87. moai_adk/core/project/phase_executor.py +716 -0
  88. moai_adk/core/project/validator.py +139 -0
  89. moai_adk/core/quality/__init__.py +6 -0
  90. moai_adk/core/quality/trust_checker.py +377 -0
  91. moai_adk/core/quality/validators/__init__.py +6 -0
  92. moai_adk/core/quality/validators/base_validator.py +19 -0
  93. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  94. moai_adk/core/robust_json_parser.py +611 -0
  95. moai_adk/core/rollback_manager.py +918 -0
  96. moai_adk/core/session_manager.py +651 -0
  97. moai_adk/core/skill_loading_system.py +579 -0
  98. moai_adk/core/spec/confidence_scoring.py +680 -0
  99. moai_adk/core/spec/ears_template_engine.py +1247 -0
  100. moai_adk/core/spec/quality_validator.py +687 -0
  101. moai_adk/core/spec_status_manager.py +478 -0
  102. moai_adk/core/template/__init__.py +7 -0
  103. moai_adk/core/template/backup.py +174 -0
  104. moai_adk/core/template/config.py +191 -0
  105. moai_adk/core/template/languages.py +43 -0
  106. moai_adk/core/template/merger.py +233 -0
  107. moai_adk/core/template/processor.py +1200 -0
  108. moai_adk/core/template_engine.py +310 -0
  109. moai_adk/core/template_variable_synchronizer.py +417 -0
  110. moai_adk/core/unified_permission_manager.py +745 -0
  111. moai_adk/core/user_behavior_analytics.py +851 -0
  112. moai_adk/core/version_sync.py +429 -0
  113. moai_adk/foundation/__init__.py +56 -0
  114. moai_adk/foundation/backend.py +1027 -0
  115. moai_adk/foundation/database.py +1115 -0
  116. moai_adk/foundation/devops.py +1585 -0
  117. moai_adk/foundation/ears.py +431 -0
  118. moai_adk/foundation/frontend.py +870 -0
  119. moai_adk/foundation/git/commit_templates.py +557 -0
  120. moai_adk/foundation/git.py +376 -0
  121. moai_adk/foundation/langs.py +484 -0
  122. moai_adk/foundation/ml_ops.py +1162 -0
  123. moai_adk/foundation/testing.py +1524 -0
  124. moai_adk/foundation/trust/trust_principles.py +676 -0
  125. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  126. moai_adk/project/__init__.py +0 -0
  127. moai_adk/project/configuration.py +1084 -0
  128. moai_adk/project/documentation.py +566 -0
  129. moai_adk/project/schema.py +447 -0
  130. moai_adk/statusline/__init__.py +38 -0
  131. moai_adk/statusline/alfred_detector.py +105 -0
  132. moai_adk/statusline/config.py +376 -0
  133. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  134. moai_adk/statusline/git_collector.py +190 -0
  135. moai_adk/statusline/main.py +322 -0
  136. moai_adk/statusline/metrics_tracker.py +78 -0
  137. moai_adk/statusline/renderer.py +343 -0
  138. moai_adk/statusline/update_checker.py +129 -0
  139. moai_adk/statusline/version_reader.py +741 -0
  140. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
  141. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  142. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  143. moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
  144. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  145. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  146. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  147. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  148. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  149. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  150. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  151. moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
  152. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  153. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  154. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  155. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  156. moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
  157. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  158. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  159. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  160. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  161. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  164. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  165. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  166. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  167. moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
  168. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  169. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  170. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  171. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  172. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  173. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  185. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  186. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  187. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  188. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  189. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
  190. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  191. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  192. moai_adk/templates/.claude/settings.json +172 -0
  193. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
  194. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  195. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  196. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  200. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  201. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  202. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  203. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  204. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  205. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
  206. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  207. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  210. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  211. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  212. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  213. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  214. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  215. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
  216. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  217. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  221. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  222. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  223. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  224. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  230. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  231. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  232. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  233. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  280. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  281. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  282. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  283. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  284. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
  285. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
  286. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  287. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  288. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  289. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  290. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
  291. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  292. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  293. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
  294. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  295. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
  297. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  298. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
  304. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
  305. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
  306. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  307. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  308. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
  309. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  310. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  311. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
  312. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  313. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  314. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
  315. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  316. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  318. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  319. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  320. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  321. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  331. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  332. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  333. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  334. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  338. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  339. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  340. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  341. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  342. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  343. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  344. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  345. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  346. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
  347. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  348. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  349. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  350. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  351. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  352. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  353. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  354. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  355. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  356. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  357. moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
  358. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
  359. moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
  360. moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
  361. moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
  362. moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
  363. moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
  364. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
  365. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
  366. moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
  367. moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
  368. moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
  369. moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
  370. moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
  371. moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
  372. moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
  373. moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
  374. moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
  375. moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
  376. moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
  377. moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
  378. moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
  379. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
  380. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
  381. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
  382. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
  383. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
  384. moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
  385. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
  386. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
  387. moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
  388. moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
  389. moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
  390. moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
  391. moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  433. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  458. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  459. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  460. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  461. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  462. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  463. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  464. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  465. moai_adk/templates/.git-hooks/pre-commit +128 -0
  466. moai_adk/templates/.git-hooks/pre-push +365 -0
  467. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  468. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  469. moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
  470. moai_adk/templates/.gitignore +222 -0
  471. moai_adk/templates/.mcp.json +13 -0
  472. moai_adk/templates/.moai/config/config.yaml +58 -0
  473. moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
  474. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  475. moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
  476. moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
  477. moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
  478. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
  479. moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
  480. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  481. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  482. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  483. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  484. moai_adk/templates/.moai/config/sections/system.yaml +24 -0
  485. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  486. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  487. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  488. moai_adk/templates/CLAUDE.md +642 -0
  489. moai_adk/utils/__init__.py +30 -0
  490. moai_adk/utils/banner.py +38 -0
  491. moai_adk/utils/common.py +294 -0
  492. moai_adk/utils/link_validator.py +241 -0
  493. moai_adk/utils/logger.py +147 -0
  494. moai_adk/utils/safe_file_reader.py +206 -0
  495. moai_adk/utils/timeout.py +160 -0
  496. moai_adk/utils/toon_utils.py +256 -0
  497. moai_adk/version.py +22 -0
  498. moai_adk-0.35.1.dist-info/METADATA +3018 -0
  499. moai_adk-0.35.1.dist-info/RECORD +502 -0
  500. moai_adk-0.35.1.dist-info/WHEEL +4 -0
  501. moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
  502. moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,291 @@
1
+ # Java 21 LTS Reference Guide
2
+
3
+ ## Language Features Overview
4
+
5
+ ### Java 21 LTS (Long-Term Support)
6
+
7
+ Version Information:
8
+ - Latest: 21.0.5 (LTS, support until September 2031)
9
+ - Key JEPs: 444 (Virtual Threads), 441 (Pattern Matching), 440 (Record Patterns)
10
+ - JVM: HotSpot, GraalVM Native Image support
11
+
12
+ Core Features Summary:
13
+
14
+ | Feature | Status | JEP | Description |
15
+ |---------|--------|-----|-------------|
16
+ | Virtual Threads | Final | 444 | Lightweight threads for high-concurrency |
17
+ | Pattern Matching for switch | Final | 441 | Type patterns with guards |
18
+ | Record Patterns | Final | 440 | Destructuring in pattern matching |
19
+ | Sealed Classes | Final | 409 | Restrict class hierarchies |
20
+ | Sequenced Collections | Final | 431 | Ordered collection interfaces |
21
+ | String Templates | Preview | 430 | Embedded expressions in strings |
22
+ | Structured Concurrency | Preview | 453 | Scope-based concurrency |
23
+ | Scoped Values | Preview | 446 | Immutable inherited values |
24
+
25
+ ---
26
+
27
+ ## Enterprise Ecosystem
28
+
29
+ ### Spring Boot 3.3
30
+
31
+ Key Features:
32
+ - Native GraalVM compilation support
33
+ - Virtual Threads integration
34
+ - Observability with Micrometer
35
+ - Problem Details for HTTP APIs (RFC 7807)
36
+ - SSL Bundle support
37
+
38
+ Configuration:
39
+ ```properties
40
+ # application.properties
41
+ spring.threads.virtual.enabled=true
42
+ spring.datasource.url=jdbc:postgresql://localhost:5432/db
43
+ spring.datasource.hikari.maximum-pool-size=10
44
+ spring.jpa.hibernate.ddl-auto=validate
45
+ spring.jpa.show-sql=false
46
+ ```
47
+
48
+ ### Spring Security 6
49
+
50
+ Key Features:
51
+ - Lambda DSL configuration
52
+ - OAuth2 Resource Server
53
+ - JWT token validation
54
+ - Method security with annotations
55
+
56
+ ### Hibernate 7 / Jakarta Persistence
57
+
58
+ Key Features:
59
+ - Java 21 record support
60
+ - Improved batch processing
61
+ - StatelessSession for bulk operations
62
+ - Native SQL result mapping
63
+
64
+ ---
65
+
66
+ ## Context7 Library Mappings
67
+
68
+ ### Spring Ecosystem
69
+ ```
70
+ /spring-projects/spring-boot - Spring Boot framework
71
+ /spring-projects/spring-framework - Spring Core framework
72
+ /spring-projects/spring-security - Security framework
73
+ /spring-projects/spring-data-jpa - JPA repositories
74
+ /spring-projects/spring-data-r2dbc - Reactive database access
75
+ ```
76
+
77
+ ### Persistence
78
+ ```
79
+ /hibernate/hibernate-orm - Hibernate ORM
80
+ /querydsl/querydsl - Type-safe queries
81
+ /flyway/flyway - Database migrations
82
+ /liquibase/liquibase - Database change management
83
+ ```
84
+
85
+ ### Testing
86
+ ```
87
+ /junit-team/junit5 - JUnit 5 testing
88
+ /mockito/mockito - Mocking framework
89
+ /testcontainers/testcontainers-java - Container testing
90
+ /assertj/assertj - Fluent assertions
91
+ ```
92
+
93
+ ### Build Tools
94
+ ```
95
+ /gradle/gradle - Build automation
96
+ /apache/maven - Project management
97
+ ```
98
+
99
+ ### Utilities
100
+ ```
101
+ /resilience4j/resilience4j - Fault tolerance
102
+ /open-telemetry/opentelemetry-java - Observability
103
+ /micrometer-metrics/micrometer - Application metrics
104
+ /mapstruct/mapstruct - Object mapping
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Performance Characteristics
110
+
111
+ ### JVM Startup and Memory
112
+
113
+ | Runtime | Cold Start | Warm Start | Base Memory | With GraalVM Native |
114
+ |---------|------------|------------|-------------|---------------------|
115
+ | Java 21 (HotSpot) | 2-5s | <100ms | 256MB+ | 50-100ms, 64MB |
116
+ | Spring Boot 3.3 | 3-6s | <100ms | 512MB+ | 100-200ms, 128MB |
117
+
118
+ ### Throughput Benchmarks
119
+
120
+ | Framework | Requests/sec | Latency P99 | Memory Usage |
121
+ |-----------|-------------|-------------|--------------|
122
+ | Spring Boot 3.3 (Virtual Threads) | 150K | 2ms | 512MB |
123
+ | Spring WebFlux | 180K | 1.5ms | 384MB |
124
+ | Spring MVC (Thread Pool) | 80K | 5ms | 768MB |
125
+
126
+ ### Compilation Times
127
+
128
+ | Build Tool | Clean Build | Incremental | With Cache |
129
+ |------------|------------|-------------|------------|
130
+ | Maven 3.9 | 30-60s | 5-10s | 15-30s |
131
+ | Gradle 8.5 | 20-40s | 3-8s | 10-20s |
132
+
133
+ ---
134
+
135
+ ## Development Environment
136
+
137
+ ### IDE Support
138
+
139
+ | IDE | Java Support | Spring Support | Best For |
140
+ |-----|--------------|----------------|----------|
141
+ | IntelliJ IDEA | Excellent | Excellent | Enterprise development |
142
+ | VS Code | Good | Good | Lightweight editing |
143
+ | Eclipse | Good | Good | Legacy projects |
144
+
145
+ ### Recommended IntelliJ Plugins
146
+ - Spring Boot Assistant
147
+ - JPA Buddy
148
+ - TestContainers
149
+ - Key Promoter X
150
+ - Lombok
151
+
152
+ ### Linters and Formatters
153
+
154
+ | Tool | Purpose | Config File |
155
+ |------|---------|-------------|
156
+ | Checkstyle | Code style | checkstyle.xml |
157
+ | SpotBugs | Bug detection | spotbugs-exclude.xml |
158
+ | PMD | Code analysis | ruleset.xml |
159
+ | google-java-format | Formatting | N/A (convention) |
160
+
161
+ ---
162
+
163
+ ## Container Optimization
164
+
165
+ ### Docker Multi-Stage Build
166
+
167
+ ```dockerfile
168
+ FROM eclipse-temurin:21-jdk-alpine AS builder
169
+ WORKDIR /app
170
+ COPY . .
171
+ RUN ./gradlew bootJar --no-daemon
172
+
173
+ FROM eclipse-temurin:21-jre-alpine
174
+ RUN addgroup -g 1000 app && adduser -u 1000 -G app -s /bin/sh -D app
175
+ WORKDIR /app
176
+ COPY --from=builder /app/build/libs/*.jar app.jar
177
+ USER app
178
+ EXPOSE 8080
179
+ ENTRYPOINT ["java", "-jar", "app.jar"]
180
+ ```
181
+
182
+ ### GraalVM Native Image
183
+
184
+ ```dockerfile
185
+ FROM ghcr.io/graalvm/native-image-community:21 AS builder
186
+ WORKDIR /app
187
+ COPY . .
188
+ RUN ./gradlew nativeCompile
189
+
190
+ FROM gcr.io/distroless/base-debian12
191
+ COPY --from=builder /app/build/native/nativeCompile/app /app
192
+ ENTRYPOINT ["/app"]
193
+ ```
194
+
195
+ ### JVM Tuning for Containers
196
+
197
+ ```yaml
198
+ # Kubernetes deployment
199
+ containers:
200
+ - name: app
201
+ image: myapp:latest
202
+ resources:
203
+ requests:
204
+ memory: "512Mi"
205
+ cpu: "500m"
206
+ limits:
207
+ memory: "1Gi"
208
+ cpu: "1000m"
209
+ env:
210
+ - name: JAVA_OPTS
211
+ value: >-
212
+ -XX:+UseContainerSupport
213
+ -XX:MaxRAMPercentage=75.0
214
+ -XX:+UseG1GC
215
+ -XX:+UseStringDeduplication
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Migration Guide: Java 17 to 21
221
+
222
+ ### Key Changes
223
+
224
+ 1. Virtual Threads:
225
+ - Replace `Executors.newFixedThreadPool()` with `Executors.newVirtualThreadPerTaskExecutor()`
226
+ - Consider structured concurrency for complex concurrent tasks
227
+
228
+ 2. Pattern Matching:
229
+ - Refactor `instanceof` checks to pattern matching
230
+ - Use guarded patterns with `when` clause
231
+
232
+ 3. Record Patterns:
233
+ - Use destructuring in switch expressions
234
+ - Combine with sealed classes for exhaustive matching
235
+
236
+ 4. Sequenced Collections:
237
+ - Use `SequencedCollection.getFirst()` and `getLast()`
238
+ - Replace iteration with sequence methods
239
+
240
+ ### Gradle Configuration Update
241
+
242
+ ```kotlin
243
+ // Before (Java 17)
244
+ java { toolchain { languageVersion = JavaLanguageVersion.of(17) } }
245
+
246
+ // After (Java 21)
247
+ java { toolchain { languageVersion = JavaLanguageVersion.of(21) } }
248
+ ```
249
+
250
+ ### Maven Configuration Update
251
+
252
+ ```xml
253
+ <!-- Before -->
254
+ <java.version>17</java.version>
255
+
256
+ <!-- After -->
257
+ <java.version>21</java.version>
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Best Practices
263
+
264
+ ### Code Style
265
+ - Use records for DTOs and value objects
266
+ - Prefer sealed interfaces for type hierarchies
267
+ - Use pattern matching in switch expressions
268
+ - Apply virtual threads for I/O-bound operations
269
+
270
+ ### Spring Boot
271
+ - Use constructor injection (no @Autowired on constructors)
272
+ - Apply @Transactional at service layer
273
+ - Use records for request/response DTOs
274
+ - Configure proper connection pooling
275
+
276
+ ### Testing
277
+ - Use JUnit 5 nested tests for organization
278
+ - Apply @DisplayName for readable test names
279
+ - Use TestContainers for integration tests
280
+ - Mock external dependencies with Mockito
281
+
282
+ ### Security
283
+ - Never store passwords in plain text
284
+ - Use BCrypt for password hashing
285
+ - Validate all input data
286
+ - Apply principle of least privilege
287
+
288
+ ---
289
+
290
+ Last Updated: 2025-12-07
291
+ Version: 1.0.0
@@ -0,0 +1,382 @@
1
+ ---
2
+ name: moai-lang-kotlin
3
+ description: Kotlin 2.0+ development specialist covering Ktor, coroutines, Compose Multiplatform, and Kotlin-idiomatic patterns. Use when building Kotlin server apps, Android apps, or multiplatform projects.
4
+ version: 1.0.0
5
+ category: language
6
+ tags: kotlin, ktor, coroutines, compose, android, multiplatform
7
+ context7-libraries: /ktorio/ktor, /jetbrains/compose-multiplatform, /jetbrains/exposed
8
+ related-skills: moai-lang-java, moai-lang-swift
9
+ updated: 2025-12-07
10
+ status: active
11
+ ---
12
+
13
+ ## Quick Reference (30 seconds)
14
+
15
+ Kotlin 2.0+ Expert - K2 compiler, coroutines, Ktor, Compose Multiplatform with Context7 integration.
16
+
17
+ Auto-Triggers: Kotlin files (`.kt`, `.kts`), Gradle Kotlin DSL (`build.gradle.kts`, `settings.gradle.kts`)
18
+
19
+ Core Capabilities:
20
+ - Kotlin 2.0: K2 compiler, coroutines, Flow, sealed classes, value classes
21
+ - Ktor 3.0: Async HTTP server/client, WebSocket, JWT authentication
22
+ - Exposed 0.55: Kotlin SQL framework with coroutines support
23
+ - Spring Boot (Kotlin): Kotlin-idiomatic Spring with WebFlux
24
+ - Compose Multiplatform: Desktop, iOS, Web, Android UI
25
+ - Testing: JUnit 5, MockK, Kotest, Turbine for Flow testing
26
+
27
+ ---
28
+
29
+ ## Implementation Guide (5 minutes)
30
+
31
+ ### Kotlin 2.0 Features
32
+
33
+ Coroutines and Flow:
34
+ ```kotlin
35
+ // Structured concurrency with async/await
36
+ suspend fun fetchUserWithOrders(userId: Long): UserWithOrders = coroutineScope {
37
+ val userDeferred = async { userRepository.findById(userId) }
38
+ val ordersDeferred = async { orderRepository.findByUserId(userId) }
39
+ UserWithOrders(userDeferred.await(), ordersDeferred.await())
40
+ }
41
+
42
+ // Flow for reactive streams
43
+ fun observeUsers(): Flow<User> = flow {
44
+ while (true) {
45
+ emit(userRepository.findLatest())
46
+ delay(1000)
47
+ }
48
+ }.flowOn(Dispatchers.IO)
49
+ ```
50
+
51
+ Sealed Classes and Value Classes:
52
+ ```kotlin
53
+ sealed interface Result<out T> {
54
+ data class Success<T>(val data: T) : Result<T>
55
+ data class Error(val exception: Throwable) : Result<Nothing>
56
+ data object Loading : Result<Nothing>
57
+ }
58
+
59
+ @JvmInline
60
+ value class UserId(val value: Long) {
61
+ init { require(value > 0) { "UserId must be positive" } }
62
+ }
63
+
64
+ @JvmInline
65
+ value class Email(val value: String) {
66
+ init { require(value.contains("@")) { "Invalid email format" } }
67
+ }
68
+ ```
69
+
70
+ ### Ktor 3.0 Server
71
+
72
+ Application Setup:
73
+ ```kotlin
74
+ fun main() {
75
+ embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
76
+ configureKoin()
77
+ configureSecurity()
78
+ configureRouting()
79
+ configureContentNegotiation()
80
+ }.start(wait = true)
81
+ }
82
+
83
+ fun Application.configureKoin() {
84
+ install(Koin) { modules(appModule) }
85
+ }
86
+
87
+ val appModule = module {
88
+ single<Database> { DatabaseFactory.create() }
89
+ single<UserRepository> { UserRepositoryImpl(get()) }
90
+ single<UserService> { UserServiceImpl(get()) }
91
+ }
92
+
93
+ fun Application.configureSecurity() {
94
+ install(Authentication) {
95
+ jwt("auth-jwt") {
96
+ realm = "User API"
97
+ verifier(JwtConfig.verifier)
98
+ validate { credential ->
99
+ if (credential.payload.audience.contains("api"))
100
+ JWTPrincipal(credential.payload) else null
101
+ }
102
+ }
103
+ }
104
+ }
105
+
106
+ fun Application.configureContentNegotiation() {
107
+ install(ContentNegotiation) {
108
+ json(Json { prettyPrint = true; ignoreUnknownKeys = true })
109
+ }
110
+ }
111
+ ```
112
+
113
+ Routing with Authentication:
114
+ ```kotlin
115
+ fun Application.configureRouting() {
116
+ val userService by inject<UserService>()
117
+
118
+ routing {
119
+ route("/api/v1") {
120
+ post("/auth/register") {
121
+ val request = call.receive<CreateUserRequest>()
122
+ val user = userService.create(request)
123
+ call.respond(HttpStatusCode.Created, user.toDto())
124
+ }
125
+
126
+ authenticate("auth-jwt") {
127
+ route("/users") {
128
+ get {
129
+ val page = call.parameters["page"]?.toIntOrNull() ?: 0
130
+ val size = call.parameters["size"]?.toIntOrNull() ?: 20
131
+ call.respond(userService.findAll(page, size).map { it.toDto() })
132
+ }
133
+
134
+ get("/{id}") {
135
+ val id = call.parameters["id"]?.toLongOrNull()
136
+ ?: return@get call.respond(HttpStatusCode.BadRequest)
137
+ userService.findById(id)?.let { call.respond(it.toDto()) }
138
+ ?: call.respond(HttpStatusCode.NotFound)
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### Exposed SQL Framework
148
+
149
+ Table and Entity:
150
+ ```kotlin
151
+ object Users : LongIdTable("users") {
152
+ val name = varchar("name", 100)
153
+ val email = varchar("email", 255).uniqueIndex()
154
+ val passwordHash = varchar("password_hash", 255)
155
+ val status = enumerationByName<UserStatus>("status", 20)
156
+ val createdAt = timestamp("created_at").defaultExpression(CurrentTimestamp())
157
+ }
158
+
159
+ class UserEntity(id: EntityID<Long>) : LongEntity(id) {
160
+ companion object : LongEntityClass<UserEntity>(Users)
161
+ var name by Users.name
162
+ var email by Users.email
163
+ var passwordHash by Users.passwordHash
164
+ var status by Users.status
165
+ var createdAt by Users.createdAt
166
+
167
+ fun toModel() = User(id.value, name, email, passwordHash, status, createdAt)
168
+ }
169
+ ```
170
+
171
+ Repository with Coroutines:
172
+ ```kotlin
173
+ class UserRepositoryImpl(private val database: Database) : UserRepository {
174
+ override suspend fun findById(id: Long): User? = dbQuery {
175
+ UserEntity.findById(id)?.toModel()
176
+ }
177
+
178
+ override suspend fun save(user: User): User = dbQuery {
179
+ UserEntity.new {
180
+ name = user.name
181
+ email = user.email
182
+ passwordHash = user.passwordHash
183
+ status = user.status
184
+ }.toModel()
185
+ }
186
+
187
+ private suspend fun <T> dbQuery(block: suspend () -> T): T =
188
+ newSuspendedTransaction(Dispatchers.IO, database) { block() }
189
+ }
190
+ ```
191
+
192
+ ### Spring Boot with Kotlin
193
+
194
+ WebFlux Controller:
195
+ ```kotlin
196
+ @RestController
197
+ @RequestMapping("/api/users")
198
+ class UserController(private val userService: UserService) {
199
+
200
+ @GetMapping
201
+ suspend fun listUsers(
202
+ @RequestParam(defaultValue = "0") page: Int,
203
+ @RequestParam(defaultValue = "20") size: Int
204
+ ): Flow<UserDto> = userService.findAll(page, size).map { it.toDto() }
205
+
206
+ @GetMapping("/{id}")
207
+ suspend fun getUser(@PathVariable id: Long): ResponseEntity<UserDto> =
208
+ userService.findById(id)?.let { ResponseEntity.ok(it.toDto()) }
209
+ ?: ResponseEntity.notFound().build()
210
+
211
+ @PostMapping
212
+ suspend fun createUser(@Valid @RequestBody request: CreateUserRequest): ResponseEntity<UserDto> {
213
+ val user = userService.create(request)
214
+ return ResponseEntity.created(URI.create("/api/users/${user.id}")).body(user.toDto())
215
+ }
216
+ }
217
+ ```
218
+
219
+ ---
220
+
221
+ ## Advanced Patterns
222
+
223
+ ### Compose Multiplatform
224
+
225
+ Shared UI Component:
226
+ ```kotlin
227
+ @Composable
228
+ fun UserListScreen(viewModel: UserListViewModel, onUserClick: (Long) -> Unit) {
229
+ val uiState by viewModel.uiState.collectAsState()
230
+
231
+ when (val state = uiState) {
232
+ is UiState.Loading -> LoadingIndicator()
233
+ is UiState.Success -> UserList(state.users, onUserClick)
234
+ is UiState.Error -> ErrorMessage(state.message, onRetry = viewModel::retry)
235
+ }
236
+ }
237
+
238
+ @Composable
239
+ fun UserCard(user: User, onClick: () -> Unit) {
240
+ Card(
241
+ modifier = Modifier.fillMaxWidth().clickable(onClick = onClick),
242
+ elevation = CardDefaults.cardElevation(4.dp)
243
+ ) {
244
+ Row(modifier = Modifier.padding(16.dp)) {
245
+ AsyncImage(model = user.avatarUrl, contentDescription = user.name,
246
+ modifier = Modifier.size(48.dp).clip(CircleShape))
247
+ Spacer(Modifier.width(16.dp))
248
+ Column {
249
+ Text(user.name, style = MaterialTheme.typography.titleMedium)
250
+ Text(user.email, style = MaterialTheme.typography.bodySmall)
251
+ }
252
+ }
253
+ }
254
+ }
255
+ ```
256
+
257
+ ### Testing with MockK
258
+
259
+ ```kotlin
260
+ class UserServiceTest {
261
+ private val userRepository = mockk<UserRepository>()
262
+ private val userService = UserService(userRepository)
263
+
264
+ @Test
265
+ fun `should fetch user concurrently`() = runTest {
266
+ val testUser = User(1L, "John", "john@example.com")
267
+ coEvery { userRepository.findById(1L) } coAnswers { delay(100); testUser }
268
+
269
+ val result = userService.findById(1L)
270
+ assertThat(result).isEqualTo(testUser)
271
+ }
272
+
273
+ @Test
274
+ fun `should handle Flow emissions`() = runTest {
275
+ val users = listOf(User(1L, "John", "john@example.com"))
276
+ coEvery { userRepository.findAllAsFlow() } returns users.asFlow()
277
+
278
+ userService.streamUsers().toList().also { result ->
279
+ assertThat(result).hasSize(1)
280
+ }
281
+ }
282
+ }
283
+ ```
284
+
285
+ ### Gradle Build Configuration
286
+
287
+ ```kotlin
288
+ plugins {
289
+ kotlin("jvm") version "2.0.20"
290
+ kotlin("plugin.serialization") version "2.0.20"
291
+ id("io.ktor.plugin") version "3.0.0"
292
+ }
293
+
294
+ kotlin { jvmToolchain(21) }
295
+
296
+ dependencies {
297
+ implementation("io.ktor:ktor-server-core-jvm")
298
+ implementation("io.ktor:ktor-server-netty-jvm")
299
+ implementation("io.ktor:ktor-server-content-negotiation-jvm")
300
+ implementation("io.ktor:ktor-server-auth-jwt-jvm")
301
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
302
+ implementation("org.jetbrains.exposed:exposed-core:0.55.0")
303
+ implementation("org.jetbrains.exposed:exposed-dao:0.55.0")
304
+ implementation("org.postgresql:postgresql:42.7.3")
305
+
306
+ testImplementation("io.mockk:mockk:1.13.12")
307
+ testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
308
+ testImplementation("app.cash.turbine:turbine:1.1.0")
309
+ }
310
+ ```
311
+
312
+ ---
313
+
314
+ ## Context7 Integration
315
+
316
+ Library mappings for latest documentation:
317
+ - `/ktorio/ktor` - Ktor 3.0 server/client documentation
318
+ - `/jetbrains/exposed` - Exposed SQL framework
319
+ - `/JetBrains/kotlin` - Kotlin 2.0 language reference
320
+ - `/Kotlin/kotlinx.coroutines` - Coroutines library
321
+ - `/jetbrains/compose-multiplatform` - Compose Multiplatform
322
+ - `/arrow-kt/arrow` - Arrow functional programming
323
+
324
+ Usage:
325
+ ```python
326
+ docs = await mcp__context7__get_library_docs(
327
+ context7CompatibleLibraryID="/ktorio/ktor",
328
+ topic="routing authentication jwt",
329
+ tokens=8000
330
+ )
331
+ ```
332
+
333
+ ---
334
+
335
+ ## When to Use Kotlin
336
+
337
+ Use Kotlin When:
338
+ - Developing Android applications (official language)
339
+ - Building modern server applications with Ktor
340
+ - Preferring concise, expressive syntax
341
+ - Building reactive services with coroutines and Flow
342
+ - Creating multiplatform applications (iOS, Desktop, Web)
343
+ - Full Java interoperability required
344
+
345
+ Consider Alternatives When:
346
+ - Legacy Java codebase requiring minimal changes
347
+ - Big data pipelines (prefer Scala with Spark)
348
+
349
+ ---
350
+
351
+ ## Works Well With
352
+
353
+ - `moai-lang-java` - Java interoperability and Spring Boot patterns
354
+ - `moai-domain-backend` - REST API, GraphQL, microservices architecture
355
+ - `moai-domain-database` - JPA, Exposed, R2DBC patterns
356
+ - `moai-quality-testing` - JUnit 5, MockK, TestContainers integration
357
+ - `moai-infra-docker` - JVM container optimization
358
+
359
+ ---
360
+
361
+ ## Troubleshooting
362
+
363
+ K2 Compiler: Add `kotlin.experimental.tryK2=true` to gradle.properties; clear `.gradle` for rebuild
364
+
365
+ Coroutines: Avoid `runBlocking` in suspend contexts; use `Dispatchers.IO` for blocking operations
366
+
367
+ Ktor: Ensure `ContentNegotiation` installed; check JWT verifier configuration; verify routing hierarchy
368
+
369
+ Exposed: Ensure all DB operations in transaction; be aware of entity loading outside transaction
370
+
371
+ ---
372
+
373
+ ## Advanced Documentation
374
+
375
+ For comprehensive reference materials:
376
+ - [reference.md](reference.md) - Complete ecosystem, Context7 mappings, testing patterns, performance
377
+ - [examples.md](examples.md) - Production-ready code examples, Ktor, Compose, Android patterns
378
+
379
+ ---
380
+
381
+ Last Updated: 2025-12-07
382
+ Status: Production Ready (v1.0.0)