moai-adk 0.35.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (502) hide show
  1. moai_adk/__init__.py +10 -0
  2. moai_adk/__main__.py +199 -0
  3. moai_adk/cli/__init__.py +6 -0
  4. moai_adk/cli/commands/__init__.py +17 -0
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +272 -0
  7. moai_adk/cli/commands/init.py +372 -0
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +104 -0
  10. moai_adk/cli/commands/update.py +2686 -0
  11. moai_adk/cli/main.py +13 -0
  12. moai_adk/cli/prompts/__init__.py +5 -0
  13. moai_adk/cli/prompts/init_prompts.py +219 -0
  14. moai_adk/cli/spec_status.py +263 -0
  15. moai_adk/cli/ui/__init__.py +44 -0
  16. moai_adk/cli/ui/progress.py +422 -0
  17. moai_adk/cli/ui/prompts.py +389 -0
  18. moai_adk/cli/ui/theme.py +129 -0
  19. moai_adk/cli/worktree/__init__.py +27 -0
  20. moai_adk/cli/worktree/__main__.py +31 -0
  21. moai_adk/cli/worktree/cli.py +683 -0
  22. moai_adk/cli/worktree/exceptions.py +89 -0
  23. moai_adk/cli/worktree/manager.py +493 -0
  24. moai_adk/cli/worktree/models.py +65 -0
  25. moai_adk/cli/worktree/registry.py +422 -0
  26. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  27. moai_adk/core/__init__.py +1 -0
  28. moai_adk/core/analysis/__init__.py +9 -0
  29. moai_adk/core/analysis/session_analyzer.py +400 -0
  30. moai_adk/core/claude_integration.py +393 -0
  31. moai_adk/core/command_helpers.py +270 -0
  32. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  33. moai_adk/core/config/__init__.py +19 -0
  34. moai_adk/core/config/auto_spec_config.py +340 -0
  35. moai_adk/core/config/migration.py +244 -0
  36. moai_adk/core/config/unified.py +436 -0
  37. moai_adk/core/context_manager.py +273 -0
  38. moai_adk/core/diagnostics/__init__.py +19 -0
  39. moai_adk/core/diagnostics/slash_commands.py +159 -0
  40. moai_adk/core/enterprise_features.py +1404 -0
  41. moai_adk/core/error_recovery_system.py +1902 -0
  42. moai_adk/core/event_driven_hook_system.py +1371 -0
  43. moai_adk/core/git/__init__.py +31 -0
  44. moai_adk/core/git/branch.py +25 -0
  45. moai_adk/core/git/branch_manager.py +129 -0
  46. moai_adk/core/git/checkpoint.py +134 -0
  47. moai_adk/core/git/commit.py +67 -0
  48. moai_adk/core/git/conflict_detector.py +413 -0
  49. moai_adk/core/git/event_detector.py +79 -0
  50. moai_adk/core/git/manager.py +216 -0
  51. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  52. moai_adk/core/input_validation_middleware.py +1006 -0
  53. moai_adk/core/integration/__init__.py +22 -0
  54. moai_adk/core/integration/engine.py +157 -0
  55. moai_adk/core/integration/integration_tester.py +226 -0
  56. moai_adk/core/integration/models.py +88 -0
  57. moai_adk/core/integration/utils.py +211 -0
  58. moai_adk/core/issue_creator.py +305 -0
  59. moai_adk/core/jit_context_loader.py +956 -0
  60. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  61. moai_adk/core/language_config.py +202 -0
  62. moai_adk/core/language_config_resolver.py +572 -0
  63. moai_adk/core/language_validator.py +543 -0
  64. moai_adk/core/mcp/setup.py +116 -0
  65. moai_adk/core/merge/__init__.py +9 -0
  66. moai_adk/core/merge/analyzer.py +605 -0
  67. moai_adk/core/migration/__init__.py +18 -0
  68. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  69. moai_adk/core/migration/backup_manager.py +277 -0
  70. moai_adk/core/migration/custom_element_scanner.py +358 -0
  71. moai_adk/core/migration/file_migrator.py +209 -0
  72. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  73. moai_adk/core/migration/selective_restorer.py +470 -0
  74. moai_adk/core/migration/template_utils.py +74 -0
  75. moai_adk/core/migration/user_selection_ui.py +338 -0
  76. moai_adk/core/migration/version_detector.py +139 -0
  77. moai_adk/core/migration/version_migrator.py +228 -0
  78. moai_adk/core/performance/__init__.py +6 -0
  79. moai_adk/core/performance/cache_system.py +316 -0
  80. moai_adk/core/performance/parallel_processor.py +116 -0
  81. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  82. moai_adk/core/project/__init__.py +1 -0
  83. moai_adk/core/project/backup_utils.py +70 -0
  84. moai_adk/core/project/checker.py +300 -0
  85. moai_adk/core/project/detector.py +293 -0
  86. moai_adk/core/project/initializer.py +387 -0
  87. moai_adk/core/project/phase_executor.py +716 -0
  88. moai_adk/core/project/validator.py +139 -0
  89. moai_adk/core/quality/__init__.py +6 -0
  90. moai_adk/core/quality/trust_checker.py +377 -0
  91. moai_adk/core/quality/validators/__init__.py +6 -0
  92. moai_adk/core/quality/validators/base_validator.py +19 -0
  93. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  94. moai_adk/core/robust_json_parser.py +611 -0
  95. moai_adk/core/rollback_manager.py +918 -0
  96. moai_adk/core/session_manager.py +651 -0
  97. moai_adk/core/skill_loading_system.py +579 -0
  98. moai_adk/core/spec/confidence_scoring.py +680 -0
  99. moai_adk/core/spec/ears_template_engine.py +1247 -0
  100. moai_adk/core/spec/quality_validator.py +687 -0
  101. moai_adk/core/spec_status_manager.py +478 -0
  102. moai_adk/core/template/__init__.py +7 -0
  103. moai_adk/core/template/backup.py +174 -0
  104. moai_adk/core/template/config.py +191 -0
  105. moai_adk/core/template/languages.py +43 -0
  106. moai_adk/core/template/merger.py +233 -0
  107. moai_adk/core/template/processor.py +1200 -0
  108. moai_adk/core/template_engine.py +310 -0
  109. moai_adk/core/template_variable_synchronizer.py +417 -0
  110. moai_adk/core/unified_permission_manager.py +745 -0
  111. moai_adk/core/user_behavior_analytics.py +851 -0
  112. moai_adk/core/version_sync.py +429 -0
  113. moai_adk/foundation/__init__.py +56 -0
  114. moai_adk/foundation/backend.py +1027 -0
  115. moai_adk/foundation/database.py +1115 -0
  116. moai_adk/foundation/devops.py +1585 -0
  117. moai_adk/foundation/ears.py +431 -0
  118. moai_adk/foundation/frontend.py +870 -0
  119. moai_adk/foundation/git/commit_templates.py +557 -0
  120. moai_adk/foundation/git.py +376 -0
  121. moai_adk/foundation/langs.py +484 -0
  122. moai_adk/foundation/ml_ops.py +1162 -0
  123. moai_adk/foundation/testing.py +1524 -0
  124. moai_adk/foundation/trust/trust_principles.py +676 -0
  125. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  126. moai_adk/project/__init__.py +0 -0
  127. moai_adk/project/configuration.py +1084 -0
  128. moai_adk/project/documentation.py +566 -0
  129. moai_adk/project/schema.py +447 -0
  130. moai_adk/statusline/__init__.py +38 -0
  131. moai_adk/statusline/alfred_detector.py +105 -0
  132. moai_adk/statusline/config.py +376 -0
  133. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  134. moai_adk/statusline/git_collector.py +190 -0
  135. moai_adk/statusline/main.py +322 -0
  136. moai_adk/statusline/metrics_tracker.py +78 -0
  137. moai_adk/statusline/renderer.py +343 -0
  138. moai_adk/statusline/update_checker.py +129 -0
  139. moai_adk/statusline/version_reader.py +741 -0
  140. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
  141. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  142. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  143. moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
  144. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  145. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  146. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  147. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  148. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  149. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  150. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  151. moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
  152. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  153. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  154. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  155. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  156. moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
  157. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  158. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  159. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  160. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  161. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  164. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  165. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  166. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  167. moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
  168. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  169. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  170. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  171. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  172. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  173. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  185. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  186. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  187. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  188. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  189. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
  190. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  191. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  192. moai_adk/templates/.claude/settings.json +172 -0
  193. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
  194. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  195. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  196. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  200. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  201. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  202. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  203. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  204. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  205. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
  206. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  207. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  210. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  211. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  212. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  213. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  214. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  215. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
  216. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  217. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  221. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  222. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  223. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  224. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  230. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  231. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  232. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  233. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  280. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  281. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  282. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  283. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  284. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
  285. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
  286. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  287. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  288. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  289. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  290. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
  291. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  292. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  293. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
  294. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  295. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
  297. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  298. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
  304. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
  305. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
  306. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  307. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  308. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
  309. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  310. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  311. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
  312. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  313. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  314. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
  315. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  316. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  318. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  319. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  320. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  321. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  331. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  332. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  333. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  334. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  338. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  339. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  340. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  341. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  342. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  343. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  344. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  345. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  346. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
  347. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  348. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  349. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  350. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  351. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  352. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  353. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  354. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  355. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  356. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  357. moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
  358. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
  359. moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
  360. moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
  361. moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
  362. moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
  363. moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
  364. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
  365. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
  366. moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
  367. moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
  368. moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
  369. moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
  370. moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
  371. moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
  372. moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
  373. moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
  374. moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
  375. moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
  376. moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
  377. moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
  378. moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
  379. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
  380. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
  381. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
  382. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
  383. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
  384. moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
  385. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
  386. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
  387. moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
  388. moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
  389. moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
  390. moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
  391. moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  433. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  458. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  459. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  460. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  461. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  462. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  463. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  464. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  465. moai_adk/templates/.git-hooks/pre-commit +128 -0
  466. moai_adk/templates/.git-hooks/pre-push +365 -0
  467. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  468. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  469. moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
  470. moai_adk/templates/.gitignore +222 -0
  471. moai_adk/templates/.mcp.json +13 -0
  472. moai_adk/templates/.moai/config/config.yaml +58 -0
  473. moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
  474. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  475. moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
  476. moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
  477. moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
  478. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
  479. moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
  480. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  481. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  482. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  483. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  484. moai_adk/templates/.moai/config/sections/system.yaml +24 -0
  485. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  486. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  487. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  488. moai_adk/templates/CLAUDE.md +642 -0
  489. moai_adk/utils/__init__.py +30 -0
  490. moai_adk/utils/banner.py +38 -0
  491. moai_adk/utils/common.py +294 -0
  492. moai_adk/utils/link_validator.py +241 -0
  493. moai_adk/utils/logger.py +147 -0
  494. moai_adk/utils/safe_file_reader.py +206 -0
  495. moai_adk/utils/timeout.py +160 -0
  496. moai_adk/utils/toon_utils.py +256 -0
  497. moai_adk/version.py +22 -0
  498. moai_adk-0.35.1.dist-info/METADATA +3018 -0
  499. moai_adk-0.35.1.dist-info/RECORD +502 -0
  500. moai_adk-0.35.1.dist-info/WHEEL +4 -0
  501. moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
  502. moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,737 @@
