moai-adk 0.15.0__py3-none-any.whl → 0.25.4__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 (417) hide show
  1. moai_adk/__init__.py +1 -2
  2. moai_adk/__main__.py +85 -2
  3. moai_adk/cli/__init__.py +0 -1
  4. moai_adk/cli/commands/__init__.py +0 -1
  5. moai_adk/cli/commands/analyze.py +127 -0
  6. moai_adk/cli/commands/backup.py +5 -3
  7. moai_adk/cli/commands/doctor.py +35 -11
  8. moai_adk/cli/commands/improve_user_experience.py +348 -0
  9. moai_adk/cli/commands/init.py +150 -23
  10. moai_adk/cli/commands/language.py +269 -0
  11. moai_adk/cli/commands/migrate.py +158 -0
  12. moai_adk/cli/commands/status.py +13 -12
  13. moai_adk/cli/commands/update.py +364 -60
  14. moai_adk/cli/commands/validate_links.py +118 -0
  15. moai_adk/cli/main.py +3 -2
  16. moai_adk/cli/prompts/init_prompts.py +79 -82
  17. moai_adk/core/__init__.py +0 -1
  18. moai_adk/core/analysis/__init__.py +9 -0
  19. moai_adk/core/analysis/session_analyzer.py +439 -0
  20. moai_adk/core/claude_integration.py +421 -0
  21. moai_adk/core/command_helpers.py +270 -0
  22. moai_adk/core/config/__init__.py +6 -0
  23. moai_adk/core/config/auto_spec_config.py +346 -0
  24. moai_adk/core/config/migration.py +133 -12
  25. moai_adk/core/context_manager.py +279 -0
  26. moai_adk/core/diagnostics/slash_commands.py +0 -1
  27. moai_adk/core/error_recovery_system.py +1289 -0
  28. moai_adk/core/git/__init__.py +0 -1
  29. moai_adk/core/git/branch.py +0 -1
  30. moai_adk/core/git/branch_manager.py +4 -4
  31. moai_adk/core/git/checkpoint.py +1 -5
  32. moai_adk/core/git/commit.py +0 -1
  33. moai_adk/core/git/event_detector.py +3 -5
  34. moai_adk/core/git/manager.py +0 -1
  35. moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
  36. moai_adk/core/integration/__init__.py +22 -0
  37. moai_adk/core/integration/engine.py +169 -0
  38. moai_adk/core/integration/integration_tester.py +225 -0
  39. moai_adk/core/integration/models.py +88 -0
  40. moai_adk/core/integration/utils.py +211 -0
  41. moai_adk/core/issue_creator.py +28 -18
  42. moai_adk/core/language_config.py +202 -0
  43. moai_adk/core/language_validator.py +556 -0
  44. moai_adk/core/mcp/setup.py +113 -0
  45. moai_adk/core/migration/__init__.py +18 -0
  46. moai_adk/core/migration/backup_manager.py +208 -0
  47. moai_adk/core/migration/file_migrator.py +218 -0
  48. moai_adk/core/migration/version_detector.py +143 -0
  49. moai_adk/core/migration/version_migrator.py +228 -0
  50. moai_adk/core/performance/__init__.py +6 -0
  51. moai_adk/core/performance/cache_system.py +318 -0
  52. moai_adk/core/performance/parallel_processor.py +116 -0
  53. moai_adk/core/project/__init__.py +0 -1
  54. moai_adk/core/project/backup_utils.py +2 -7
  55. moai_adk/core/project/checker.py +3 -3
  56. moai_adk/core/project/detector.py +20 -40
  57. moai_adk/core/project/initializer.py +42 -17
  58. moai_adk/core/project/phase_executor.py +415 -58
  59. moai_adk/core/project/validator.py +6 -25
  60. moai_adk/core/quality/__init__.py +1 -1
  61. moai_adk/core/quality/trust_checker.py +64 -110
  62. moai_adk/core/quality/validators/__init__.py +1 -1
  63. moai_adk/core/quality/validators/base_validator.py +1 -1
  64. moai_adk/core/rollback_manager.py +993 -0
  65. moai_adk/core/session_manager.py +667 -0
  66. moai_adk/core/spec/confidence_scoring.py +749 -0
  67. moai_adk/core/spec/ears_template_engine.py +1182 -0
  68. moai_adk/core/spec/quality_validator.py +721 -0
  69. moai_adk/core/spec_status_manager.py +488 -0
  70. moai_adk/core/template/__init__.py +0 -1
  71. moai_adk/core/template/backup.py +41 -1
  72. moai_adk/core/template/config.py +11 -12
  73. moai_adk/core/template/languages.py +0 -1
  74. moai_adk/core/template/merger.py +79 -22
  75. moai_adk/core/template/processor.py +614 -40
  76. moai_adk/core/template_engine.py +36 -27
  77. moai_adk/foundation/git/commit_templates.py +565 -0
  78. moai_adk/foundation/trust/trust_principles.py +725 -0
  79. moai_adk/foundation/trust/validation_checklist.py +1678 -0
  80. moai_adk/statusline/__init__.py +38 -0
  81. moai_adk/statusline/alfred_detector.py +107 -0
  82. moai_adk/statusline/config.py +364 -0
  83. moai_adk/statusline/enhanced_output_style_detector.py +364 -0
  84. moai_adk/statusline/git_collector.py +190 -0
  85. moai_adk/statusline/main.py +228 -0
  86. moai_adk/statusline/metrics_tracker.py +78 -0
  87. moai_adk/statusline/renderer.py +327 -0
  88. moai_adk/statusline/update_checker.py +135 -0
  89. moai_adk/statusline/version_reader.py +647 -0
  90. moai_adk/templates/.git-hooks/pre-commit +66 -0
  91. moai_adk/templates/.git-hooks/pre-push +116 -4
  92. moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
  93. moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
  94. moai_adk/templates/.gitignore +44 -0
  95. moai_adk/templates/.mcp.json +22 -0
  96. moai_adk/templates/CLAUDE.md +450 -1071
  97. moai_adk/utils/__init__.py +0 -1
  98. moai_adk/utils/banner.py +0 -1
  99. moai_adk/utils/common.py +308 -0
  100. moai_adk/utils/link_validator.py +249 -0
  101. moai_adk/utils/logger.py +4 -9
  102. moai_adk/utils/safe_file_reader.py +210 -0
  103. moai_adk/utils/user_experience.py +531 -0
  104. moai_adk-0.25.4.dist-info/METADATA +2279 -0
  105. moai_adk-0.25.4.dist-info/RECORD +112 -0
  106. moai_adk/core/tags/__init__.py +0 -86
  107. moai_adk/core/tags/ci_validator.py +0 -463
  108. moai_adk/core/tags/cli.py +0 -283
  109. moai_adk/core/tags/generator.py +0 -109
  110. moai_adk/core/tags/inserter.py +0 -99
  111. moai_adk/core/tags/mapper.py +0 -126
  112. moai_adk/core/tags/parser.py +0 -76
  113. moai_adk/core/tags/pre_commit_validator.py +0 -393
  114. moai_adk/core/tags/reporter.py +0 -956
  115. moai_adk/core/tags/tags.py +0 -149
  116. moai_adk/core/tags/validator.py +0 -897
  117. moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
  118. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
  119. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
  120. moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
  121. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
  122. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
  123. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
  124. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
  125. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
  126. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
  127. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
  128. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -392
  129. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
  130. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
  131. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
  132. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
  133. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1525
  134. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -802
  135. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -709
  136. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1009
  137. moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
  138. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
  139. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -136
  140. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
  141. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
  142. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
  143. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
  144. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
  145. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
  146. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
  147. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
  148. moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
  149. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
  150. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
  151. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
  152. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
  153. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
  154. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
  155. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
  156. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
  157. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
  158. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
  159. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
  160. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -161
  161. moai_adk/templates/.claude/settings.json +0 -144
  162. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
  163. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
  164. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
  165. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
  166. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
  167. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
  168. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
  169. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
  170. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
  171. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
  172. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
  173. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
  174. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  175. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  176. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  177. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
  178. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
  179. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
  180. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  181. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  182. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  183. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
  184. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
  185. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
  186. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  187. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  188. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  189. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
  190. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
  191. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
  192. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  193. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  194. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  195. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
  196. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
  197. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
  198. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
  199. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
  200. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
  201. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
  202. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
  203. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
  204. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
  205. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
  206. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
  207. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
  208. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
  209. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
  210. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
  211. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
  212. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
  213. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
  214. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
  215. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
  216. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
  217. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
  218. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
  219. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  220. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  221. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  222. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  223. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  224. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  225. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
  226. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
  227. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
  228. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  229. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  230. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  231. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
  232. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  233. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  234. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  235. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  236. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  237. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  238. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  239. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  240. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  241. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  242. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  243. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  244. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  245. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  246. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  247. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  248. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
  249. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
  250. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
  251. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
  252. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
  253. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  254. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
  255. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  256. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  257. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  258. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  259. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
  260. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  261. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
  262. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
  263. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
  264. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
  265. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
  266. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  267. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
  268. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
  269. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
  270. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  271. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  272. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
  273. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
  274. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
  275. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
  276. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
  277. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
  278. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  279. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  280. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  281. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  282. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  283. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  284. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
  285. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
  286. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
  287. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  288. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  289. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  290. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -128
  291. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
  292. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
  293. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  294. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  295. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  296. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  297. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  298. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  299. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  300. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  301. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  302. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  303. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  304. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  305. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  306. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  307. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  308. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  309. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  310. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  311. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  312. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  313. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  314. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  315. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  316. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  317. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
  318. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  319. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  320. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  321. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  322. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  323. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  324. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  325. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  326. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  327. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  328. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  329. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  330. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  331. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  332. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  333. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  334. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  335. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  336. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  337. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  338. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
  339. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  340. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  341. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
  342. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  343. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  344. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  345. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  346. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  347. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
  348. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
  349. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
  350. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
  351. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
  352. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
  353. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  354. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  355. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  356. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
  357. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
  358. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
  359. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
  360. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  361. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  362. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
  363. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
  364. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
  365. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
  366. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  367. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  368. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
  369. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  370. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  371. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
  372. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
  373. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
  374. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
  375. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
  376. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
  377. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  378. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  379. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  380. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  381. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  382. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  383. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
  384. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
  385. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
  386. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
  387. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
  388. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
  389. moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
  390. moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
  391. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
  392. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
  393. moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
  394. moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
  395. moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
  396. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
  397. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
  398. moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
  399. moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
  400. moai_adk/templates/.github/workflows/release.yml +0 -118
  401. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
  402. moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
  403. moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
  404. moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
  405. moai_adk/templates/.github/workflows/tag-report.yml +0 -269
  406. moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
  407. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
  408. moai_adk/templates/.moai/config.json +0 -115
  409. moai_adk/templates/workflows/go-tag-validation.yml +0 -30
  410. moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
  411. moai_adk/templates/workflows/python-tag-validation.yml +0 -42
  412. moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
  413. moai_adk-0.15.0.dist-info/METADATA +0 -3079
  414. moai_adk-0.15.0.dist-info/RECORD +0 -365
  415. {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/WHEEL +0 -0
  416. {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
  417. {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,252 +0,0 @@
1
- ---
2
- name: moai-cc-hooks
3
- description: "Configuring Claude Code Hooks System. Design, implement, and manage PreToolUse/PostToolUse/SessionStart/Notification/Stop hooks. Use when enforcing safety checks, auto-formatting, running linters, or triggering automated workflows based on development events."
4
- allowed-tools: "Read, Write, Edit, Glob, Bash"
5
- ---
6
-
7
- ## Skill Metadata
8
-
9
- | Field | Value |
10
- | ----- | ----- |
11
- | Version | 1.0.0 |
12
- | Tier | Ops |
13
- | Auto-load | When configuring hook system |
14
-
15
- ## What It Does
16
-
17
- Hook system 설정 및 관리를 위한 전체 가이드를 제공합니다. PreToolUse, PostToolUse, SessionStart 등 다양한 hook type의 설계와 구현 방법을 다룹니다.
18
-
19
- ## When to Use
20
-
21
- - Safety check나 validation hook을 추가할 때
22
- - Auto-formatting이나 linting을 자동화할 때
23
- - Session lifecycle event에 응답하는 로직을 작성할 때
24
- - 개발 이벤트 기반 workflow를 트리거할 때
25
-
26
-
27
- # Configuring Claude Code Hooks System
28
-
29
- Hooks are lightweight (<100ms) automated scripts triggered by Claude Code lifecycle events. They enforce guardrails, run quality checks, and seed context without blocking user workflow.
30
-
31
- ## Hook Types & Events
32
-
33
- | Hook Type | Trigger Event | Execution Time | Use Cases |
34
- |-----------|---------------|-----------------|-----------|
35
- | **PreToolUse** | Before tool execution (Read, Edit, Bash, etc.) | <100ms | Command validation, permission checks, safety gates |
36
- | **PostToolUse** | After tool execution succeeds | <100ms | Auto-formatting, linting, permission restoration |
37
- | **SessionStart** | Session initialization | <500ms | Project summary, context seeding, status card |
38
- | **Notification** | User notification event | N/A | macOS notifications, alerts, wait status |
39
- | **Stop** | Session termination | N/A | Cleanup, final checks, task summary |
40
-
41
- ## Hook Configuration in settings.json
42
-
43
- ### High-Freedom Approach: Events-Driven Hooks
44
-
45
- ```json
46
- {
47
- "hooks": {
48
- "PreToolUse": [
49
- {
50
- "matcher": "Bash",
51
- "hooks": [
52
- {
53
- "type": "command",
54
- "command": "node ~/.claude/hooks/pre-bash-validator.js"
55
- }
56
- ]
57
- },
58
- {
59
- "matcher": "Edit|Write",
60
- "hooks": [
61
- {
62
- "type": "command",
63
- "command": "bash ~/.claude/hooks/pre-edit-guard.sh"
64
- }
65
- ]
66
- }
67
- ],
68
- "PostToolUse": [
69
- {
70
- "matcher": "Edit",
71
- "hooks": [
72
- {
73
- "type": "command",
74
- "command": "bash ~/.claude/hooks/post-edit-lint.sh"
75
- }
76
- ]
77
- }
78
- ],
79
- "SessionStart": [
80
- {
81
- "matcher": "*",
82
- "hooks": [
83
- {
84
- "type": "command",
85
- "command": "node ~/.claude/hooks/session-status-card.js"
86
- }
87
- ]
88
- }
89
- ]
90
- }
91
- }
92
- ```
93
-
94
- ## Medium-Freedom: Hook Patterns
95
-
96
- ### Pattern 1: Pre-Command Validation
97
- ```bash
98
- #!/bin/bash
99
- # pre-bash-validator.sh: Block dangerous patterns
100
-
101
- FORBIDDEN_PATTERNS=(
102
- "rm -rf /"
103
- "sudo rm"
104
- "chmod 777 /"
105
- "eval \$(curl"
106
- )
107
-
108
- COMMAND="$1"
109
- for pattern in "${FORBIDDEN_PATTERNS[@]}"; do
110
- if [[ "$COMMAND" =~ $pattern ]]; then
111
- echo "🔴 Blocked: $pattern detected" >&2
112
- exit 2 # Block execution
113
- fi
114
- done
115
-
116
- exit 0 # Allow execution
117
- ```
118
-
119
- ### Pattern 2: Post-Edit Auto-Formatting
120
- ```bash
121
- #!/bin/bash
122
- # post-edit-format.sh: Auto-format after edits
123
-
124
- FILE="$1"
125
- EXT="${FILE##*.}"
126
-
127
- case "$EXT" in
128
- js|ts)
129
- npx prettier --write "$FILE" 2>/dev/null
130
- ;;
131
- py)
132
- python3 -m black "$FILE" 2>/dev/null
133
- ;;
134
- go)
135
- gofmt -w "$FILE" 2>/dev/null
136
- ;;
137
- esac
138
-
139
- exit 0
140
- ```
141
-
142
- ### Pattern 3: SessionStart Status Card
143
- ```bash
144
- #!/bin/bash
145
- # session-status-card.sh: Show project status
146
-
147
- echo "🚀 Claude Code Session Started"
148
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
149
-
150
- if [ -f ".moai/config.json" ]; then
151
- PROJECT=$(jq -r '.name' .moai/config.json 2>/dev/null || echo "Unknown")
152
- echo "📦 Project: $PROJECT"
153
- echo "🏗️ Framework: $(jq -r '.tech_stack' .moai/config.json 2>/dev/null || echo "Auto-detect")"
154
- fi
155
-
156
- echo "📋 Recent SPECS:"
157
- ls .moai/specs/ 2>/dev/null | head -3 | sed 's/^/ ✓ /'
158
-
159
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
160
- ```
161
-
162
- ## Low-Freedom: Security-Focused Hook Scripts
163
-
164
- ### Permission Preservation Hook
165
- ```bash
166
- #!/bin/bash
167
- set -euo pipefail
168
- # preserve-permissions.sh: Save/restore file permissions
169
-
170
- HOOK_TYPE="${1:-pre}" # 'pre' or 'post'
171
- FILE="${2:-.}"
172
-
173
- PERMS_FILE="/tmp/perms_${FILE//\//_}.txt"
174
-
175
- if [[ "$HOOK_TYPE" == "pre" ]]; then
176
- stat -c "%a %u:%g" "$FILE" > "$PERMS_FILE" 2>/dev/null || true
177
- exit 0
178
- elif [[ "$HOOK_TYPE" == "post" ]]; then
179
- if [[ -f "$PERMS_FILE" ]]; then
180
- SAVED_PERMS=$(cat "$PERMS_FILE")
181
- chmod ${SAVED_PERMS%% *} "$FILE" 2>/dev/null || true
182
- rm "$PERMS_FILE"
183
- fi
184
- exit 0
185
- fi
186
- ```
187
-
188
- ### Dangerous Command Blocker
189
- ```python
190
- #!/usr/bin/env python3
191
- import json
192
- import sys
193
- import re
194
-
195
- BLOCKED_PATTERNS = [
196
- (r"rm\s+-rf\s+/", "Blocking rm -rf /"),
197
- (r"sudo\s+rm", "Blocking sudo rm without confirmation"),
198
- (r">\s*/etc/\w+", "Blocking writes to system files"),
199
- (r"curl.*\|\s*bash", "Blocking curl | bash (code injection risk)"),
200
- ]
201
-
202
- try:
203
- data = json.load(sys.stdin)
204
- command = data.get("tool_input", {}).get("command", "")
205
-
206
- for pattern, msg in BLOCKED_PATTERNS:
207
- if re.search(pattern, command):
208
- print(f"🔴 BLOCKED: {msg}", file=sys.stderr)
209
- sys.exit(2) # Block
210
-
211
- sys.exit(0) # Allow
212
- except Exception as e:
213
- print(f"Hook error: {e}", file=sys.stderr)
214
- sys.exit(0) # Allow on error (fail open)
215
- ```
216
-
217
- ## Hook Exit Codes
218
-
219
- | Code | Meaning | Behavior |
220
- |------|---------|----------|
221
- | `0` | Success | Tool proceeds normally |
222
- | `1` | Warning + Stderr | Warning logged, tool proceeds |
223
- | `2` | Blocked + Error | Tool execution blocked |
224
-
225
- ## Best Practices
226
-
227
- ✅ **DO**:
228
- - Keep hook scripts < 100ms execution time
229
- - Use specific matchers (not wildcard `*` unless necessary)
230
- - Log errors clearly to stderr
231
- - Test hooks before deploying to team
232
-
233
- ❌ **DON'T**:
234
- - Make network calls in PreToolUse hooks
235
- - Block common operations (use warnings instead)
236
- - Write to user files from hooks
237
- - Create complex logic (delegate to sub-agents)
238
-
239
- ## Hook Validation Checklist
240
-
241
- - [ ] All scripts have proper shebang (`#!/bin/bash` or `#!/usr/bin/env python3`)
242
- - [ ] Scripts are executable: `chmod +x hook.sh`
243
- - [ ] Exit codes are correct (0, 1, or 2)
244
- - [ ] Paths are absolute (not relative)
245
- - [ ] Tested for < 100ms latency
246
- - [ ] Error messages are user-friendly
247
- - [ ] No hardcoded secrets or credentials
248
-
249
- ---
250
-
251
- **Reference**: Context7 Claude Code Hooks documentation
252
- **Version**: 1.0.0
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
- # Pre-Bash Command Validator (from Context7 official docs)
3
- set -euo pipefail
4
-
5
- FORBIDDEN=(
6
- "rm -rf /"
7
- "sudo rm"
8
- "chmod 777"
9
- "eval.*curl"
10
- )
11
-
12
- COMMAND="${1:-}"
13
- for pattern in "${FORBIDDEN[@]}"; do
14
- if [[ "$COMMAND" =~ $pattern ]]; then
15
- echo "🔴 BLOCKED: $pattern" >&2
16
- exit 2
17
- fi
18
- done
19
- exit 0
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
- # Preserve file permissions (from Context7 official docs)
3
- set -euo pipefail
4
-
5
- HOOK_TYPE="${1:-pre}"
6
- FILE="${2:-.}"
7
- PERMS_FILE="/tmp/perms_${FILE//\//_}.txt"
8
-
9
- if [[ "$HOOK_TYPE" == "pre" ]]; then
10
- stat -c "%a %u:%g" "$FILE" > "$PERMS_FILE" 2>/dev/null || true
11
- exit 0
12
- elif [[ "$HOOK_TYPE" == "post" ]]; then
13
- if [[ -f "$PERMS_FILE" ]]; then
14
- SAVED=$(cat "$PERMS_FILE")
15
- chmod ${SAVED%% *} "$FILE" 2>/dev/null || true
16
- rm "$PERMS_FILE"
17
- fi
18
- exit 0
19
- fi
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env python3
2
- # @CODE:HOOK-BASH-001 | SPEC: TBD | TEST: tests/hooks/test_bash_validation.py
3
- # Bash command validator (from Context7 official docs)
4
- import json
5
- import re
6
- import sys
7
-
8
- BLOCKED = [
9
- (r"rm\s+-rf\s+/", "Blocking rm -rf /"),
10
- (r"sudo\s+rm", "Blocking sudo rm"),
11
- (r">\s*/etc/\w+", "Blocking writes to /etc"),
12
- (r"curl.*\|\s*bash", "Blocking curl | bash"),
13
- ]
14
-
15
- try:
16
- data = json.load(sys.stdin)
17
- cmd = data.get("tool_input", {}).get("command", "")
18
- for pattern, msg in BLOCKED:
19
- if re.search(pattern, cmd):
20
- print(f"🔴 {msg}", file=sys.stderr)
21
- sys.exit(2)
22
- sys.exit(0)
23
- except Exception:
24
- sys.exit(0)
@@ -1,199 +0,0 @@
1
- ---
2
- name: moai-cc-mcp-plugins
3
- description: "Configuring MCP Servers & Plugins for Claude Code. Set up Model Context Protocol servers (GitHub, Filesystem, Brave Search, SQLite). Configure OAuth, manage permissions, validate MCP structure. Use when integrating external tools, APIs, or expanding Claude Code capabilities."
4
- allowed-tools: "Read, Write, Edit, Bash, Glob"
5
- ---
6
-
7
- ## Skill Metadata
8
-
9
- | Field | Value |
10
- | ----- | ----- |
11
- | Version | 1.0.0 |
12
- | Tier | Ops |
13
- | Auto-load | When setting up MCP servers |
14
-
15
- ## What It Does
16
-
17
- MCP (Model Context Protocol) server 및 plugin 설정을 위한 전체 가이드를 제공합니다. GitHub, Filesystem, SQLite 등 다양한 MCP server의 OAuth 설정, 권한 관리, 구조 검증 방법을 다룹니다.
18
-
19
- ## When to Use
20
-
21
- - 새로운 MCP server를 설정할 때
22
- - OAuth 인증을 구성할 때
23
- - External tool이나 API를 통합할 때
24
- - MCP plugin의 permissions이나 구조를 검증할 때
25
-
26
-
27
- # Configuring MCP Servers & Plugins
28
-
29
- MCP servers extend Claude Code with external tool integrations. Each server provides tools that Claude can invoke directly.
30
-
31
- ## MCP Server Setup in settings.json
32
-
33
- ```json
34
- {
35
- "mcpServers": {
36
- "github": {
37
- "command": "npx",
38
- "args": ["-y", "@anthropic-ai/mcp-server-github"],
39
- "oauth": {
40
- "clientId": "your-client-id",
41
- "clientSecret": "your-client-secret",
42
- "scopes": ["repo", "issues", "pull_requests"]
43
- }
44
- },
45
- "filesystem": {
46
- "command": "npx",
47
- "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
48
- },
49
- "sqlite": {
50
- "command": "npx",
51
- "args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/database.db"]
52
- },
53
- "brave-search": {
54
- "command": "npx",
55
- "args": ["-y", "@modelcontextprotocol/server-brave-search"],
56
- "env": {
57
- "BRAVE_SEARCH_API_KEY": "${BRAVE_SEARCH_API_KEY}"
58
- }
59
- }
60
- }
61
- }
62
- ```
63
-
64
- ## Common MCP Servers
65
-
66
- | Server | Purpose | Installation | Config |
67
- |--------|---------|--------------|--------|
68
- | **GitHub** | PR/issue management, code search | `@anthropic-ai/mcp-server-github` | OAuth required |
69
- | **Filesystem** | Safe file access with path restrictions | `@modelcontextprotocol/server-filesystem` | Path whitelist required |
70
- | **SQLite** | Database queries & migrations | `@modelcontextprotocol/server-sqlite` | DB file path |
71
- | **Brave Search** | Web search integration | `@modelcontextprotocol/server-brave-search` | API key required |
72
-
73
- ## OAuth Configuration Pattern
74
-
75
- ```json
76
- {
77
- "oauth": {
78
- "clientId": "your-client-id",
79
- "clientSecret": "your-client-secret",
80
- "scopes": ["repo", "issues"]
81
- }
82
- }
83
- ```
84
-
85
- **Scope Minimization** (principle of least privilege):
86
- - GitHub: `repo` (code access), `issues` (PR/issue access)
87
- - NOT `admin`, NOT `delete_repo`
88
-
89
- ## Filesystem MCP: Path Whitelisting
90
-
91
- ```json
92
- {
93
- "filesystem": {
94
- "command": "npx",
95
- "args": [
96
- "-y",
97
- "@modelcontextprotocol/server-filesystem",
98
- "${CLAUDE_PROJECT_DIR}/.moai",
99
- "${CLAUDE_PROJECT_DIR}/src",
100
- "${CLAUDE_PROJECT_DIR}/tests"
101
- ]
102
- }
103
- }
104
- ```
105
-
106
- **Security Principle**: Explicitly list allowed directories, no wildcards.
107
-
108
- ## Plugin Marketplace Integration
109
-
110
- ```json
111
- {
112
- "extraKnownMarketplaces": [
113
- {
114
- "name": "company-plugins",
115
- "url": "https://github.com/your-org/claude-plugins"
116
- },
117
- {
118
- "name": "community-plugins",
119
- "url": "https://glama.ai/mcp/servers"
120
- }
121
- ]
122
- }
123
- ```
124
-
125
- ## MCP Health Check
126
-
127
- ```bash
128
- # Inside Claude Code terminal
129
- /mcp # List active MCP servers
130
- /plugin validate # Validate plugin structure
131
- /plugin install # Install from marketplace
132
- /plugin enable github # Enable specific server
133
- /plugin disable github # Disable specific server
134
- ```
135
-
136
- ## Environment Variables for MCP
137
-
138
- ```bash
139
- # Set in ~/.bash_profile or .claude/config.json
140
- export GITHUB_TOKEN="gh_xxxx..."
141
- export BRAVE_SEARCH_API_KEY="xxxx..."
142
- export ANTHROPIC_API_KEY="sk-ant-..."
143
-
144
- # Launch Claude Code with env
145
- GITHUB_TOKEN=gh_xxxx claude
146
- ```
147
-
148
- ## MCP Troubleshooting
149
-
150
- | Issue | Cause | Fix |
151
- |-------|-------|-----|
152
- | Server not connecting | Invalid JSON in mcpServers | Validate with `jq .mcpServers settings.json` |
153
- | OAuth error | Token expired or invalid scopes | Check `claude /usage`, regenerate token |
154
- | Permission denied | Path not whitelisted | Add to Filesystem MCP args |
155
- | Slow response | Network latency or server overload | Check server logs, reduce scope |
156
-
157
- ## Best Practices
158
-
159
- ✅ **DO**:
160
- - Use environment variables for secrets
161
- - Whitelist Filesystem paths explicitly
162
- - Start with minimal scopes, expand only if needed
163
- - Test MCP connection: `/mcp` command
164
-
165
- ❌ **DON'T**:
166
- - Hardcode credentials in settings.json
167
- - Use wildcard paths (`/` in Filesystem MCP)
168
- - Install untrusted plugins
169
- - Give admin scopes unnecessarily
170
-
171
- ## Plugin Custom Directory Structure
172
-
173
- ```
174
- my-plugin/
175
- ├── .claude-plugin/
176
- │ └── plugin.json
177
- ├── commands/
178
- │ ├── deploy.md
179
- │ └── rollback.md
180
- ├── agents/
181
- │ └── reviewer.md
182
- └── hooks/
183
- └── pre-deploy-check.sh
184
- ```
185
-
186
- ## Validation Checklist
187
-
188
- - [ ] All server paths are absolute
189
- - [ ] OAuth secrets stored in env vars
190
- - [ ] Filesystem paths are whitelisted
191
- - [ ] No hardcoded tokens or credentials
192
- - [ ] MCP server installed: `which npx`
193
- - [ ] Health check passes: `/mcp`
194
- - [ ] Scopes follow least-privilege principle
195
-
196
- ---
197
-
198
- **Reference**: Claude Code MCP documentation
199
- **Version**: 1.0.0
@@ -1,39 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "github": {
4
- "command": "npx",
5
- "args": ["-y", "@anthropic-ai/mcp-server-github"],
6
- "oauth": {
7
- "clientId": "${GITHUB_CLIENT_ID}",
8
- "clientSecret": "${GITHUB_CLIENT_SECRET}",
9
- "scopes": ["repo", "issues"]
10
- }
11
- },
12
- "filesystem": {
13
- "command": "npx",
14
- "args": [
15
- "-y",
16
- "@modelcontextprotocol/server-filesystem",
17
- "${CLAUDE_PROJECT_DIR}/.moai",
18
- "${CLAUDE_PROJECT_DIR}/src"
19
- ]
20
- },
21
- "sqlite": {
22
- "command": "npx",
23
- "args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/db.sqlite"]
24
- },
25
- "brave-search": {
26
- "command": "npx",
27
- "args": ["-y", "@modelcontextprotocol/server-brave-search"],
28
- "env": {
29
- "BRAVE_SEARCH_API_KEY": "${BRAVE_SEARCH_API_KEY}"
30
- }
31
- }
32
- },
33
- "extraKnownMarketplaces": [
34
- {
35
- "name": "company-plugins",
36
- "url": "https://github.com/your-org/claude-plugins"
37
- }
38
- ]
39
- }