moai-adk 0.8.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 (881) hide show
  1. moai_adk/__init__.py +2 -6
  2. moai_adk/__main__.py +267 -21
  3. moai_adk/astgrep/__init__.py +37 -0
  4. moai_adk/astgrep/analyzer.py +522 -0
  5. moai_adk/astgrep/models.py +124 -0
  6. moai_adk/astgrep/rules.py +179 -0
  7. moai_adk/cli/__init__.py +6 -2
  8. moai_adk/cli/commands/__init__.py +1 -4
  9. moai_adk/cli/commands/analyze.py +125 -0
  10. moai_adk/cli/commands/doctor.py +24 -6
  11. moai_adk/cli/commands/init.py +437 -57
  12. moai_adk/cli/commands/language.py +254 -0
  13. moai_adk/cli/commands/rank.py +449 -0
  14. moai_adk/cli/commands/status.py +15 -14
  15. moai_adk/cli/commands/switch.py +325 -0
  16. moai_adk/cli/commands/update.py +2195 -93
  17. moai_adk/cli/main.py +3 -2
  18. moai_adk/cli/prompts/init_prompts.py +457 -108
  19. moai_adk/cli/prompts/translations/__init__.py +573 -0
  20. moai_adk/cli/spec_status.py +263 -0
  21. moai_adk/cli/ui/__init__.py +44 -0
  22. moai_adk/cli/ui/progress.py +422 -0
  23. moai_adk/cli/ui/prompts.py +448 -0
  24. moai_adk/cli/ui/theme.py +129 -0
  25. moai_adk/cli/worktree/__init__.py +27 -0
  26. moai_adk/cli/worktree/__main__.py +31 -0
  27. moai_adk/cli/worktree/cli.py +788 -0
  28. moai_adk/cli/worktree/exceptions.py +89 -0
  29. moai_adk/cli/worktree/manager.py +648 -0
  30. moai_adk/cli/worktree/models.py +65 -0
  31. moai_adk/cli/worktree/registry.py +422 -0
  32. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  33. moai_adk/core/__init__.py +0 -1
  34. moai_adk/core/analysis/__init__.py +9 -0
  35. moai_adk/core/analysis/session_analyzer.py +400 -0
  36. moai_adk/core/claude_integration.py +393 -0
  37. moai_adk/core/command_helpers.py +270 -0
  38. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  39. moai_adk/core/config/__init__.py +6 -0
  40. moai_adk/core/config/migration.py +148 -17
  41. moai_adk/core/config/unified.py +617 -0
  42. moai_adk/core/context_manager.py +273 -0
  43. moai_adk/core/credentials.py +264 -0
  44. moai_adk/core/diagnostics/slash_commands.py +0 -1
  45. moai_adk/core/enterprise_features.py +1404 -0
  46. moai_adk/core/error_recovery_system.py +1920 -0
  47. moai_adk/core/event_driven_hook_system.py +1371 -0
  48. moai_adk/core/git/__init__.py +8 -1
  49. moai_adk/core/git/branch.py +0 -1
  50. moai_adk/core/git/branch_manager.py +2 -10
  51. moai_adk/core/git/checkpoint.py +1 -7
  52. moai_adk/core/git/commit.py +0 -1
  53. moai_adk/core/git/conflict_detector.py +422 -0
  54. moai_adk/core/git/event_detector.py +16 -7
  55. moai_adk/core/git/manager.py +91 -2
  56. moai_adk/core/input_validation_middleware.py +1006 -0
  57. moai_adk/core/integration/__init__.py +22 -0
  58. moai_adk/core/integration/engine.py +157 -0
  59. moai_adk/core/integration/integration_tester.py +226 -0
  60. moai_adk/core/integration/models.py +88 -0
  61. moai_adk/core/integration/utils.py +211 -0
  62. moai_adk/core/issue_creator.py +305 -0
  63. moai_adk/core/jit_context_loader.py +956 -0
  64. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  65. moai_adk/core/language_config.py +202 -0
  66. moai_adk/core/language_config_resolver.py +578 -0
  67. moai_adk/core/language_validator.py +543 -0
  68. moai_adk/core/mcp/setup.py +116 -0
  69. moai_adk/core/merge/__init__.py +9 -0
  70. moai_adk/core/merge/analyzer.py +666 -0
  71. moai_adk/core/migration/__init__.py +18 -0
  72. moai_adk/core/migration/alfred_to_moai_migrator.py +389 -0
  73. moai_adk/core/migration/backup_manager.py +327 -0
  74. moai_adk/core/migration/custom_element_scanner.py +358 -0
  75. moai_adk/core/migration/file_migrator.py +381 -0
  76. moai_adk/core/migration/interactive_checkbox_ui.py +499 -0
  77. moai_adk/core/migration/selective_restorer.py +470 -0
  78. moai_adk/core/migration/template_utils.py +74 -0
  79. moai_adk/core/migration/user_selection_ui.py +338 -0
  80. moai_adk/core/migration/version_detector.py +243 -0
  81. moai_adk/core/migration/version_migrator.py +263 -0
  82. moai_adk/core/model_allocator.py +241 -0
  83. moai_adk/core/performance/__init__.py +6 -0
  84. moai_adk/core/performance/cache_system.py +316 -0
  85. moai_adk/core/performance/parallel_processor.py +116 -0
  86. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  87. moai_adk/core/project/__init__.py +0 -1
  88. moai_adk/core/project/backup_utils.py +13 -8
  89. moai_adk/core/project/checker.py +2 -4
  90. moai_adk/core/project/detector.py +189 -22
  91. moai_adk/core/project/initializer.py +177 -29
  92. moai_adk/core/project/phase_executor.py +482 -48
  93. moai_adk/core/project/validator.py +22 -32
  94. moai_adk/core/quality/__init__.py +1 -1
  95. moai_adk/core/quality/trust_checker.py +66 -110
  96. moai_adk/core/quality/validators/__init__.py +1 -1
  97. moai_adk/core/quality/validators/base_validator.py +1 -1
  98. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  99. moai_adk/core/robust_json_parser.py +611 -0
  100. moai_adk/core/rollback_manager.py +953 -0
  101. moai_adk/core/session_manager.py +651 -0
  102. moai_adk/core/skill_loading_system.py +579 -0
  103. moai_adk/core/spec_status_manager.py +478 -0
  104. moai_adk/core/template/__init__.py +0 -1
  105. moai_adk/core/template/backup.py +168 -21
  106. moai_adk/core/template/config.py +141 -45
  107. moai_adk/core/template/languages.py +0 -1
  108. moai_adk/core/template/merger.py +107 -32
  109. moai_adk/core/template/processor.py +1075 -74
  110. moai_adk/core/template_engine.py +319 -0
  111. moai_adk/core/template_variable_synchronizer.py +431 -0
  112. moai_adk/core/unified_permission_manager.py +745 -0
  113. moai_adk/core/user_behavior_analytics.py +851 -0
  114. moai_adk/core/version_sync.py +477 -0
  115. moai_adk/foundation/__init__.py +37 -0
  116. moai_adk/foundation/backend.py +1027 -0
  117. moai_adk/foundation/database.py +1115 -0
  118. moai_adk/foundation/devops.py +1585 -0
  119. moai_adk/foundation/ears.py +431 -0
  120. moai_adk/foundation/frontend.py +870 -0
  121. moai_adk/foundation/git/__init__.py +376 -0
  122. moai_adk/foundation/git/commit_templates.py +557 -0
  123. moai_adk/foundation/langs.py +484 -0
  124. moai_adk/foundation/ml_ops.py +1162 -0
  125. moai_adk/foundation/testing.py +1524 -0
  126. moai_adk/foundation/trust/trust_principles.py +676 -0
  127. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  128. moai_adk/loop/__init__.py +54 -0
  129. moai_adk/loop/controller.py +305 -0
  130. moai_adk/loop/feedback.py +230 -0
  131. moai_adk/loop/state.py +209 -0
  132. moai_adk/loop/storage.py +220 -0
  133. moai_adk/lsp/__init__.py +70 -0
  134. moai_adk/lsp/client.py +320 -0
  135. moai_adk/lsp/models.py +261 -0
  136. moai_adk/lsp/protocol.py +404 -0
  137. moai_adk/lsp/server_manager.py +248 -0
  138. moai_adk/project/__init__.py +0 -0
  139. moai_adk/project/configuration.py +1091 -0
  140. moai_adk/project/documentation.py +566 -0
  141. moai_adk/project/schema.py +447 -0
  142. moai_adk/py.typed +0 -0
  143. moai_adk/ralph/__init__.py +37 -0
  144. moai_adk/ralph/engine.py +307 -0
  145. moai_adk/rank/__init__.py +21 -0
  146. moai_adk/rank/auth.py +425 -0
  147. moai_adk/rank/client.py +557 -0
  148. moai_adk/rank/config.py +147 -0
  149. moai_adk/rank/hook.py +1503 -0
  150. moai_adk/rank/py.typed +0 -0
  151. moai_adk/statusline/__init__.py +41 -0
  152. moai_adk/statusline/alfred_detector.py +105 -0
  153. moai_adk/statusline/config.py +376 -0
  154. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  155. moai_adk/statusline/git_collector.py +190 -0
  156. moai_adk/statusline/main.py +341 -0
  157. moai_adk/statusline/memory_collector.py +268 -0
  158. moai_adk/statusline/metrics_tracker.py +78 -0
  159. moai_adk/statusline/renderer.py +359 -0
  160. moai_adk/statusline/update_checker.py +129 -0
  161. moai_adk/statusline/version_reader.py +741 -0
  162. moai_adk/tag_system/__init__.py +48 -0
  163. moai_adk/tag_system/atomic_ops.py +117 -0
  164. moai_adk/tag_system/linkage.py +335 -0
  165. moai_adk/tag_system/parser.py +176 -0
  166. moai_adk/tag_system/validator.py +200 -0
  167. moai_adk/templates/.claude/agents/moai/builder-agent.md +490 -0
  168. moai_adk/templates/.claude/agents/moai/builder-command.md +1218 -0
  169. moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
  170. moai_adk/templates/.claude/agents/moai/builder-skill.md +682 -0
  171. moai_adk/templates/.claude/agents/moai/expert-backend.md +963 -0
  172. moai_adk/templates/.claude/agents/moai/expert-debug.md +407 -0
  173. moai_adk/templates/.claude/agents/moai/expert-devops.md +722 -0
  174. moai_adk/templates/.claude/agents/moai/expert-frontend.md +748 -0
  175. moai_adk/templates/.claude/agents/moai/expert-performance.md +661 -0
  176. moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
  177. moai_adk/templates/.claude/agents/moai/expert-security.md +525 -0
  178. moai_adk/templates/.claude/agents/moai/expert-testing.md +737 -0
  179. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +438 -0
  180. moai_adk/templates/.claude/agents/moai/manager-docs.md +578 -0
  181. moai_adk/templates/.claude/agents/moai/manager-git.md +1092 -0
  182. moai_adk/templates/.claude/agents/moai/manager-project.md +971 -0
  183. moai_adk/templates/.claude/agents/moai/manager-quality.md +641 -0
  184. moai_adk/templates/.claude/agents/moai/manager-spec.md +815 -0
  185. moai_adk/templates/.claude/agents/moai/manager-strategy.md +811 -0
  186. moai_adk/templates/.claude/agents/moai/manager-tdd.md +797 -0
  187. moai_adk/templates/.claude/commands/moai/0-project.md +438 -0
  188. moai_adk/templates/.claude/commands/moai/1-plan.md +1447 -0
  189. moai_adk/templates/.claude/commands/moai/2-run.md +850 -0
  190. moai_adk/templates/.claude/commands/moai/3-sync.md +1398 -0
  191. moai_adk/templates/.claude/commands/moai/9-feedback.md +330 -0
  192. moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
  193. moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
  194. moai_adk/templates/.claude/commands/moai/fix.md +264 -0
  195. moai_adk/templates/.claude/commands/moai/loop.md +363 -0
  196. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  197. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  198. moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
  199. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +41 -0
  200. moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
  201. moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
  202. moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/checkpoint.py +13 -37
  203. moai_adk/templates/.claude/hooks/moai/lib/common.py +161 -0
  204. moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
  205. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +442 -0
  206. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  207. moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
  208. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  209. moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
  210. moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
  211. moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
  212. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +592 -0
  213. moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
  214. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +417 -0
  215. moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
  216. moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
  217. moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
  218. moai_adk/templates/.claude/hooks/moai/lib/models.py +104 -0
  219. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +219 -0
  220. moai_adk/templates/.claude/hooks/moai/lib/project.py +777 -0
  221. moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
  222. moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
  223. moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
  224. moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
  225. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  226. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  227. moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
  228. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +542 -0
  229. moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
  230. moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
  231. moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
  232. moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
  233. moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
  234. moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
  235. moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
  236. moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
  237. moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
  238. moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
  239. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +894 -0
  240. moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
  241. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1170 -0
  242. moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
  243. moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
  244. moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
  245. moai_adk/templates/.claude/output-styles/moai/r2d2.md +643 -0
  246. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  247. moai_adk/templates/.claude/settings.json +177 -72
  248. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +303 -0
  249. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +252 -0
  250. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +56 -0
  251. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +120 -0
  252. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  253. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +185 -0
  254. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +207 -0
  255. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +234 -0
  256. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +132 -281
  257. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +610 -1525
  258. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +423 -619
  259. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +133 -77
  260. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +817 -16
  261. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  262. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  263. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  264. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  265. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +532 -17
  266. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +91 -78
  267. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +955 -16
  268. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
  269. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
  270. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
  271. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
  272. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
  273. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
  274. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +651 -18
  275. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +234 -0
  276. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  277. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  278. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  279. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  280. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  281. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  282. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +189 -0
  283. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  284. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +327 -0
  285. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  286. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  287. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  288. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  289. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  290. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  291. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +225 -0
  292. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  293. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
  294. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  295. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
  296. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +739 -0
  297. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
  298. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
  299. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
  300. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +670 -0
  301. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  302. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  303. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
  304. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
  305. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
  306. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  307. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +467 -0
  308. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
  309. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +420 -0
  310. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  311. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  312. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  313. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  314. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  315. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  316. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  317. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +221 -0
  318. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  319. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  320. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +242 -0
  321. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  322. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  323. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  324. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  325. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
  326. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
  327. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +228 -0
  328. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  329. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  330. moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
  331. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  332. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
  333. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +171 -0
  334. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
  335. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  336. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +239 -0
  337. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
  338. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
  339. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  340. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +311 -0
  341. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  342. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  343. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  344. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  345. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  346. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  347. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +180 -0
  348. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  349. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  350. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  351. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  352. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  353. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  354. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  355. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  356. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  357. moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
  358. moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
  359. moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
  360. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +96 -77
  361. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1226 -16
  362. moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
  363. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1119 -14
  364. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +80 -79
  365. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +572 -16
  366. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
  367. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
  368. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
  369. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
  370. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
  371. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +388 -15
  372. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +135 -0
  373. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
  374. moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
  375. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
  376. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +104 -0
  377. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  378. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  379. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +153 -80
  380. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +906 -16
  381. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +721 -15
  382. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +117 -80
  383. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +851 -16
  384. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +278 -18
  385. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +133 -79
  386. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +960 -16
  387. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1528 -17
  388. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +100 -79
  389. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +993 -16
  390. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +549 -18
  391. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +135 -76
  392. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1595 -16
  393. moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
  394. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1309 -16
  395. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +141 -341
  396. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +849 -496
  397. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +731 -243
  398. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +134 -76
  399. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1141 -16
  400. moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
  401. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1074 -17
  402. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +136 -77
  403. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1093 -16
  404. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
  405. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
  406. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1010 -17
  407. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +112 -78
  408. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +646 -16
  409. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +491 -18
  410. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +113 -75
  411. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +620 -16
  412. moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
  413. moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
  414. moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
  415. moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
  416. moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
  417. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +410 -17
  418. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -83
  419. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +905 -16
  420. moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
  421. moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
  422. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
  423. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
  424. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +659 -17
  425. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +115 -82
  426. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1076 -16
  427. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +718 -21
  428. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +145 -0
  429. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  430. moai_adk/templates/.claude/skills/moai-library-mermaid/modules/advanced-patterns.md +465 -0
  431. moai_adk/templates/.claude/skills/moai-library-mermaid/modules/optimization.md +440 -0
  432. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  433. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +143 -0
  434. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  435. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  436. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +336 -0
  437. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +350 -0
  438. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  439. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  440. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  441. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  442. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  443. moai_adk/templates/.claude/skills/moai-library-nextra/modules/optimization.md +303 -0
  444. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  445. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +175 -0
  446. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  447. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  448. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  449. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  450. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  451. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  452. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +284 -0
  453. moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
  454. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
  455. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
  456. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
  457. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
  458. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
  459. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
  460. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
  461. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
  462. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
  463. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
  464. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
  465. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
  466. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
  467. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
  468. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
  469. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
  470. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
  471. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
  472. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
  473. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
  474. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
  475. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
  476. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
  477. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
  478. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
  479. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
  480. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
  481. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
  482. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
  483. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
  484. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
  485. moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
  486. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +135 -0
  487. moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
  488. moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
  489. moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
  490. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +158 -0
  491. moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
  492. moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
  493. moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
  494. moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
  495. moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
  496. moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
  497. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +166 -0
  498. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
  499. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
  500. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
  501. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
  502. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
  503. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +127 -0
  504. moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
  505. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
  506. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
  507. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
  508. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
  509. moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
  510. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +156 -0
  511. moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
  512. moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
  513. moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
  514. moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
  515. moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
  516. moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
  517. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +146 -0
  518. moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
  519. moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
  520. moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
  521. moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
  522. moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
  523. moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
  524. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +141 -0
  525. moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
  526. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
  527. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
  528. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
  529. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
  530. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
  531. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
  532. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
  533. moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
  534. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +132 -0
  535. moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
  536. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
  537. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
  538. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
  539. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
  540. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
  541. moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
  542. moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
  543. moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
  544. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
  545. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
  546. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
  547. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
  548. moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
  549. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
  550. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
  551. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
  552. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
  553. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
  554. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
  555. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
  556. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
  557. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
  558. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +251 -0
  559. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  560. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/modules/advanced-patterns.md +379 -0
  561. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/modules/optimization.md +286 -0
  562. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  563. moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
  564. moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
  565. moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
  566. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  567. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +287 -0
  568. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  569. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  570. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  571. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  572. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  573. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  574. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  575. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  576. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  577. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  578. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  579. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  580. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  581. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +337 -0
  582. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  583. moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
  584. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  585. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +270 -0
  586. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  587. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  588. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  589. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  590. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  591. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  592. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +269 -0
  593. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  594. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  595. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  596. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  597. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  598. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +269 -0
  599. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/advanced-patterns.md +576 -0
  600. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +302 -0
  601. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
  602. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
  603. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
  604. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
  605. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
  606. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
  607. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
  608. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
  609. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
  610. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +263 -0
  611. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
  612. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
  613. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
  614. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
  615. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
  616. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/optimization.md +505 -0
  617. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
  618. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
  619. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
  620. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
  621. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
  622. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
  623. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
  624. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +327 -0
  625. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
  626. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
  627. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
  628. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
  629. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +313 -0
  630. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
  631. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
  632. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
  633. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
  634. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
  635. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
  636. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +265 -0
  637. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
  638. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  639. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  640. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  641. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  642. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  643. moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
  644. moai_adk/templates/.claude/skills/moai-workflow-worktree/examples.md +606 -0
  645. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
  646. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
  647. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
  648. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
  649. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
  650. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
  651. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
  652. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
  653. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
  654. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
  655. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
  656. moai_adk/templates/.claude/skills/moai-workflow-worktree/reference.md +357 -0
  657. moai_adk/templates/.git-hooks/pre-commit +128 -0
  658. moai_adk/templates/.git-hooks/pre-push +468 -0
  659. moai_adk/templates/.github/workflows/ci-universal.yml +1314 -0
  660. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  661. moai_adk/templates/.github/workflows/spec-issue-sync.yml +206 -36
  662. moai_adk/templates/.gitignore +152 -13
  663. moai_adk/templates/.lsp.json +152 -0
  664. moai_adk/templates/.mcp.json +13 -0
  665. moai_adk/templates/.moai/announcements/en.json +18 -0
  666. moai_adk/templates/.moai/announcements/ja.json +18 -0
  667. moai_adk/templates/.moai/announcements/ko.json +18 -0
  668. moai_adk/templates/.moai/announcements/zh.json +18 -0
  669. moai_adk/templates/.moai/config/config.yaml +64 -0
  670. moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
  671. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  672. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  673. moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
  674. moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
  675. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  676. moai_adk/templates/.moai/config/sections/quality.yaml +55 -0
  677. moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
  678. moai_adk/templates/.moai/config/sections/system.yaml +59 -0
  679. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  680. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  681. moai_adk/templates/.moai/llm-configs/glm.json +22 -0
  682. moai_adk/templates/CLAUDE.ja.md +343 -0
  683. moai_adk/templates/CLAUDE.ko.md +343 -0
  684. moai_adk/templates/CLAUDE.md +274 -246
  685. moai_adk/templates/CLAUDE.zh.md +343 -0
  686. moai_adk/utils/__init__.py +24 -2
  687. moai_adk/utils/banner.py +9 -13
  688. moai_adk/utils/common.py +331 -0
  689. moai_adk/utils/link_validator.py +241 -0
  690. moai_adk/utils/logger.py +4 -9
  691. moai_adk/utils/safe_file_reader.py +206 -0
  692. moai_adk/utils/timeout.py +160 -0
  693. moai_adk/utils/toon_utils.py +256 -0
  694. moai_adk/version.py +22 -0
  695. moai_adk-1.1.0.dist-info/METADATA +2443 -0
  696. moai_adk-1.1.0.dist-info/RECORD +701 -0
  697. {moai_adk-0.8.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +1 -1
  698. moai_adk-1.1.0.dist-info/entry_points.txt +5 -0
  699. moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
  700. moai_adk/cli/commands/backup.py +0 -80
  701. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -293
  702. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -196
  703. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -207
  704. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -375
  705. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -343
  706. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -246
  707. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -320
  708. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -837
  709. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -272
  710. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -265
  711. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -311
  712. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -352
  713. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1184
  714. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -665
  715. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -488
  716. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -623
  717. moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -313
  718. moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
  719. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -174
  720. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -170
  721. moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -67
  722. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -416
  723. moai_adk/templates/.claude/hooks/alfred/core/tags.py +0 -198
  724. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -21
  725. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
  726. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -161
  727. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -90
  728. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -42
  729. moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
  730. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
  731. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
  732. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
  733. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  734. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  735. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  736. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  737. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  738. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  739. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  740. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  741. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  742. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  743. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  744. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  745. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  746. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  747. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  748. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  749. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  750. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  751. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  752. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  753. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  754. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  755. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  756. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  757. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  758. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  759. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  760. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  761. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  762. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  763. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  764. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  765. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  766. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  767. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  768. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  769. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  770. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  771. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  772. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  773. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  774. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  775. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  776. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  777. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  778. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  779. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  780. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  781. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  782. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  783. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  784. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  785. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  786. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  787. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  788. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  789. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  790. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  791. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  792. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  793. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  794. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  795. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  796. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  797. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  798. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  799. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  800. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  801. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  802. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  803. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  804. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  805. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -113
  806. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  807. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  808. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  809. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  810. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  811. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  812. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  813. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  814. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  815. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  816. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  817. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  818. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  819. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  820. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  821. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  822. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  823. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  824. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  825. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  826. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  827. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  828. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  829. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  830. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  831. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  832. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  833. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  834. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  835. moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -482
  836. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -278
  837. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  838. moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -477
  839. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  840. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  841. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  842. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  843. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -271
  844. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  845. moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -583
  846. moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -526
  847. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -465
  848. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -328
  849. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -312
  850. moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  851. moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -285
  852. moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -278
  853. moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -303
  854. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
  855. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -218
  856. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -161
  857. moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
  858. moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
  859. moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
  860. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  861. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -256
  862. moai_adk/templates/.moai/config.json +0 -96
  863. moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -208
  864. moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -369
  865. moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -539
  866. moai_adk/templates/.moai/memory/CONFIG-SCHEMA.md +0 -444
  867. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
  868. moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -220
  869. moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -218
  870. moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
  871. moai_adk/templates/.moai/memory/config-schema.md +0 -444
  872. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
  873. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  874. moai_adk/templates/.moai/project/product.md +0 -161
  875. moai_adk/templates/.moai/project/structure.md +0 -156
  876. moai_adk/templates/.moai/project/tech.md +0 -227
  877. moai_adk/templates/__init__.py +0 -2
  878. moai_adk-0.8.0.dist-info/METADATA +0 -1722
  879. moai_adk-0.8.0.dist-info/RECORD +0 -282
  880. moai_adk-0.8.0.dist-info/entry_points.txt +0 -2
  881. moai_adk-0.8.0.dist-info/licenses/LICENSE +0 -21
@@ -1,30 +1,1323 @@
1
- # moai-lang-php - CLI Reference
1
+ # PHP 8.3+ and Laravel 11 Complete Reference
2
2
 
3
- _Last updated: 2025-10-22_
3
+ ## PHP 8.3 Feature Matrix
4
4
 
5
- ## Quick Reference
5
+ | Feature | Status | Production Ready | Description |
6
+ | --------------------- | ------ | ---------------- | ---------------------------------------- |
7
+ | Readonly Classes | Stable | Yes | Immutable classes with readonly modifier |
8
+ | Typed Properties | Stable | Yes | Strong typing for class properties |
9
+ | Constructor Promotion | Stable | Yes | Shorthand property declaration |
10
+ | Attributes | Stable | Yes | Native metadata annotations |
11
+ | Enums | Stable | Yes | First-class enumeration support |
12
+ | Named Arguments | Stable | Yes | Function calls with named parameters |
13
+ | Match Expression | Stable | Yes | Enhanced switch-case statements |
14
+ | Nullsafe Operator | Stable | Yes | Safe property/method access with ?-> |
15
+ | Union Types | Stable | Yes | Multiple type declarations (string\|int) |
16
+ | Intersection Types | Stable | Yes | Combined type requirements (A&B) |
17
+ | Never Type | Stable | Yes | Functions that never return |
18
+ | Fibers | Stable | Yes | Lightweight concurrency primitives |
6
19
 
7
- ### Installation
20
+ ---
8
21
 
9
- ```bash
10
- # Installation commands
22
+ ## PHP 8.3 Modern Features
23
+
24
+ ### Readonly Classes
25
+
26
+ ```php
27
+ <?php
28
+
29
+ // Readonly class - all properties are readonly
30
+ readonly class Point
31
+ {
32
+ public function __construct(
33
+ public float $x,
34
+ public float $y,
35
+ ) {}
36
+ }
37
+
38
+ // Usage
39
+ $point = new Point(10.5, 20.3);
40
+ // $point->x = 15; // Error: Cannot modify readonly property
41
+ ```
42
+
43
+ ### Typed Properties
44
+
45
+ ```php
46
+ <?php
47
+
48
+ class User
49
+ {
50
+ public int $id;
51
+ public string $name;
52
+ public ?string $email = null;
53
+ public array $roles = [];
54
+ private \DateTimeImmutable $createdAt;
55
+
56
+ public function __construct(int $id, string $name)
57
+ {
58
+ $this->id = $id;
59
+ $this->name = $name;
60
+ $this->createdAt = new \DateTimeImmutable();
61
+ }
62
+ }
63
+ ```
64
+
65
+ ### Constructor Property Promotion
66
+
67
+ ```php
68
+ <?php
69
+
70
+ // Traditional approach
71
+ class OldUser
72
+ {
73
+ private string $name;
74
+ private string $email;
75
+
76
+ public function __construct(string $name, string $email)
77
+ {
78
+ $this->name = $name;
79
+ $this->email = $email;
80
+ }
81
+ }
82
+
83
+ // Modern approach with property promotion
84
+ class ModernUser
85
+ {
86
+ public function __construct(
87
+ private string $name,
88
+ private string $email,
89
+ ) {}
90
+
91
+ public function getName(): string
92
+ {
93
+ return $this->name;
94
+ }
95
+ }
96
+ ```
97
+
98
+ ### Attributes (Annotations)
99
+
100
+ ```php
101
+ <?php
102
+
103
+ #[Attribute(Attribute::TARGET_CLASS)]
104
+ class Table
105
+ {
106
+ public function __construct(
107
+ public string $name,
108
+ ) {}
109
+ }
110
+
111
+ #[Attribute(Attribute::TARGET_PROPERTY)]
112
+ class Column
113
+ {
114
+ public function __construct(
115
+ public string $name,
116
+ public string $type = 'string',
117
+ public bool $nullable = false,
118
+ ) {}
119
+ }
120
+
121
+ #[Table('users')]
122
+ class User
123
+ {
124
+ #[Column('id', 'integer')]
125
+ public int $id;
126
+
127
+ #[Column('email', 'string')]
128
+ public string $email;
129
+
130
+ #[Column('created_at', 'datetime', nullable: true)]
131
+ public ?\DateTimeImmutable $createdAt;
132
+ }
133
+
134
+ // Reading attributes
135
+ $reflection = new ReflectionClass(User::class);
136
+ $attributes = $reflection->getAttributes(Table::class);
137
+ foreach ($attributes as $attribute) {
138
+ $table = $attribute->newInstance();
139
+ echo $table->name; // 'users'
140
+ }
141
+ ```
142
+
143
+ ### Advanced Enums
144
+
145
+ ```php
146
+ <?php
147
+
148
+ // Basic enum
149
+ enum Status: string
150
+ {
151
+ case Pending = 'pending';
152
+ case Approved = 'approved';
153
+ case Rejected = 'rejected';
154
+ }
155
+
156
+ // Enum with methods and static methods
157
+ enum OrderStatus: string
158
+ {
159
+ case Pending = 'pending';
160
+ case Processing = 'processing';
161
+ case Shipped = 'shipped';
162
+ case Delivered = 'delivered';
163
+ case Cancelled = 'cancelled';
164
+
165
+ public function label(): string
166
+ {
167
+ return match($this) {
168
+ self::Pending => 'Pending',
169
+ self::Processing => 'Processing',
170
+ self::Shipped => 'Shipped',
171
+ self::Delivered => 'Delivered',
172
+ self::Cancelled => 'Cancelled',
173
+ };
174
+ }
175
+
176
+ public function color(): string
177
+ {
178
+ return match($this) {
179
+ self::Pending => 'yellow',
180
+ self::Processing => 'blue',
181
+ self::Shipped => 'purple',
182
+ self::Delivered => 'green',
183
+ self::Cancelled => 'red',
184
+ };
185
+ }
186
+
187
+ public function canTransitionTo(self $newStatus): bool
188
+ {
189
+ return match($this) {
190
+ self::Pending => in_array($newStatus, [self::Processing, self::Cancelled]),
191
+ self::Processing => in_array($newStatus, [self::Shipped, self::Cancelled]),
192
+ self::Shipped => $newStatus === self::Delivered,
193
+ self::Delivered, self::Cancelled => false,
194
+ };
195
+ }
196
+
197
+ public static function activeStatuses(): array
198
+ {
199
+ return [self::Pending, self::Processing, self::Shipped];
200
+ }
201
+
202
+ public static function fromString(string $value): self
203
+ {
204
+ return self::from(strtolower($value));
205
+ }
206
+ }
207
+ ```
208
+
209
+ ### Match Expression
210
+
211
+ ```php
212
+ <?php
213
+
214
+ // Traditional switch
215
+ function getLegacyPrice(string $type): int
216
+ {
217
+ switch ($type) {
218
+ case 'basic':
219
+ return 100;
220
+ case 'premium':
221
+ return 200;
222
+ case 'enterprise':
223
+ return 500;
224
+ default:
225
+ throw new InvalidArgumentException('Invalid type');
226
+ }
227
+ }
228
+
229
+ // Modern match expression
230
+ function getPrice(string $type): int
231
+ {
232
+ return match($type) {
233
+ 'basic' => 100,
234
+ 'premium' => 200,
235
+ 'enterprise' => 500,
236
+ default => throw new InvalidArgumentException('Invalid type'),
237
+ };
238
+ }
239
+
240
+ // Match with multiple conditions
241
+ function getDiscount(string $type, int $quantity): float
242
+ {
243
+ return match(true) {
244
+ $quantity >= 100 => 0.3,
245
+ $quantity >= 50 => 0.2,
246
+ $quantity >= 10 => 0.1,
247
+ $type === 'premium' => 0.05,
248
+ default => 0.0,
249
+ };
250
+ }
251
+ ```
252
+
253
+ ### Nullsafe Operator
254
+
255
+ ```php
256
+ <?php
257
+
258
+ class Address
259
+ {
260
+ public function __construct(
261
+ public ?string $street = null,
262
+ ) {}
263
+ }
264
+
265
+ class User
266
+ {
267
+ public function __construct(
268
+ public ?Address $address = null,
269
+ ) {}
270
+ }
271
+
272
+ // Traditional approach
273
+ $street = null;
274
+ if ($user !== null) {
275
+ if ($user->address !== null) {
276
+ $street = $user->address->street;
277
+ }
278
+ }
279
+
280
+ // Nullsafe operator
281
+ $street = $user?->address?->street;
282
+ ```
283
+
284
+ ### Union and Intersection Types
285
+
286
+ ```php
287
+ <?php
288
+
289
+ // Union types
290
+ function processId(int|string $id): string
291
+ {
292
+ return is_int($id) ? "ID-{$id}" : $id;
293
+ }
294
+
295
+ // Multiple union types
296
+ function formatValue(int|float|string|null $value): string
297
+ {
298
+ return match(true) {
299
+ is_null($value) => 'N/A',
300
+ is_int($value) || is_float($value) => number_format($value, 2),
301
+ default => (string) $value,
302
+ };
303
+ }
304
+
305
+ // Intersection types
306
+ interface Loggable
307
+ {
308
+ public function log(): void;
309
+ }
310
+
311
+ interface Serializable
312
+ {
313
+ public function serialize(): string;
314
+ }
315
+
316
+ function process(Loggable&Serializable $object): void
317
+ {
318
+ $object->log();
319
+ $data = $object->serialize();
320
+ }
321
+ ```
322
+
323
+ ### Never Type
324
+
325
+ ```php
326
+ <?php
327
+
328
+ function redirect(string $url): never
329
+ {
330
+ header("Location: {$url}");
331
+ exit;
332
+ }
333
+
334
+ function abort(int $code, string $message): never
335
+ {
336
+ http_response_code($code);
337
+ echo json_encode(['error' => $message]);
338
+ exit;
339
+ }
340
+
341
+ function handleError(\Throwable $e): never
342
+ {
343
+ logger()->error($e->getMessage());
344
+ throw $e;
345
+ }
346
+ ```
347
+
348
+ ---
349
+
350
+ ## Laravel 11 Complete Reference
351
+
352
+ ### Application Structure
353
+
354
+ ```
355
+ laravel-11-app/
356
+ ├── app/
357
+ │ ├── Console/
358
+ │ │ ├── Commands/ # Custom Artisan commands
359
+ │ │ └── Kernel.php # Console kernel
360
+ │ ├── Events/ # Event classes
361
+ │ ├── Exceptions/ # Exception handlers
362
+ │ │ └── Handler.php
363
+ │ ├── Http/
364
+ │ │ ├── Controllers/ # HTTP controllers
365
+ │ │ ├── Middleware/ # HTTP middleware
366
+ │ │ ├── Requests/ # Form request validation
367
+ │ │ └── Resources/ # API resource transformers
368
+ │ ├── Jobs/ # Queue jobs
369
+ │ ├── Listeners/ # Event listeners
370
+ │ ├── Mail/ # Mail classes
371
+ │ ├── Models/ # Eloquent models
372
+ │ ├── Notifications/ # Notification classes
373
+ │ ├── Policies/ # Authorization policies
374
+ │ ├── Providers/ # Service providers
375
+ │ │ ├── AppServiceProvider.php
376
+ │ │ └── RouteServiceProvider.php
377
+ │ └── Services/ # Business logic services
378
+ ├── bootstrap/
379
+ │ ├── app.php # Application bootstrap
380
+ │ └── cache/ # Framework cache
381
+ ├── config/ # Configuration files
382
+ │ ├── app.php
383
+ │ ├── database.php
384
+ │ ├── queue.php
385
+ │ └── ...
386
+ ├── database/
387
+ │ ├── factories/ # Model factories
388
+ │ ├── migrations/ # Database migrations
389
+ │ └── seeders/ # Database seeders
390
+ ├── public/ # Public web root
391
+ │ └── index.php
392
+ ├── resources/
393
+ │ ├── css/ # CSS assets
394
+ │ ├── js/ # JavaScript assets
395
+ │ └── views/ # Blade templates
396
+ ├── routes/
397
+ │ ├── api.php # API routes
398
+ │ ├── channels.php # Broadcast channels
399
+ │ ├── console.php # Console commands
400
+ │ └── web.php # Web routes
401
+ ├── storage/
402
+ │ ├── app/ # Application storage
403
+ │ ├── framework/ # Framework files
404
+ │ └── logs/ # Application logs
405
+ ├── tests/
406
+ │ ├── Feature/ # Feature tests
407
+ │ └── Unit/ # Unit tests
408
+ ├── artisan # Artisan CLI
409
+ ├── composer.json # PHP dependencies
410
+ └── phpunit.xml # PHPUnit configuration
411
+ ```
412
+
413
+ ### Laravel 11 Eloquent ORM Reference
414
+
415
+ #### Model Definitions
416
+
417
+ ```php
418
+ <?php
419
+
420
+ namespace App\Models;
421
+
422
+ use Illuminate\Database\Eloquent\Model;
423
+ use Illuminate\Database\Eloquent\SoftDeletes;
424
+ use Illuminate\Database\Eloquent\Factories\HasFactory;
425
+
426
+ class Product extends Model
427
+ {
428
+ use HasFactory, SoftDeletes;
429
+
430
+ // Table name (optional if following convention)
431
+ protected $table = 'products';
432
+
433
+ // Primary key (optional if 'id')
434
+ protected $primaryKey = 'id';
435
+
436
+ // Key type
437
+ protected $keyType = 'int';
438
+
439
+ // Auto-incrementing
440
+ public $incrementing = true;
441
+
442
+ // Timestamps
443
+ public $timestamps = true;
444
+
445
+ // Date format
446
+ protected $dateFormat = 'Y-m-d H:i:s';
447
+
448
+ // Connection name
449
+ protected $connection = 'mysql';
450
+
451
+ // Mass assignable attributes
452
+ protected $fillable = [
453
+ 'name',
454
+ 'description',
455
+ 'price',
456
+ 'category_id',
457
+ ];
458
+
459
+ // Guarded attributes (opposite of fillable)
460
+ protected $guarded = [
461
+ 'id',
462
+ 'created_at',
463
+ 'updated_at',
464
+ ];
465
+
466
+ // Hidden attributes (for JSON serialization)
467
+ protected $hidden = [
468
+ 'deleted_at',
469
+ ];
470
+
471
+ // Visible attributes (for JSON serialization)
472
+ protected $visible = [
473
+ 'id',
474
+ 'name',
475
+ 'price',
476
+ ];
477
+
478
+ // Append accessors to JSON
479
+ protected $appends = [
480
+ 'formatted_price',
481
+ ];
482
+
483
+ // Attribute casting
484
+ protected function casts(): array
485
+ {
486
+ return [
487
+ 'price' => 'decimal:2',
488
+ 'is_available' => 'boolean',
489
+ 'metadata' => 'array',
490
+ 'published_at' => 'datetime',
491
+ ];
492
+ }
493
+ }
494
+ ```
495
+
496
+ #### Eloquent Relationships
497
+
498
+ ```php
499
+ <?php
500
+
501
+ namespace App\Models;
502
+
503
+ use Illuminate\Database\Eloquent\Model;
504
+ use Illuminate\Database\Eloquent\Relations\HasMany;
505
+ use Illuminate\Database\Eloquent\Relations\BelongsTo;
506
+ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
507
+ use Illuminate\Database\Eloquent\Relations\HasOne;
508
+ use Illuminate\Database\Eloquent\Relations\HasOneThrough;
509
+ use Illuminate\Database\Eloquent\Relations\HasManyThrough;
510
+ use Illuminate\Database\Eloquent\Relations\MorphTo;
511
+ use Illuminate\Database\Eloquent\Relations\MorphMany;
512
+ use Illuminate\Database\Eloquent\Relations\MorphToMany;
513
+
514
+ class User extends Model
515
+ {
516
+ // One-to-One
517
+ public function profile(): HasOne
518
+ {
519
+ return $this->hasOne(Profile::class);
520
+ }
521
+
522
+ // One-to-Many
523
+ public function posts(): HasMany
524
+ {
525
+ return $this->hasMany(Post::class);
526
+ }
527
+
528
+ // Inverse of One-to-Many (Many-to-One)
529
+ public function company(): BelongsTo
530
+ {
531
+ return $this->belongsTo(Company::class);
532
+ }
533
+
534
+ // Many-to-Many
535
+ public function roles(): BelongsToMany
536
+ {
537
+ return $this->belongsToMany(Role::class)
538
+ ->withPivot('assigned_at', 'assigned_by')
539
+ ->withTimestamps()
540
+ ->using(RoleUser::class); // Custom pivot model
541
+ }
542
+
543
+ // Has One Through
544
+ public function latestPost(): HasOneThrough
545
+ {
546
+ return $this->hasOneThrough(
547
+ Post::class,
548
+ Author::class,
549
+ 'user_id', // Foreign key on authors table
550
+ 'author_id', // Foreign key on posts table
551
+ 'id', // Local key on users table
552
+ 'id' // Local key on authors table
553
+ )->latest();
554
+ }
555
+
556
+ // Has Many Through
557
+ public function comments(): HasManyThrough
558
+ {
559
+ return $this->hasManyThrough(
560
+ Comment::class,
561
+ Post::class,
562
+ 'user_id', // Foreign key on posts table
563
+ 'post_id', // Foreign key on comments table
564
+ 'id', // Local key on users table
565
+ 'id' // Local key on posts table
566
+ );
567
+ }
568
+
569
+ // Polymorphic Relationship
570
+ public function images(): MorphMany
571
+ {
572
+ return $this->morphMany(Image::class, 'imageable');
573
+ }
574
+
575
+ // Polymorphic Many-to-Many
576
+ public function tags(): MorphToMany
577
+ {
578
+ return $this->morphToMany(Tag::class, 'taggable');
579
+ }
580
+ }
581
+
582
+ class Image extends Model
583
+ {
584
+ // Inverse of Polymorphic
585
+ public function imageable(): MorphTo
586
+ {
587
+ return $this->morphTo();
588
+ }
589
+ }
590
+ ```
591
+
592
+ #### Query Scopes
593
+
594
+ ```php
595
+ <?php
596
+
597
+ namespace App\Models;
598
+
599
+ use Illuminate\Database\Eloquent\Model;
600
+ use Illuminate\Database\Eloquent\Builder;
601
+
602
+ class Post extends Model
603
+ {
604
+ // Local scope
605
+ public function scopePublished(Builder $query): void
606
+ {
607
+ $query->where('status', 'published')
608
+ ->whereNotNull('published_at')
609
+ ->where('published_at', '<=', now());
610
+ }
611
+
612
+ // Local scope with parameters
613
+ public function scopeOfType(Builder $query, string $type): void
614
+ {
615
+ $query->where('type', $type);
616
+ }
617
+
618
+ // Chainable scopes
619
+ public function scopeRecent(Builder $query, int $days = 7): void
620
+ {
621
+ $query->where('created_at', '>=', now()->subDays($days));
622
+ }
623
+
624
+ // Global scope (in model boot method)
625
+ protected static function booted(): void
626
+ {
627
+ static::addGlobalScope('active', function (Builder $builder) {
628
+ $builder->where('is_active', true);
629
+ });
630
+ }
631
+ }
632
+
633
+ // Usage
634
+ Post::published()->recent(30)->get();
635
+ Post::ofType('article')->published()->get();
636
+ Post::withoutGlobalScope('active')->get();
637
+ ```
638
+
639
+ #### Eloquent Accessors & Mutators
640
+
641
+ ```php
642
+ <?php
643
+
644
+ namespace App\Models;
645
+
646
+ use Illuminate\Database\Eloquent\Casts\Attribute;
647
+ use Illuminate\Database\Eloquent\Model;
648
+
649
+ class User extends Model
650
+ {
651
+ // Modern accessor (Laravel 9+)
652
+ protected function firstName(): Attribute
653
+ {
654
+ return Attribute::make(
655
+ get: fn (string $value) => ucfirst($value),
656
+ set: fn (string $value) => strtolower($value),
657
+ );
658
+ }
659
+
660
+ // Computed attribute
661
+ protected function fullName(): Attribute
662
+ {
663
+ return Attribute::make(
664
+ get: fn () => "{$this->first_name} {$this->last_name}",
665
+ );
666
+ }
667
+
668
+ // Legacy accessor
669
+ public function getEmailAttribute($value): string
670
+ {
671
+ return strtolower($value);
672
+ }
673
+
674
+ // Legacy mutator
675
+ public function setPasswordAttribute($value): void
676
+ {
677
+ $this->attributes['password'] = bcrypt($value);
678
+ }
679
+ }
11
680
  ```
12
681
 
13
- ### Common Commands
682
+ #### Eloquent Events
683
+
684
+ ```php
685
+ <?php
686
+
687
+ namespace App\Models;
688
+
689
+ use Illuminate\Database\Eloquent\Model;
690
+
691
+ class User extends Model
692
+ {
693
+ protected static function booted(): void
694
+ {
695
+ // Creating event (before save)
696
+ static::creating(function (User $user) {
697
+ $user->uuid = \Illuminate\Support\Str::uuid();
698
+ });
699
+
700
+ // Created event (after save)
701
+ static::created(function (User $user) {
702
+ $user->profile()->create(['bio' => '']);
703
+ });
704
+
705
+ // Updating event
706
+ static::updating(function (User $user) {
707
+ if ($user->isDirty('email')) {
708
+ $user->email_verified_at = null;
709
+ }
710
+ });
711
+
712
+ // Updated event
713
+ static::updated(function (User $user) {
714
+ cache()->forget("user.{$user->id}");
715
+ });
716
+
717
+ // Saving event (before creating or updating)
718
+ static::saving(function (User $user) {
719
+ $user->email = strtolower($user->email);
720
+ });
721
+
722
+ // Saved event (after creating or updating)
723
+ static::saved(function (User $user) {
724
+ logger()->info("User {$user->id} saved");
725
+ });
726
+
727
+ // Deleting event
728
+ static::deleting(function (User $user) {
729
+ $user->posts()->delete();
730
+ });
731
+
732
+ // Deleted event
733
+ static::deleted(function (User $user) {
734
+ logger()->info("User {$user->id} deleted");
735
+ });
736
+
737
+ // Restoring event (soft deletes)
738
+ static::restoring(function (User $user) {
739
+ $user->posts()->restore();
740
+ });
741
+
742
+ // Restored event
743
+ static::restored(function (User $user) {
744
+ logger()->info("User {$user->id} restored");
745
+ });
746
+ }
747
+ }
748
+ ```
749
+
750
+ ### Laravel Validation Rules Reference
751
+
752
+ ```php
753
+ <?php
754
+
755
+ namespace App\Http\Requests;
756
+
757
+ use Illuminate\Foundation\Http\FormRequest;
758
+ use Illuminate\Validation\Rule;
759
+ use Illuminate\Validation\Rules\Password;
760
+
761
+ class ValidationExamplesRequest extends FormRequest
762
+ {
763
+ public function rules(): array
764
+ {
765
+ return [
766
+ // Basic validation
767
+ 'name' => 'required|string|max:255',
768
+ 'email' => 'required|email|unique:users,email',
769
+ 'age' => 'required|integer|min:18|max:100',
770
+
771
+ // Array validation
772
+ 'tags' => 'array|min:1|max:5',
773
+ 'tags.*' => 'string|max:50',
774
+
775
+ // Nested validation
776
+ 'user' => 'required|array',
777
+ 'user.name' => 'required|string',
778
+ 'user.email' => 'required|email',
779
+ 'user.address' => 'array',
780
+ 'user.address.street' => 'required_with:user.address|string',
781
+
782
+ // Conditional validation
783
+ 'billing_address' => 'required_if:same_as_shipping,false',
784
+ 'shipping_method' => 'required_unless:is_digital,true',
785
+ 'tracking_number' => 'required_with:shipping_method',
786
+
787
+ // File validation
788
+ 'avatar' => 'nullable|image|mimes:jpeg,png,jpg|max:2048',
789
+ 'document' => 'required|file|mimes:pdf,doc,docx|max:10240',
790
+
791
+ // Date validation
792
+ 'birth_date' => 'required|date|before:today',
793
+ 'appointment' => 'required|date|after:tomorrow',
794
+ 'expired_at' => 'nullable|date|after_or_equal:start_date',
795
+
796
+ // Password validation
797
+ 'password' => [
798
+ 'required',
799
+ 'confirmed',
800
+ Password::min(8)
801
+ ->letters()
802
+ ->mixedCase()
803
+ ->numbers()
804
+ ->symbols()
805
+ ->uncompromised(),
806
+ ],
807
+
808
+ // Enum validation
809
+ 'status' => ['required', Rule::enum(OrderStatus::class)],
810
+
811
+ // Unique with exceptions
812
+ 'slug' => [
813
+ 'required',
814
+ 'string',
815
+ Rule::unique('posts')->ignore($this->post),
816
+ ],
817
+
818
+ // In validation
819
+ 'role' => ['required', Rule::in(['admin', 'editor', 'viewer'])],
820
+
821
+ // Exists validation
822
+ 'category_id' => 'required|exists:categories,id',
823
+ 'user_id' => [
824
+ 'required',
825
+ Rule::exists('users', 'id')->where('is_active', true),
826
+ ],
827
+
828
+ // Custom validation
829
+ 'custom_field' => [
830
+ 'required',
831
+ function ($attribute, $value, $fail) {
832
+ if (strtoupper($value) !== $value) {
833
+ $fail("The {$attribute} must be uppercase.");
834
+ }
835
+ },
836
+ ],
837
+
838
+ // Sometimes validation
839
+ 'optional_field' => 'sometimes|required|string',
840
+
841
+ // Nullable vs Required
842
+ 'middle_name' => 'nullable|string|max:100',
843
+
844
+ // Boolean validation
845
+ 'is_active' => 'required|boolean',
846
+ 'accepted_terms' => 'accepted',
847
+
848
+ // Numeric validation
849
+ 'price' => 'required|numeric|min:0|max:99999.99',
850
+ 'quantity' => 'required|integer|between:1,1000',
851
+
852
+ // String validation
853
+ 'username' => 'required|string|alpha_dash|min:3|max:20',
854
+ 'code' => 'required|string|alpha_num|size:6',
855
+
856
+ // URL validation
857
+ 'website' => 'nullable|url|active_url',
858
+
859
+ // JSON validation
860
+ 'metadata' => 'nullable|json',
861
+
862
+ // IP validation
863
+ 'ip_address' => 'nullable|ip',
864
+ 'ipv4_address' => 'nullable|ipv4',
865
+
866
+ // Regex validation
867
+ 'phone' => 'required|regex:/^([0-9\s\-\+\(\)]*)$/',
868
+
869
+ // Multiple of validation
870
+ 'quantity' => 'required|integer|multiple_of:5',
871
+ ];
872
+ }
873
+ }
874
+ ```
875
+
876
+ ### Artisan Commands Reference
14
877
 
15
878
  ```bash
16
- # Test
17
- # Lint
18
- # Format
19
- # Build
879
+ # Application management
880
+ php artisan serve # Start development server
881
+ php artisan tinker # REPL console
882
+ php artisan optimize # Optimize framework
883
+ php artisan optimize:clear # Clear optimization cache
884
+ php artisan about # Display application info
885
+
886
+ # Cache management
887
+ php artisan cache:clear # Clear application cache
888
+ php artisan config:clear # Clear configuration cache
889
+ php artisan route:clear # Clear route cache
890
+ php artisan view:clear # Clear compiled views
891
+ php artisan event:clear # Clear cached events
892
+
893
+ # Cache building
894
+ php artisan config:cache # Cache configuration
895
+ php artisan route:cache # Cache routes
896
+ php artisan view:cache # Compile views
897
+ php artisan event:cache # Cache events
898
+
899
+ # Database
900
+ php artisan migrate # Run migrations
901
+ php artisan migrate:fresh # Drop all tables and re-migrate
902
+ php artisan migrate:refresh # Reset and re-run migrations
903
+ php artisan migrate:reset # Rollback all migrations
904
+ php artisan migrate:rollback # Rollback last migration
905
+ php artisan migrate:status # Show migration status
906
+ php artisan db:seed # Seed database
907
+ php artisan db:wipe # Drop all tables
908
+
909
+ # Model generation
910
+ php artisan make:model User -mfsc # Model with migration, factory, seeder, controller
911
+ php artisan make:model Post --all # Model with all resources
912
+
913
+ # Resource generation
914
+ php artisan make:controller UserController --resource --api
915
+ php artisan make:request StoreUserRequest
916
+ php artisan make:resource UserResource
917
+ php artisan make:migration create_users_table
918
+ php artisan make:seeder UserSeeder
919
+ php artisan make:factory UserFactory
920
+ php artisan make:middleware CheckAge
921
+ php artisan make:policy UserPolicy
922
+ php artisan make:event UserRegistered
923
+ php artisan make:listener SendWelcomeEmail
924
+ php artisan make:job ProcessOrder
925
+ php artisan make:mail WelcomeMail
926
+ php artisan make:notification OrderShipped
927
+ php artisan make:command SendEmails
928
+ php artisan make:rule Uppercase
929
+ php artisan make:provider CustomServiceProvider
930
+ php artisan make:test UserTest --unit
931
+ php artisan make:test UserFeatureTest
932
+
933
+ # Queue management
934
+ php artisan queue:work # Process queue jobs
935
+ php artisan queue:work --queue=high,default
936
+ php artisan queue:listen # Listen for jobs
937
+ php artisan queue:restart # Restart queue workers
938
+ php artisan queue:retry all # Retry failed jobs
939
+ php artisan queue:failed # List failed jobs
940
+ php artisan queue:flush # Delete all failed jobs
941
+
942
+ # Schedule
943
+ php artisan schedule:run # Run scheduled commands
944
+ php artisan schedule:work # Run scheduler in foreground
945
+ php artisan schedule:list # List scheduled commands
946
+
947
+ # Storage
948
+ php artisan storage:link # Create symbolic link to storage
949
+
950
+ # Vendor publishing
951
+ php artisan vendor:publish # Publish vendor assets
952
+
953
+ # Route information
954
+ php artisan route:list # List all routes
955
+ php artisan route:list --except-vendor
956
+ php artisan route:list --path=api
957
+
958
+ # Custom commands
959
+ php artisan inspire # Display inspiring quote
20
960
  ```
21
961
 
22
- ## Tool Versions (2025-10-22)
962
+ ### Composer Configuration
963
+
964
+ ```json
965
+ {
966
+ "name": "your-org/laravel-app",
967
+ "type": "project",
968
+ "description": "Laravel 11 Application",
969
+ "keywords": ["laravel", "framework"],
970
+ "license": "MIT",
971
+ "require": {
972
+ "php": "^8.3",
973
+ "laravel/framework": "^11.0",
974
+ "laravel/sanctum": "^4.0",
975
+ "laravel/tinker": "^2.9"
976
+ },
977
+ "require-dev": {
978
+ "fakerphp/faker": "^1.23",
979
+ "laravel/pint": "^1.13",
980
+ "laravel/sail": "^1.26",
981
+ "mockery/mockery": "^1.6",
982
+ "nunomaduro/collision": "^8.0",
983
+ "pestphp/pest": "^2.34",
984
+ "pestphp/pest-plugin-laravel": "^2.3",
985
+ "phpstan/phpstan": "^1.10",
986
+ "phpunit/phpunit": "^11.0",
987
+ "spatie/laravel-ignition": "^2.4"
988
+ },
989
+ "autoload": {
990
+ "psr-4": {
991
+ "App\\": "app/",
992
+ "Database\\Factories\\": "database/factories/",
993
+ "Database\\Seeders\\": "database/seeders/"
994
+ }
995
+ },
996
+ "autoload-dev": {
997
+ "psr-4": {
998
+ "Tests\\": "tests/"
999
+ }
1000
+ },
1001
+ "scripts": {
1002
+ "post-autoload-dump": [
1003
+ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
1004
+ "@php artisan package:discover --ansi"
1005
+ ],
1006
+ "post-update-cmd": [
1007
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
1008
+ ],
1009
+ "post-root-package-install": [
1010
+ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
1011
+ ],
1012
+ "post-create-project-cmd": [
1013
+ "@php artisan key:generate --ansi",
1014
+ "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
1015
+ "@php artisan migrate --graceful --ansi"
1016
+ ],
1017
+ "test": "pest",
1018
+ "test:coverage": "pest --coverage",
1019
+ "pint": "pint",
1020
+ "stan": "phpstan analyse"
1021
+ },
1022
+ "extra": {
1023
+ "laravel": {
1024
+ "dont-discover": []
1025
+ }
1026
+ },
1027
+ "config": {
1028
+ "optimize-autoloader": true,
1029
+ "preferred-install": "dist",
1030
+ "sort-packages": true,
1031
+ "allow-plugins": {
1032
+ "pestphp/pest-plugin": true,
1033
+ "php-http/discovery": true
1034
+ }
1035
+ },
1036
+ "minimum-stability": "stable",
1037
+ "prefer-stable": true
1038
+ }
1039
+ ```
1040
+
1041
+ ### PHPStan Configuration
1042
+
1043
+ ```neon
1044
+ # phpstan.neon
1045
+ includes:
1046
+ - ./vendor/larastan/larastan/extension.neon
1047
+
1048
+ parameters:
1049
+ paths:
1050
+ - app
1051
+ - config
1052
+ - database
1053
+ - routes
1054
+ - tests
23
1055
 
24
- - **PHP**: 8.4.0
25
- - **PHPUnit**: 11.5.0
26
- - **Composer**: 2.8.0
1056
+ level: 6
1057
+
1058
+ ignoreErrors:
1059
+ - '#Unsafe usage of new static#'
1060
+
1061
+ excludePaths:
1062
+ - ./*/*/FileToBeExcluded.php
1063
+
1064
+ checkMissingIterableValueType: false
1065
+ ```
1066
+
1067
+ ### Laravel Pint Configuration
1068
+
1069
+ ```json
1070
+ {
1071
+ "preset": "laravel",
1072
+ "rules": {
1073
+ "array_syntax": {
1074
+ "syntax": "short"
1075
+ },
1076
+ "binary_operator_spaces": {
1077
+ "default": "single_space"
1078
+ },
1079
+ "blank_line_after_namespace": true,
1080
+ "blank_line_after_opening_tag": true,
1081
+ "blank_line_before_statement": {
1082
+ "statements": ["return"]
1083
+ },
1084
+ "braces": true,
1085
+ "cast_spaces": true,
1086
+ "class_attributes_separation": {
1087
+ "elements": {
1088
+ "method": "one"
1089
+ }
1090
+ },
1091
+ "concat_space": {
1092
+ "spacing": "none"
1093
+ },
1094
+ "declare_equal_normalize": true,
1095
+ "elseif": true,
1096
+ "encoding": true,
1097
+ "full_opening_tag": true,
1098
+ "function_declaration": true,
1099
+ "indentation_type": true,
1100
+ "line_ending": true,
1101
+ "lowercase_cast": true,
1102
+ "lowercase_keywords": true,
1103
+ "method_argument_space": {
1104
+ "on_multiline": "ensure_fully_multiline"
1105
+ },
1106
+ "native_function_casing": true,
1107
+ "no_blank_lines_after_class_opening": true,
1108
+ "no_closing_tag": true,
1109
+ "no_spaces_after_function_name": true,
1110
+ "no_spaces_inside_parenthesis": true,
1111
+ "no_trailing_whitespace": true,
1112
+ "no_trailing_whitespace_in_comment": true,
1113
+ "single_blank_line_at_eof": true,
1114
+ "single_class_element_per_statement": {
1115
+ "elements": ["property"]
1116
+ },
1117
+ "single_import_per_statement": true,
1118
+ "single_line_after_imports": true,
1119
+ "switch_case_semicolon_to_colon": true,
1120
+ "switch_case_space": true,
1121
+ "visibility_required": true,
1122
+ "ordered_imports": {
1123
+ "sort_algorithm": "alpha"
1124
+ }
1125
+ }
1126
+ }
1127
+ ```
1128
+
1129
+ ### Performance Optimization Tips
1130
+
1131
+ #### Eloquent Performance
1132
+
1133
+ ```php
1134
+ <?php
1135
+
1136
+ // Eager loading (N+1 query prevention)
1137
+ $users = User::with('posts', 'profile')->get();
1138
+ $users = User::with(['posts' => function ($query) {
1139
+ $query->where('published', true)->orderBy('created_at', 'desc');
1140
+ }])->get();
1141
+
1142
+ // Lazy eager loading
1143
+ $users = User::all();
1144
+ $users->load('posts');
1145
+
1146
+ // Preventing lazy loading in production
1147
+ Model::preventLazyLoading(!app()->isProduction());
1148
+
1149
+ // Chunk processing for large datasets
1150
+ User::chunk(100, function ($users) {
1151
+ foreach ($users as $user) {
1152
+ // Process user
1153
+ }
1154
+ });
1155
+
1156
+ // Cursor for memory efficiency
1157
+ foreach (User::cursor() as $user) {
1158
+ // Process user
1159
+ }
1160
+
1161
+ // Select specific columns
1162
+ User::select('id', 'name', 'email')->get();
1163
+
1164
+ // Count without loading
1165
+ $count = User::count();
1166
+ $max = User::max('age');
1167
+ $avg = User::avg('score');
1168
+
1169
+ // Exists check
1170
+ if (User::where('email', $email)->exists()) {
1171
+ // User exists
1172
+ }
1173
+ ```
1174
+
1175
+ #### Caching Strategies
1176
+
1177
+ ```php
1178
+ <?php
1179
+
1180
+ use Illuminate\Support\Facades\Cache;
1181
+
1182
+ // Cache::get with default
1183
+ $value = Cache::get('key', 'default');
1184
+
1185
+ // Cache::remember
1186
+ $users = Cache::remember('users.active', 3600, function () {
1187
+ return User::active()->get();
1188
+ });
1189
+
1190
+ // Cache::rememberForever
1191
+ $settings = Cache::rememberForever('settings', function () {
1192
+ return Setting::all();
1193
+ });
1194
+
1195
+ // Cache::put
1196
+ Cache::put('key', 'value', 3600);
1197
+ Cache::put('key', 'value', now()->addHours(1));
1198
+
1199
+ // Cache::forever
1200
+ Cache::forever('key', 'value');
1201
+
1202
+ // Cache::forget
1203
+ Cache::forget('key');
1204
+
1205
+ // Cache::flush (clear all)
1206
+ Cache::flush();
1207
+
1208
+ // Cache tags (Redis, Memcached only)
1209
+ Cache::tags(['users', 'active'])->put('key', 'value', 3600);
1210
+ $value = Cache::tags(['users'])->get('key');
1211
+ Cache::tags(['users'])->flush();
1212
+
1213
+ // Cache::increment / decrement
1214
+ Cache::increment('views', 1);
1215
+ Cache::decrement('stock', 5);
1216
+ ```
1217
+
1218
+ ---
1219
+
1220
+ ## Context7 Library Integration
1221
+
1222
+ ### Available PHP Libraries
1223
+
1224
+ | Library | Context7 ID | Topics |
1225
+ | ----------------- | ------------------------- | ----------------------------------------- |
1226
+ | Laravel Framework | /laravel/framework | eloquent, routing, middleware, validation |
1227
+ | Laravel Sanctum | /laravel/sanctum | API authentication, SPA authentication |
1228
+ | Laravel Horizon | /laravel/horizon | queue monitoring, job metrics |
1229
+ | Symfony | /symfony/symfony | components, bundles, services |
1230
+ | Doctrine ORM | /doctrine/orm | entities, repositories, DQL |
1231
+ | PHPUnit | /phpunit/phpunit | testing, assertions, mocking |
1232
+ | Pest PHP | /pestphp/pest | elegant testing, expectations |
1233
+ | Composer | /composer/composer | dependency management, autoloading |
1234
+ | Guzzle HTTP | /guzzlehttp/guzzle | HTTP client, requests, middleware |
1235
+ | Monolog | /Seldaek/monolog | logging, handlers, formatters |
1236
+ | Carbon | /briannesbitt/carbon | date/time manipulation |
1237
+ | PhpSpreadsheet | /PHPOffice/PhpSpreadsheet | Excel, CSV processing |
1238
+
1239
+ ### Usage Example
1240
+
1241
+ ```php
1242
+ // Step 1: Resolve library ID
1243
+ $libraryId = mcp__context7__resolve_library_id("laravel/framework");
1244
+ // Returns: /laravel/framework
1245
+
1246
+ // Step 2: Get documentation
1247
+ $docs = mcp__context7__get_library_docs(
1248
+ context7CompatibleLibraryID: "/laravel/framework",
1249
+ topic: "eloquent relationships eager loading",
1250
+ tokens: 5000
1251
+ );
1252
+ ```
1253
+
1254
+ ---
1255
+
1256
+ ## Security Best Practices
1257
+
1258
+ ### OWASP Top 10 Prevention
1259
+
1260
+ ```php
1261
+ <?php
1262
+
1263
+ // 1. SQL Injection Prevention
1264
+ // ✅ Use query builder or Eloquent
1265
+ User::where('email', $email)->first();
1266
+
1267
+ // ❌ Avoid raw queries with user input
1268
+ // DB::select("SELECT * FROM users WHERE email = '$email'");
1269
+
1270
+ // ✅ If raw query needed, use bindings
1271
+ DB::select('SELECT * FROM users WHERE email = ?', [$email]);
1272
+
1273
+ // 2. XSS Prevention
1274
+ // ✅ Blade auto-escapes
1275
+ {{ $userInput }}
1276
+
1277
+ // ✅ Raw output only for trusted content
1278
+ {!! $trustedHtml !!}
1279
+
1280
+ // 3. CSRF Protection (enabled by default)
1281
+ // ✅ Forms include CSRF token
1282
+ @csrf
1283
+
1284
+ // 4. Mass Assignment Protection
1285
+ // ✅ Use $fillable or $guarded
1286
+ protected $fillable = ['name', 'email'];
1287
+
1288
+ // 5. Authentication & Authorization
1289
+ // ✅ Use Laravel's built-in auth
1290
+ Auth::check()
1291
+ Gate::allows('update', $post)
1292
+ $this->authorize('update', $post)
1293
+
1294
+ // 6. Password Hashing
1295
+ // ✅ Use Hash facade or password cast
1296
+ Hash::make($password)
1297
+ protected $casts = ['password' => 'hashed'];
1298
+
1299
+ // 7. Rate Limiting
1300
+ // ✅ Apply rate limiting middleware
1301
+ Route::middleware('throttle:60,1')->group(function () {
1302
+ Route::get('/api/users', [UserController::class, 'index']);
1303
+ });
1304
+
1305
+ // 8. File Upload Validation
1306
+ // ✅ Validate file types and sizes
1307
+ $request->validate([
1308
+ 'file' => 'required|file|mimes:pdf,jpg,png|max:2048',
1309
+ ]);
1310
+
1311
+ // 9. Environment Variables
1312
+ // ✅ Never commit .env file
1313
+ // ✅ Use config() helper
1314
+ config('app.key')
1315
+
1316
+ // 10. Secure Headers
1317
+ // ✅ Add security headers middleware
1318
+ ```
27
1319
 
28
1320
  ---
29
1321
 
30
- _For detailed usage, see SKILL.md_
1322
+ Last Updated: 2026-01-10
1323
+ Version: 1.0.0