1
+ # Go 1.23+ Complete Reference
2
+
3
+ Comprehensive reference for Go development with modern frameworks and patterns.
4
+
5
+ ---
6
+
7
+ ## Go 1.23 Language Features
8
+
9
+ ### Range Over Integers
10
+
11
+ ```go
12
+ // Iterate 0 to n-1
13
+ for i := range 10 {
14
+ fmt.Println(i) // 0, 1, 2, ..., 9
15
+ }
16
+
17
+ // Traditional range still works
18
+ for i, v := range slice {
19
+ fmt.Printf("%d: %v\n", i, v)
20
+ }
21
+ ```
22
+
23
+ ### Improved Generics
24
+
25
+ ```go
26
+ // Generic Map function
27
+ func Map[T, U any](slice []T, fn func(T) U) []U {
28
+ result := make([]U, len(slice))
29
+ for i, v := range slice {
30
+ result[i] = fn(v)
31
+ }
32
+ return result
33
+ }
34
+
35
+ // Type constraint with comparable
36
+ func Contains[T comparable](slice []T, item T) bool {
37
+ for _, v := range slice {
38
+ if v == item {
39
+ return true
40
+ }
41
+ }
42
+ return false
43
+ }
44
+
45
+ // Multiple type constraints
46
+ type Number interface {
47
+ int | int32 | int64 | float32 | float64
48
+ }
49
+
50
+ func Sum[T Number](slice []T) T {
51
+ var sum T
52
+ for _, v := range slice {
53
+ sum += v
54
+ }
55
+ return sum
56
+ }
57
+ ```
58
+
59
+ ### Error Handling Patterns
60
+
61
+ ```go
62
+ // Sentinel errors
63
+ var (
64
+ ErrNotFound = errors.New("not found")
65
+ ErrInvalid = errors.New("invalid")
66
+ )
67
+
68
+ // Custom error types
69
+ type ValidationError struct {
70
+ Field string
71
+ Message string
72
+ }
73
+
74
+ func (e ValidationError) Error() string {
75
+ return fmt.Sprintf("%s: %s", e.Field, e.Message)
76
+ }
77
+
78
+ // Error wrapping
79
+ func fetchUser(id int64) (*User, error) {
80
+ user, err := db.FindByID(id)
81
+ if err != nil {
82
+ return nil, fmt.Errorf("fetch user %d: %w", id, err)
83
+ }
84
+ return user, nil
85
+ }
86
+
87
+ // Error checking
88
+ if errors.Is(err, ErrNotFound) {
89
+ // Handle not found
90
+ }
91
+
92
+ var validErr ValidationError
93
+ if errors.As(err, &validErr) {
94
+ // Handle validation error
95
+ }
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Web Framework: Fiber v3
101
+
102
+ ### Installation
103
+
104
+ ```bash
105
+ go get github.com/gofiber/fiber/v3
106
+ go get github.com/gofiber/fiber/v3/middleware/cors
107
+ go get github.com/gofiber/fiber/v3/middleware/logger
108
+ go get github.com/gofiber/fiber/v3/middleware/recover
109
+ go get github.com/gofiber/fiber/v3/middleware/limiter
110
+ ```
111
+
112
+ ### Complete Application Structure
113
+
114
+ ```go
115
+ package main
116
+
117
+ import (
118
+ "time"
119
+ "github.com/gofiber/fiber/v3"
120
+ "github.com/gofiber/fiber/v3/middleware/cors"
121
+ "github.com/gofiber/fiber/v3/middleware/logger"
122
+ "github.com/gofiber/fiber/v3/middleware/recover"
123
+ "github.com/gofiber/fiber/v3/middleware/limiter"
124
+ )
125
+
126
+ func main() {
127
+ app := fiber.New(fiber.Config{
128
+ ErrorHandler: customErrorHandler,
129
+ Prefork: true,
130
+ ReadTimeout: 10 * time.Second,
131
+ WriteTimeout: 10 * time.Second,
132
+ IdleTimeout: 120 * time.Second,
133
+ })
134
+
135
+ // Middleware stack
136
+ app.Use(recover.New())
137
+ app.Use(logger.New(logger.Config{
138
+ Format: "[${time}] ${status} - ${method} ${path}\n",
139
+ }))
140
+ app.Use(cors.New(cors.Config{
141
+ AllowOrigins: []string{"*"},
142
+ AllowMethods: []string{"GET", "POST", "PUT", "DELETE"},
143
+ }))
144
+ app.Use(limiter.New(limiter.Config{
145
+ Max: 100,
146
+ Expiration: time.Minute,
147
+ }))
148
+
149
+ // Routes
150
+ api := app.Group("/api/v1")
151
+ api.Get("/users", listUsers)
152
+ api.Get("/users/:id", getUser)
153
+ api.Post("/users", createUser)
154
+ api.Put("/users/:id", updateUser)
155
+ api.Delete("/users/:id", deleteUser)
156
+
157
+ app.Listen(":3000")
158
+ }
159
+
160
+ func customErrorHandler(c fiber.Ctx, err error) error {
161
+ code := fiber.StatusInternalServerError
162
+ message := "Internal Server Error"
163
+
164
+ if e, ok := err.(*fiber.Error); ok {
165
+ code = e.Code
166
+ message = e.Message
167
+ }
168
+
169
+ return c.Status(code).JSON(fiber.Map{"error": message})
170
+ }
171
+ ```
172
+
173
+ ### Request Handling
174
+
175
+ ```go
176
+ // Path parameters
177
+ func getUser(c fiber.Ctx) error {
178
+ id, err := c.ParamsInt("id")
179
+ if err != nil {
180
+ return fiber.NewError(fiber.StatusBadRequest, "Invalid ID")
181
+ }
182
+ return c.JSON(fiber.Map{"id": id})
183
+ }
184
+
185
+ // Query parameters
186
+ func listUsers(c fiber.Ctx) error {
187
+ limit := c.QueryInt("limit", 10)
188
+ offset := c.QueryInt("offset", 0)
189
+ sort := c.Query("sort", "created_at")
190
+ return c.JSON(fiber.Map{"limit": limit, "offset": offset})
191
+ }
192
+
193
+ // Request body
194
+ type CreateUserRequest struct {
195
+ Name string `json:"name"`
196
+ Email string `json:"email"`
197
+ }
198
+
199
+ func createUser(c fiber.Ctx) error {
200
+ var req CreateUserRequest
201
+ if err := c.BodyParser(&req); err != nil {
202
+ return fiber.NewError(fiber.StatusBadRequest, "Invalid body")
203
+ }
204
+ return c.Status(fiber.StatusCreated).JSON(req)
205
+ }
206
+
207
+ // Headers
208
+ func authenticated(c fiber.Ctx) error {
209
+ token := c.Get("Authorization")
210
+ if token == "" {
211
+ return fiber.NewError(fiber.StatusUnauthorized, "Missing token")
212
+ }
213
+ return c.Next()
214
+ }
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Web Framework: Gin
220
+
221
+ ### Installation
222
+
223
+ ```bash
224
+ go get -u github.com/gin-gonic/gin
225
+ go get -u github.com/gin-contrib/cors
226
+ go get -u github.com/gin-contrib/zap
227
+ ```
228
+
229
+ ### Complete Application Structure
230
+
231
+ ```go
232
+ package main
233
+
234
+ import (
235
+ "net/http"
236
+ "github.com/gin-gonic/gin"
237
+ "github.com/gin-contrib/cors"
238
+ )
239
+
240
+ func main() {
241
+ r := gin.Default()
242
+
243
+ // CORS configuration
244
+ r.Use(cors.New(cors.Config{
245
+ AllowOrigins: []string{"*"},
246
+ AllowMethods: []string{"GET", "POST", "PUT", "DELETE"},
247
+ AllowHeaders: []string{"Origin", "Content-Type", "Authorization"},
248
+ ExposeHeaders: []string{"Content-Length"},
249
+ AllowCredentials: true,
250
+ }))
251
+
252
+ // Routes
253
+ api := r.Group("/api/v1")
254
+ {
255
+ users := api.Group("/users")
256
+ {
257
+ users.GET("", listUsers)
258
+ users.GET("/:id", getUser)
259
+ users.POST("", createUser)
260
+ users.PUT("/:id", updateUser)
261
+ users.DELETE("/:id", deleteUser)
262
+ }
263
+ }
264
+
265
+ r.Run(":3000")
266
+ }
267
+ ```
268
+
269
+ ### Request Handling
270
+
271
+ ```go
272
+ // Path parameters
273
+ func getUser(c *gin.Context) {
274
+ id := c.Param("id")
275
+ c.JSON(http.StatusOK, gin.H{"id": id})
276
+ }
277
+
278
+ // Query parameters
279
+ func listUsers(c *gin.Context) {
280
+ limit := c.DefaultQuery("limit", "10")
281
+ offset := c.DefaultQuery("offset", "0")
282
+ c.JSON(http.StatusOK, gin.H{"limit": limit, "offset": offset})
283
+ }
284
+
285
+ // Request binding with validation
286
+ type CreateUserRequest struct {
287
+ Name string `json:"name" binding:"required,min=2,max=100"`
288
+ Email string `json:"email" binding:"required,email"`
289
+ Age int `json:"age" binding:"gte=0,lte=150"`
290
+ }
291
+
292
+ func createUser(c *gin.Context) {
293
+ var req CreateUserRequest
294
+ if err := c.ShouldBindJSON(&req); err != nil {
295
+ c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
296
+ return
297
+ }
298
+ c.JSON(http.StatusCreated, req)
299
+ }
300
+
301
+ // Custom validation
302
+ type UpdateUserRequest struct {
303
+ Name string `json:"name" binding:"omitempty,min=2"`
304
+ Email string `json:"email" binding:"omitempty,email"`
305
+ }
306
+ ```
307
+
308
+ ### Middleware
309
+
310
+ ```go
311
+ // Authentication middleware
312
+ func AuthMiddleware() gin.HandlerFunc {
313
+ return func(c *gin.Context) {
314
+ token := c.GetHeader("Authorization")
315
+ if token == "" {
316
+ c.AbortWithStatusJSON(http.StatusUnauthorized, gin.H{
317
+ "error": "Missing authorization token",
318
+ })
319
+ return
320
+ }
321
+ // Validate token
322
+ c.Set("user_id", 123)
323
+ c.Next()
324
+ }
325
+ }
326
+
327
+ // Logging middleware
328
+ func LoggingMiddleware() gin.HandlerFunc {
329
+ return func(c *gin.Context) {
330
+ start := time.Now()
331
+ c.Next()
332
+ duration := time.Since(start)
333
+ log.Printf("%s %s %d %v", c.Request.Method, c.Request.URL.Path,
334
+ c.Writer.Status(), duration)
335
+ }
336
+ }
337
+
338
+ // Usage
339
+ api.Use(AuthMiddleware())
340
+ ```
341
+
342
+ ---
343
+
344
+ ## ORM: GORM 1.25
345
+
346
+ ### Installation
347
+
348
+ ```bash
349
+ go get -u gorm.io/gorm
350
+ go get -u gorm.io/driver/postgres
351
+ go get -u gorm.io/driver/mysql
352
+ go get -u gorm.io/driver/sqlite
353
+ ```
354
+
355
+ ### Connection Setup
356
+
357
+ ```go
358
+ import (
359
+ "gorm.io/gorm"
360
+ "gorm.io/driver/postgres"
361
+ )
362
+
363
+ func NewDB(dsn string) (*gorm.DB, error) {
364
+ db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
365
+ PrepareStmt: true,
366
+ Logger: logger.Default.LogMode(logger.Info),
367
+ })
368
+ if err != nil {
369
+ return nil, err
370
+ }
371
+
372
+ sqlDB, _ := db.DB()
373
+ sqlDB.SetMaxIdleConns(10)
374
+ sqlDB.SetMaxOpenConns(100)
375
+ sqlDB.SetConnMaxLifetime(time.Hour)
376
+
377
+ return db, nil
378
+ }
379
+ ```
380
+
381
+ ### Model Definitions
382
+
383
+ ```go
384
+ type User struct {
385
+ gorm.Model
386
+ Name string `gorm:"uniqueIndex;not null;size:255"`
387
+ Email string `gorm:"uniqueIndex;not null;size:255"`
388
+ Age int `gorm:"default:0;check:age >= 0"`
389
+ Birthday time.Time `gorm:"type:date"`
390
+ Profile Profile `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL"`
391
+ Posts []Post `gorm:"foreignKey:AuthorID"`
392
+ Roles []Role `gorm:"many2many:user_roles"`
393
+ }
394
+
395
+ type Profile struct {
396
+ gorm.Model
397
+ UserID uint `gorm:"uniqueIndex"`
398
+ Bio string `gorm:"type:text"`
399
+ Avatar string
400
+ }
401
+
402
+ type Post struct {
403
+ gorm.Model
404
+ Title string `gorm:"size:255;not null"`
405
+ Content string `gorm:"type:text"`
406
+ AuthorID uint `gorm:"index"`
407
+ Tags []Tag `gorm:"many2many:post_tags"`
408
+ }
409
+
410
+ type Role struct {
411
+ gorm.Model
412
+ Name string `gorm:"uniqueIndex;size:100"`
413
+ Permissions []Permission `gorm:"many2many:role_permissions"`
414
+ }
415
+ ```
416
+
417
+ ### Query Patterns
418
+
419
+ ```go
420
+ // Basic queries
421
+ var user User
422
+ db.First(&user, 1)
423
+ db.First(&user, "email = ?", "john@example.com")
424
+
425
+ var users []User
426
+ db.Find(&users)
427
+ db.Where("age > ?", 18).Find(&users)
428
+ db.Where("name LIKE ?", "%John%").Find(&users)
429
+
430
+ // Preloading associations
431
+ db.Preload("Posts").First(&user, 1)
432
+ db.Preload("Posts", func(db *gorm.DB) *gorm.DB {
433
+ return db.Order("posts.created_at DESC").Limit(10)
434
+ }).Preload("Profile").First(&user, 1)
435
+
436
+ // Pagination
437
+ var users []User
438
+ db.Limit(10).Offset(20).Find(&users)
439
+
440
+ // Ordering
441
+ db.Order("created_at DESC").Find(&users)
442
+
443
+ // Select specific fields
444
+ db.Select("id", "name", "email").Find(&users)
445
+
446
+ // Transactions
447
+ db.Transaction(func(tx *gorm.DB) error {
448
+ if err := tx.Create(&user).Error; err != nil {
449
+ return err
450
+ }
451
+ if err := tx.Create(&profile).Error; err != nil {
452
+ return err
453
+ }
454
+ return nil
455
+ })
456
+
457
+ // Batch operations
458
+ db.CreateInBatches(users, 100)
459
+
460
+ // Raw SQL
461
+ var result struct {
462
+ Count int
463
+ }
464
+ db.Raw("SELECT COUNT(*) as count FROM users WHERE age > ?", 18).Scan(&result)
465
+ ```
466
+
467
+ ---
468
+
469
+ ## PostgreSQL Driver: pgx
470
+
471
+ ### Connection Pool
472
+
473
+ ```go
474
+ import "github.com/jackc/pgx/v5/pgxpool"
475
+
476
+ func NewPool(ctx context.Context, connString string) (*pgxpool.Pool, error) {
477
+ config, err := pgxpool.ParseConfig(connString)
478
+ if err != nil {
479
+ return nil, err
480
+ }
481
+
482
+ config.MaxConns = 25
483
+ config.MinConns = 5
484
+ config.MaxConnLifetime = time.Hour
485
+ config.MaxConnIdleTime = 30 * time.Minute
486
+ config.HealthCheckPeriod = time.Minute
487
+
488
+ return pgxpool.NewWithConfig(ctx, config)
489
+ }
490
+ ```
491
+
492
+ ### Query Patterns
493
+
494
+ ```go
495
+ // Single row
496
+ var user User
497
+ err := pool.QueryRow(ctx,
498
+ "SELECT id, name, email FROM users WHERE id = $1", id).
499
+ Scan(&user.ID, &user.Name, &user.Email)
500
+
501
+ // Multiple rows
502
+ rows, err := pool.Query(ctx,
503
+ "SELECT id, name, email FROM users ORDER BY created_at DESC LIMIT $1", 10)
504
+ defer rows.Close()
505
+
506
+ var users []User
507
+ for rows.Next() {
508
+ var u User
509
+ if err := rows.Scan(&u.ID, &u.Name, &u.Email); err != nil {
510
+ return nil, err
511
+ }
512
+ users = append(users, u)
513
+ }
514
+
515
+ // Execute
516
+ result, err := pool.Exec(ctx,
517
+ "UPDATE users SET name = $2 WHERE id = $1", id, name)
518
+ rowsAffected := result.RowsAffected()
519
+
520
+ // Transaction
521
+ tx, err := pool.Begin(ctx)
522
+ defer tx.Rollback(ctx)
523
+
524
+ _, err = tx.Exec(ctx, "INSERT INTO users (name, email) VALUES ($1, $2)", name, email)
525
+ if err != nil {
526
+ return err
527
+ }
528
+
529
+ err = tx.Commit(ctx)
530
+ ```
531
+
532
+ ---
533
+
534
+ ## Concurrency Patterns
535
+
536
+ ### Errgroup for Structured Concurrency
537
+
538
+ ```go
539
+ import "golang.org/x/sync/errgroup"
540
+
541
+ func fetchAllData(ctx context.Context) (*AllData, error) {
542
+ g, ctx := errgroup.WithContext(ctx)
543
+
544
+ var users []User
545
+ var orders []Order
546
+ var products []Product
547
+
548
+ g.Go(func() error {
549
+ var err error
550
+ users, err = fetchUsers(ctx)
551
+ return err
552
+ })
553
+
554
+ g.Go(func() error {
555
+ var err error
556
+ orders, err = fetchOrders(ctx)
557
+ return err
558
+ })
559
+
560
+ g.Go(func() error {
561
+ var err error
562
+ products, err = fetchProducts(ctx)
563
+ return err
564
+ })
565
+
566
+ if err := g.Wait(); err != nil {
567
+ return nil, err
568
+ }
569
+
570
+ return &AllData{Users: users, Orders: orders, Products: products}, nil
571
+ }
572
+ ```
573
+
574
+ ### Semaphore for Rate Limiting
575
+
576
+ ```go
577
+ import "golang.org/x/sync/semaphore"
578
+
579
+ var sem = semaphore.NewWeighted(10)
580
+
581
+ func processWithLimit(ctx context.Context, items []Item) error {
582
+ g, ctx := errgroup.WithContext(ctx)
583
+
584
+ for _, item := range items {
585
+ item := item
586
+ g.Go(func() error {
587
+ if err := sem.Acquire(ctx, 1); err != nil {
588
+ return err
589
+ }
590
+ defer sem.Release(1)
591
+ return processItem(ctx, item)
592
+ })
593
+ }
594
+
595
+ return g.Wait()
596
+ }
597
+ ```
598
+
599
+ ### Worker Pool
600
+
601
+ ```go
602
+ func workerPool(ctx context.Context, jobs <-chan Job, numWorkers int) <-chan Result {
603
+ results := make(chan Result, 100)
604
+
605
+ var wg sync.WaitGroup
606
+ for i := 0; i < numWorkers; i++ {
607
+ wg.Add(1)
608
+ go func(workerID int) {
609
+ defer wg.Done()
610
+ for job := range jobs {
611
+ select {
612
+ case <-ctx.Done():
613
+ return
614
+ default:
615
+ results <- processJob(job)
616
+ }
617
+ }
618
+ }(i)
619
+ }
620
+
621
+ go func() {
622
+ wg.Wait()
623
+ close(results)
624
+ }()
625
+
626
+ return results
627
+ }
628
+ ```
629
+
630
+ ---
631
+
632
+ ## CLI: Cobra with Viper
633
+
634
+ ### Complete CLI Structure
635
+
636
+ ```go
637
+ import (
638
+ "github.com/spf13/cobra"
639
+ "github.com/spf13/viper"
640
+ )
641
+
642
+ var cfgFile string
643
+
644
+ var rootCmd = &cobra.Command{
645
+ Use: "myctl",
646
+ Short: "My CLI tool",
647
+ PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
648
+ return initConfig()
649
+ },
650
+ }
651
+
652
+ func init() {
653
+ rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file")
654
+ rootCmd.PersistentFlags().String("database-url", "", "database connection")
655
+
656
+ viper.BindPFlag("database.url", rootCmd.PersistentFlags().Lookup("database-url"))
657
+ viper.SetEnvPrefix("MYCTL")
658
+ viper.AutomaticEnv()
659
+ }
660
+
661
+ func initConfig() error {
662
+ if cfgFile != "" {
663
+ viper.SetConfigFile(cfgFile)
664
+ } else {
665
+ home, _ := os.UserHomeDir()
666
+ viper.AddConfigPath(home)
667
+ viper.SetConfigName(".myctl")
668
+ }
669
+ return viper.ReadInConfig()
670
+ }
671
+ ```
672
+
673
+ ---
674
+
675
+ ## Context7 Library Mappings
676
+
677
+ ### Core Language and Tools
678
+
679
+ - `/golang/go` - Go language and stdlib
680
+ - `/golang/tools` - Go tools (gopls, goimports)
681
+
682
+ ### Web Frameworks
683
+
684
+ - `/gofiber/fiber` - Fiber v3 web framework
685
+ - `/gin-gonic/gin` - Gin web framework
686
+ - `/labstack/echo` - Echo 4.13 web framework
687
+ - `/go-chi/chi` - Chi router
688
+
689
+ ### Database
690
+
691
+ - `/go-gorm/gorm` - GORM ORM
692
+ - `/sqlc-dev/sqlc` - Type-safe SQL generator
693
+ - `/jackc/pgx` - PostgreSQL driver
694
+ - `/jmoiron/sqlx` - SQL extensions
695
+
696
+ ### Testing
697
+
698
+ - `/stretchr/testify` - Testing toolkit
699
+ - `/golang/mock` - Mocking framework
700
+
701
+ ### CLI
702
+
703
+ - `/spf13/cobra` - CLI framework
704
+ - `/spf13/viper` - Configuration
705
+
706
+ ### Concurrency
707
+
708
+ - `/golang/sync` - Sync primitives (errgroup, semaphore)
709
+
710
+ ---
711
+
712
+ ## Performance Characteristics
713
+
714
+ ### Startup Time
715
+
716
+ - Fast: 10-50ms typical startup
717
+
718
+ ### Memory Usage
719
+
720
+ - Low: 10-50MB base memory footprint
721
+
722
+ ### Throughput
723
+
724
+ - High: 50k-100k requests/second typical
725
+
726
+ ### Latency
727
+
728
+ - Low: p99 less than 10ms for most APIs
729
+
730
+ ### Container Image Size
731
+
732
+ - 10-20MB with scratch base image
733
+
734
+ ---
735
+
736
+ Last Updated: 2025-12-07
737
+ Version: 1.0.0