@jhl8041/dooray-mcp 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/.claude/commands/bmad_agent_bmad-master.md +14 -0
  2. package/.claude/commands/bmad_bmm_agent_analyst.md +14 -0
  3. package/.claude/commands/bmad_bmm_agent_architect.md +14 -0
  4. package/.claude/commands/bmad_bmm_agent_dev.md +14 -0
  5. package/.claude/commands/bmad_bmm_agent_pm.md +14 -0
  6. package/.claude/commands/bmad_bmm_agent_quick-flow-solo-dev.md +14 -0
  7. package/.claude/commands/bmad_bmm_agent_sm.md +14 -0
  8. package/.claude/commands/bmad_bmm_agent_tea.md +14 -0
  9. package/.claude/commands/bmad_bmm_agent_tech-writer_tech-writer.md +14 -0
  10. package/.claude/commands/bmad_bmm_agent_ux-designer.md +14 -0
  11. package/.claude/commands/bmad_bmm_check-implementation-readiness.md +5 -0
  12. package/.claude/commands/bmad_bmm_code-review.md +13 -0
  13. package/.claude/commands/bmad_bmm_correct-course.md +13 -0
  14. package/.claude/commands/bmad_bmm_create-architecture.md +5 -0
  15. package/.claude/commands/bmad_bmm_create-epics-and-stories.md +5 -0
  16. package/.claude/commands/bmad_bmm_create-excalidraw-dataflow.md +13 -0
  17. package/.claude/commands/bmad_bmm_create-excalidraw-diagram.md +13 -0
  18. package/.claude/commands/bmad_bmm_create-excalidraw-flowchart.md +13 -0
  19. package/.claude/commands/bmad_bmm_create-excalidraw-wireframe.md +13 -0
  20. package/.claude/commands/bmad_bmm_create-prd.md +5 -0
  21. package/.claude/commands/bmad_bmm_create-product-brief.md +5 -0
  22. package/.claude/commands/bmad_bmm_create-story.md +13 -0
  23. package/.claude/commands/bmad_bmm_create-ux-design.md +5 -0
  24. package/.claude/commands/bmad_bmm_dev-story.md +13 -0
  25. package/.claude/commands/bmad_bmm_document-project.md +13 -0
  26. package/.claude/commands/bmad_bmm_quick-dev.md +5 -0
  27. package/.claude/commands/bmad_bmm_quick-spec.md +5 -0
  28. package/.claude/commands/bmad_bmm_research.md +5 -0
  29. package/.claude/commands/bmad_bmm_retrospective.md +13 -0
  30. package/.claude/commands/bmad_bmm_sprint-planning.md +13 -0
  31. package/.claude/commands/bmad_bmm_sprint-status.md +13 -0
  32. package/.claude/commands/bmad_bmm_testarch-atdd.md +13 -0
  33. package/.claude/commands/bmad_bmm_testarch-automate.md +13 -0
  34. package/.claude/commands/bmad_bmm_testarch-ci.md +13 -0
  35. package/.claude/commands/bmad_bmm_testarch-framework.md +13 -0
  36. package/.claude/commands/bmad_bmm_testarch-nfr.md +13 -0
  37. package/.claude/commands/bmad_bmm_testarch-test-design.md +13 -0
  38. package/.claude/commands/bmad_bmm_testarch-test-review.md +13 -0
  39. package/.claude/commands/bmad_bmm_testarch-trace.md +13 -0
  40. package/.claude/commands/bmad_brainstorming.md +5 -0
  41. package/.claude/commands/bmad_editorial-review-prose.md +9 -0
  42. package/.claude/commands/bmad_editorial-review-structure.md +10 -0
  43. package/.claude/commands/bmad_help.md +9 -0
  44. package/.claude/commands/bmad_index-docs.md +9 -0
  45. package/.claude/commands/bmad_party-mode.md +5 -0
  46. package/.claude/commands/bmad_review-adversarial-general.md +9 -0
  47. package/.claude/commands/bmad_shard-doc.md +9 -0
  48. package/_bmad/_config/agent-manifest.csv +11 -0
  49. package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
  50. package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
  51. package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
  52. package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
  53. package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
  54. package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
  55. package/_bmad/_config/agents/bmm-tea.customize.yaml +41 -0
  56. package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
  57. package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
  58. package/_bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
  59. package/_bmad/_config/bmad-help.csv +40 -0
  60. package/_bmad/_config/files-manifest.csv +281 -0
  61. package/_bmad/_config/manifest.yaml +21 -0
  62. package/_bmad/_config/task-manifest.csv +9 -0
  63. package/_bmad/_config/tool-manifest.csv +1 -0
  64. package/_bmad/_config/workflow-manifest.csv +32 -0
  65. package/_bmad/bmm/agents/analyst.md +76 -0
  66. package/_bmad/bmm/agents/architect.md +58 -0
  67. package/_bmad/bmm/agents/dev.md +69 -0
  68. package/_bmad/bmm/agents/pm.md +72 -0
  69. package/_bmad/bmm/agents/quick-flow-solo-dev.md +69 -0
  70. package/_bmad/bmm/agents/sm.md +70 -0
  71. package/_bmad/bmm/agents/tea.md +70 -0
  72. package/_bmad/bmm/agents/tech-writer/tech-writer.md +70 -0
  73. package/_bmad/bmm/agents/ux-designer.md +57 -0
  74. package/_bmad/bmm/config.yaml +16 -0
  75. package/_bmad/bmm/data/project-context-template.md +26 -0
  76. package/_bmad/bmm/module-help.csv +32 -0
  77. package/_bmad/bmm/teams/default-party.csv +21 -0
  78. package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
  79. package/_bmad/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +350 -0
  80. package/_bmad/bmm/testarch/knowledge/api-request.md +442 -0
  81. package/_bmad/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  82. package/_bmad/bmm/testarch/knowledge/auth-session.md +552 -0
  83. package/_bmad/bmm/testarch/knowledge/burn-in.md +273 -0
  84. package/_bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  85. package/_bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  86. package/_bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  87. package/_bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  88. package/_bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  89. package/_bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  90. package/_bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  91. package/_bmad/bmm/testarch/knowledge/file-utils.md +463 -0
  92. package/_bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  93. package/_bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  94. package/_bmad/bmm/testarch/knowledge/intercept-network-call.md +430 -0
  95. package/_bmad/bmm/testarch/knowledge/log.md +429 -0
  96. package/_bmad/bmm/testarch/knowledge/network-error-monitor.md +405 -0
  97. package/_bmad/bmm/testarch/knowledge/network-first.md +486 -0
  98. package/_bmad/bmm/testarch/knowledge/network-recorder.md +527 -0
  99. package/_bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  100. package/_bmad/bmm/testarch/knowledge/overview.md +286 -0
  101. package/_bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  102. package/_bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  103. package/_bmad/bmm/testarch/knowledge/recurse.md +421 -0
  104. package/_bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  105. package/_bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  106. package/_bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  107. package/_bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  108. package/_bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  109. package/_bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  110. package/_bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  111. package/_bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  112. package/_bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  113. package/_bmad/bmm/testarch/tea-index.csv +35 -0
  114. package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  115. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  116. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  117. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  118. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  119. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  120. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  121. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  122. package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  123. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  124. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  125. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  126. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  127. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  128. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  129. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  130. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  131. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  132. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  133. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  134. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  135. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  136. package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
  137. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  138. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  139. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  140. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  141. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  142. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  143. package/_bmad/bmm/workflows/1-analysis/research/workflow.md +173 -0
  144. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +13 -0
  145. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  146. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  147. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
  148. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
  149. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
  150. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
  151. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
  152. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
  153. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
  154. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
  155. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
  156. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
  157. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
  158. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
  159. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
  160. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
  161. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  162. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
  163. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
  164. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
  165. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
  166. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  167. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  168. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  169. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  170. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  171. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  172. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  173. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  174. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  175. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  176. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  177. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  178. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
  179. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
  180. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/validation-report-prd-workflow.md +433 -0
  181. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow.md +150 -0
  182. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  183. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  184. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  185. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  186. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  187. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  188. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  189. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  190. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  191. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  192. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  193. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  194. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  195. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  196. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  197. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  198. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  199. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  200. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  201. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  202. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  203. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  204. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
  205. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  206. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  207. package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  208. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  209. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  210. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  211. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  212. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  213. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  214. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  215. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  216. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  217. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  218. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  219. package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  220. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  221. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  222. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  223. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  224. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  225. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  226. package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  227. package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  228. package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
  229. package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  230. package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  231. package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  232. package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  233. package/_bmad/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
  234. package/_bmad/bmm/workflows/4-implementation/create-story/template.md +49 -0
  235. package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +59 -0
  236. package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  237. package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  238. package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
  239. package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  240. package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  241. package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  242. package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  243. package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  244. package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
  245. package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  246. package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  247. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
  248. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  249. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  250. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  251. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  252. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
  253. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
  254. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
  255. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
  256. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  257. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
  258. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  259. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
  260. package/_bmad/bmm/workflows/document-project/checklist.md +245 -0
  261. package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  262. package/_bmad/bmm/workflows/document-project/instructions.md +221 -0
  263. package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  264. package/_bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  265. package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  266. package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  267. package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  268. package/_bmad/bmm/workflows/document-project/workflow.yaml +28 -0
  269. package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  270. package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  271. package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  272. package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  273. package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  274. package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  275. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  276. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  277. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
  278. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  279. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  280. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
  281. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  282. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  283. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
  284. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  285. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  286. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
  287. package/_bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  288. package/_bmad/bmm/workflows/testarch/atdd/checklist.md +374 -0
  289. package/_bmad/bmm/workflows/testarch/atdd/instructions.md +806 -0
  290. package/_bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  291. package/_bmad/bmm/workflows/testarch/automate/checklist.md +582 -0
  292. package/_bmad/bmm/workflows/testarch/automate/instructions.md +1324 -0
  293. package/_bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  294. package/_bmad/bmm/workflows/testarch/ci/checklist.md +247 -0
  295. package/_bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  296. package/_bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  297. package/_bmad/bmm/workflows/testarch/ci/instructions.md +536 -0
  298. package/_bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  299. package/_bmad/bmm/workflows/testarch/framework/checklist.md +320 -0
  300. package/_bmad/bmm/workflows/testarch/framework/instructions.md +481 -0
  301. package/_bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  302. package/_bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  303. package/_bmad/bmm/workflows/testarch/nfr-assess/instructions.md +726 -0
  304. package/_bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
  305. package/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  306. package/_bmad/bmm/workflows/testarch/test-design/checklist.md +407 -0
  307. package/_bmad/bmm/workflows/testarch/test-design/instructions.md +1158 -0
  308. package/_bmad/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
  309. package/_bmad/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
  310. package/_bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  311. package/_bmad/bmm/workflows/testarch/test-design/workflow.yaml +69 -0
  312. package/_bmad/bmm/workflows/testarch/test-review/checklist.md +472 -0
  313. package/_bmad/bmm/workflows/testarch/test-review/instructions.md +628 -0
  314. package/_bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  315. package/_bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  316. package/_bmad/bmm/workflows/testarch/trace/checklist.md +642 -0
  317. package/_bmad/bmm/workflows/testarch/trace/instructions.md +1030 -0
  318. package/_bmad/bmm/workflows/testarch/trace/trace-template.md +675 -0
  319. package/_bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  320. package/_bmad/core/agents/bmad-master.md +56 -0
  321. package/_bmad/core/config.yaml +9 -0
  322. package/_bmad/core/module-help.csv +9 -0
  323. package/_bmad/core/resources/excalidraw/README.md +160 -0
  324. package/_bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  325. package/_bmad/core/resources/excalidraw/library-loader.md +50 -0
  326. package/_bmad/core/resources/excalidraw/validate-json-instructions.md +79 -0
  327. package/_bmad/core/tasks/editorial-review-prose.xml +100 -0
  328. package/_bmad/core/tasks/editorial-review-structure.xml +209 -0
  329. package/_bmad/core/tasks/help.md +62 -0
  330. package/_bmad/core/tasks/index-docs.xml +65 -0
  331. package/_bmad/core/tasks/review-adversarial-general.xml +48 -0
  332. package/_bmad/core/tasks/shard-doc.xml +109 -0
  333. package/_bmad/core/tasks/workflow.xml +235 -0
  334. package/_bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
  335. package/_bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
  336. package/_bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
  337. package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  338. package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  339. package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  340. package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  341. package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  342. package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  343. package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  344. package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  345. package/_bmad/core/workflows/brainstorming/template.md +15 -0
  346. package/_bmad/core/workflows/brainstorming/workflow.md +58 -0
  347. package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  348. package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  349. package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
  350. package/_bmad/core/workflows/party-mode/workflow.md +194 -0
  351. package/dist/api/client.d.ts +16 -1
  352. package/dist/api/client.d.ts.map +1 -1
  353. package/dist/api/client.js +91 -5
  354. package/dist/api/client.js.map +1 -1
  355. package/dist/api/projects.d.ts +22 -1
  356. package/dist/api/projects.d.ts.map +1 -1
  357. package/dist/api/projects.js +32 -0
  358. package/dist/api/projects.js.map +1 -1
  359. package/dist/index.js +15 -0
  360. package/dist/index.js.map +1 -1
  361. package/dist/tools/projects/delete-attachment-from-task.d.ts.map +1 -0
  362. package/dist/tools/projects/delete-attachment-from-task.js.map +1 -0
  363. package/dist/tools/projects/delete-attachment.d.ts +55 -0
  364. package/dist/tools/projects/delete-attachment.d.ts.map +1 -0
  365. package/dist/tools/projects/delete-attachment.js +115 -0
  366. package/dist/tools/projects/delete-attachment.js.map +1 -0
  367. package/dist/tools/projects/download-attachment.d.ts +55 -0
  368. package/dist/tools/projects/download-attachment.d.ts.map +1 -0
  369. package/dist/tools/projects/download-attachment.js +153 -0
  370. package/dist/tools/projects/download-attachment.js.map +1 -0
  371. package/dist/tools/projects/get-attachment-list.d.ts +48 -0
  372. package/dist/tools/projects/get-attachment-list.d.ts.map +1 -0
  373. package/dist/tools/projects/get-attachment-list.js +118 -0
  374. package/dist/tools/projects/get-attachment-list.js.map +1 -0
  375. package/dist/tools/projects/get-attachment-metadata.d.ts +55 -0
  376. package/dist/tools/projects/get-attachment-metadata.d.ts.map +1 -0
  377. package/dist/tools/projects/get-attachment-metadata.js +120 -0
  378. package/dist/tools/projects/get-attachment-metadata.js.map +1 -0
  379. package/dist/tools/projects/register-attachment-to-task.d.ts.map +1 -0
  380. package/dist/tools/projects/register-attachment-to-task.js.map +1 -0
  381. package/dist/tools/projects/upload-attachment.d.ts +55 -0
  382. package/dist/tools/projects/upload-attachment.d.ts.map +1 -0
  383. package/dist/tools/projects/upload-attachment.js +143 -0
  384. package/dist/tools/projects/upload-attachment.js.map +1 -0
  385. package/dist/types/dooray-api.d.ts +15 -0
  386. package/dist/types/dooray-api.d.ts.map +1 -1
  387. package/docs/architecture.md +227 -0
  388. package/docs/development-guide.md +336 -0
  389. package/docs/index.md +115 -0
  390. package/docs/project-overview.md +105 -0
  391. package/docs/project-scan-report.json +120 -0
  392. package/docs/source-tree-analysis.md +240 -0
  393. package/package.json +1 -1
@@ -0,0 +1,227 @@
1
+ # Dooray MCP Server - 아키텍처 문서
2
+
3
+ ## 개요
4
+
5
+ Dooray MCP Server는 Model Context Protocol을 구현하여 AI 어시스턴트가 Dooray API와 상호작용할 수 있게 하는 TypeScript 기반 서버입니다.
6
+
7
+ ## 시스템 아키텍처
8
+
9
+ ```
10
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
11
+ │ AI Assistant │────▶│ MCP Server │────▶│ Dooray API │
12
+ │ (Claude) │◀────│ (dooray-mcp) │◀────│ │
13
+ └─────────────────┘ └─────────────────┘ └─────────────────┘
14
+ │ │
15
+ │ │
16
+ stdio 통신 HTTPS 통신
17
+ (JSON-RPC) (REST API)
18
+ ```
19
+
20
+ ## 핵심 컴포넌트
21
+
22
+ ### 1. MCP Server (`src/index.ts`)
23
+
24
+ 서버의 메인 엔트리 포인트로 다음 역할을 수행합니다:
25
+
26
+ - **환경 변수 로드**: dotenv를 통한 설정 로드
27
+ - **API 클라이언트 초기화**: Dooray API 연결 설정
28
+ - **도구 레지스트리 관리**: 17개 MCP 도구 등록
29
+ - **요청 핸들러**: `ListToolsRequest`, `CallToolRequest` 처리
30
+ - **에러 처리**: Zod 검증 에러 및 API 에러 처리
31
+
32
+ ```typescript
33
+ // 도구 레지스트리 구조
34
+ const toolRegistry = {
35
+ 'tool-name': {
36
+ handler: toolHandler, // 실행 함수
37
+ schema: zodSchema // 입력 검증 스키마
38
+ }
39
+ };
40
+ ```
41
+
42
+ ### 2. API Client (`src/api/client.ts`)
43
+
44
+ Dooray API와의 HTTP 통신을 담당합니다.
45
+
46
+ **DoorayClient 클래스:**
47
+ - 싱글톤 패턴으로 구현
48
+ - Axios 인스턴스 래핑
49
+ - 자동 인증 헤더 주입 (`dooray-api {token}`)
50
+ - 응답/에러 인터셉터
51
+
52
+ **지원 메서드:**
53
+ | 메서드 | 용도 |
54
+ |--------|------|
55
+ | `get<T>()` | 단일 리소스 조회 |
56
+ | `getPaginated<T>()` | 페이지네이션 목록 조회 |
57
+ | `post<T>()` | 리소스 생성 |
58
+ | `put<T>()` | 리소스 전체 수정 |
59
+ | `patch<T>()` | 리소스 부분 수정 |
60
+ | `delete<T>()` | 리소스 삭제 |
61
+ | `uploadFile()` | 파일 업로드 |
62
+
63
+ ### 3. API Functions (`src/api/projects.ts`)
64
+
65
+ Dooray Projects API 엔드포인트에 대한 래퍼 함수들입니다.
66
+
67
+ **주요 함수:**
68
+ - `getProjects()` - 프로젝트 목록
69
+ - `getTasks()` - 업무 목록 (필터링 지원)
70
+ - `createTask()` - 업무 생성
71
+ - `updateTask()` - 업무 수정
72
+ - `createTaskComment()` - 댓글 생성
73
+ - `getMilestones()` - 마일스톤 목록
74
+ - `getTags()` - 태그 목록
75
+ - `getProjectWorkflows()` - 워크플로우 상태 목록
76
+
77
+ ### 4. Tools (`src/tools/`)
78
+
79
+ 각 MCP 도구는 다음 구조를 따릅니다:
80
+
81
+ ```typescript
82
+ // 1. Zod 스키마 (입력 검증)
83
+ export const toolSchema = z.object({
84
+ param: z.string().describe('설명')
85
+ });
86
+
87
+ // 2. 핸들러 함수 (비즈니스 로직)
88
+ export async function toolHandler(args: ToolInput) {
89
+ const result = await apiCall(args);
90
+ return {
91
+ content: [{ type: 'text', text: JSON.stringify(result) }]
92
+ };
93
+ }
94
+
95
+ // 3. 도구 정의 (MCP 등록)
96
+ export const tool = {
97
+ name: 'tool-name',
98
+ description: '도구 설명',
99
+ inputSchema: { ... }
100
+ };
101
+ ```
102
+
103
+ ### 5. Types (`src/types/`)
104
+
105
+ **dooray-api.ts:**
106
+ - Dooray API 응답/요청 타입 정의
107
+ - `ApiResponse<T>` - 표준 응답 래퍼
108
+ - `Task`, `Project`, `Milestone` 등 도메인 타입
109
+ - `PaginatedResponse<T>` - 페이지네이션 응답
110
+
111
+ **config.ts:**
112
+ - `DoorayConfig` - 클라이언트 설정
113
+ - `DoorayHeaders` - 커스텀 헤더
114
+
115
+ ### 6. Utils (`src/utils/`)
116
+
117
+ **logger.ts:**
118
+ - 로그 레벨: `ERROR`, `WARN`, `INFO`, `DEBUG`
119
+ - stderr로 출력 (MCP stdio 통신과 분리)
120
+ - `LOG_LEVEL` 환경 변수로 제어
121
+
122
+ **errors.ts:**
123
+ - `DoorayAPIError` - API 에러 기본 클래스
124
+ - `AuthenticationError` - 인증 에러 (401)
125
+ - `ValidationError` - 입력 검증 에러
126
+ - `formatError()` - 에러 메시지 포맷팅
127
+
128
+ **response-filters.ts:**
129
+ - 응답 데이터 필터링 (토큰 절약)
130
+ - `filterTaskForList()` - 목록용 간소화 필터
131
+
132
+ **member-transform.ts:**
133
+ - 멤버 데이터 변환 유틸리티
134
+ - 내부 형식 → Dooray API 형식
135
+
136
+ ## 데이터 흐름
137
+
138
+ ### 도구 호출 흐름
139
+
140
+ ```
141
+ 1. Claude → MCP Server: CallToolRequest
142
+
143
+
144
+ 2. index.ts: toolRegistry에서 도구 조회
145
+
146
+
147
+ 3. Zod Schema: 입력 파라미터 검증
148
+
149
+
150
+ 4. Handler: API 함수 호출
151
+
152
+
153
+ 5. API Client: Dooray API HTTP 요청
154
+
155
+
156
+ 6. Response: 응답 처리 및 포맷팅
157
+
158
+
159
+ 7. MCP Server → Claude: 결과 반환
160
+ ```
161
+
162
+ ### 에러 처리 흐름
163
+
164
+ ```
165
+ API Error 발생
166
+
167
+
168
+ Axios Interceptor: 에러 캐치
169
+
170
+ ├─── 401: AuthenticationError 발생
171
+
172
+ ├─── 기타: DoorayAPIError 발생
173
+
174
+
175
+ Handler: try-catch로 에러 캐치
176
+
177
+
178
+ formatError(): 사용자 친화적 메시지 생성
179
+
180
+
181
+ MCP Response: { isError: true, content: [...] }
182
+ ```
183
+
184
+ ## 설정
185
+
186
+ ### 환경 변수
187
+
188
+ | 변수 | 필수 | 기본값 | 설명 |
189
+ |------|------|--------|------|
190
+ | `DOORAY_API_TOKEN` | O | - | Dooray API 인증 토큰 |
191
+ | `DOORAY_API_BASE_URL` | X | `https://api.dooray.com` | API 기본 URL |
192
+ | `LOG_LEVEL` | X | `INFO` | 로그 레벨 (ERROR/WARN/INFO/DEBUG) |
193
+
194
+ ### 타임아웃 설정
195
+
196
+ | 요청 타입 | 타임아웃 |
197
+ |-----------|----------|
198
+ | 일반 요청 | 30초 |
199
+ | 파일 업로드 | 60초 |
200
+
201
+ ## 보안 고려사항
202
+
203
+ 1. **API 토큰**: 환경 변수로만 전달, 코드에 하드코딩 금지
204
+ 2. **인증 헤더**: 모든 요청에 자동 주입
205
+ 3. **로깅**: stderr 사용으로 민감 정보 stdout 노출 방지
206
+ 4. **에러 처리**: API 응답 데이터 그대로 노출하지 않음
207
+
208
+ ## 확장 포인트
209
+
210
+ ### 새 도구 추가
211
+
212
+ 1. `src/tools/` 하위에 도구 파일 생성
213
+ 2. Zod 스키마, 핸들러, 도구 정의 구현
214
+ 3. `src/index.ts`에서 import 및 레지스트리 등록
215
+ 4. `tools` 배열에 도구 추가
216
+
217
+ ### 새 API 엔드포인트 추가
218
+
219
+ 1. `src/types/dooray-api.ts`에 타입 정의
220
+ 2. `src/api/projects.ts`에 API 함수 추가
221
+ 3. 필요시 새 도구 생성
222
+
223
+ ## 관련 문서
224
+
225
+ - [프로젝트 개요](./project-overview.md)
226
+ - [소스 트리 분석](./source-tree-analysis.md)
227
+ - [개발 가이드](./development-guide.md)
@@ -0,0 +1,336 @@
1
+ # Dooray MCP Server - 개발 가이드
2
+
3
+ ## 시작하기
4
+
5
+ ### 사전 요구사항
6
+
7
+ - **Node.js**: v18.0.0 이상
8
+ - **npm**: Node.js와 함께 설치됨
9
+ - **Dooray API 토큰**: [Dooray 설정](https://dooray.com/settings/token)에서 발급
10
+
11
+ ### 설치
12
+
13
+ ```bash
14
+ # 저장소 클론
15
+ git clone https://github.com/jhl8041/dooray-mcp.git
16
+ cd dooray-mcp
17
+
18
+ # 의존성 설치
19
+ npm install
20
+ ```
21
+
22
+ ### 환경 설정
23
+
24
+ `.env` 파일 생성:
25
+ ```bash
26
+ cp .env.example .env
27
+ ```
28
+
29
+ `.env` 파일 편집:
30
+ ```env
31
+ DOORAY_API_TOKEN=your_api_token_here
32
+ DOORAY_API_BASE_URL=https://api.dooray.com # 선택사항
33
+ LOG_LEVEL=INFO # ERROR, WARN, INFO, DEBUG
34
+ ```
35
+
36
+ ## 개발 명령어
37
+
38
+ | 명령어 | 설명 |
39
+ |--------|------|
40
+ | `npm run build` | TypeScript → JavaScript 컴파일 |
41
+ | `npm run dev` | tsx로 직접 실행 (컴파일 없이) |
42
+ | `npm run watch` | 파일 변경 감지 및 자동 재컴파일 |
43
+
44
+ ### 개발 워크플로우
45
+
46
+ 1. **개발 모드 실행**
47
+ ```bash
48
+ npm run dev
49
+ ```
50
+ - tsx가 TypeScript를 직접 실행
51
+ - 빠른 피드백 루프
52
+
53
+ 2. **빌드 및 테스트**
54
+ ```bash
55
+ npm run build
56
+ node dist/index.js
57
+ ```
58
+
59
+ 3. **Watch 모드**
60
+ ```bash
61
+ npm run watch
62
+ ```
63
+ - 파일 변경 시 자동 재컴파일
64
+ - 별도 터미널에서 `node dist/index.js` 실행
65
+
66
+ ## 프로젝트 구조
67
+
68
+ ```
69
+ src/
70
+ ├── index.ts # 엔트리 포인트
71
+ ├── api/ # API 클라이언트
72
+ ├── tools/ # MCP 도구
73
+ ├── types/ # TypeScript 타입
74
+ └── utils/ # 유틸리티
75
+ ```
76
+
77
+ 자세한 내용은 [소스 트리 분석](./source-tree-analysis.md) 참조
78
+
79
+ ## 새 도구 추가하기
80
+
81
+ ### 1. 도구 파일 생성
82
+
83
+ `src/tools/projects/` 또는 `src/tools/common/`에 새 파일 생성:
84
+
85
+ ```typescript
86
+ // src/tools/projects/new-tool.ts
87
+
88
+ import { z } from 'zod';
89
+ import { getClient } from '../../api/client.js';
90
+ import { formatError } from '../../utils/errors.js';
91
+
92
+ // 1. Zod 스키마 정의
93
+ export const newToolSchema = z.object({
94
+ param1: z.string().describe('파라미터 설명'),
95
+ param2: z.number().optional().describe('선택적 파라미터'),
96
+ });
97
+
98
+ export type NewToolInput = z.infer<typeof newToolSchema>;
99
+
100
+ // 2. 핸들러 함수 구현
101
+ export async function newToolHandler(args: NewToolInput) {
102
+ try {
103
+ const client = getClient();
104
+ const result = await client.get('/some/endpoint', { param: args.param1 });
105
+
106
+ return {
107
+ content: [
108
+ {
109
+ type: 'text',
110
+ text: JSON.stringify(result, null, 2),
111
+ },
112
+ ],
113
+ };
114
+ } catch (error) {
115
+ return {
116
+ content: [
117
+ {
118
+ type: 'text',
119
+ text: `Error: ${formatError(error)}`,
120
+ },
121
+ ],
122
+ isError: true,
123
+ };
124
+ }
125
+ }
126
+
127
+ // 3. 도구 정의
128
+ export const newTool = {
129
+ name: 'new-tool',
130
+ description: `도구에 대한 상세 설명.
131
+
132
+ 사용 예시, 주의사항 등을 포함.`,
133
+ inputSchema: {
134
+ type: 'object',
135
+ properties: {
136
+ param1: {
137
+ type: 'string',
138
+ description: '파라미터 설명',
139
+ },
140
+ param2: {
141
+ type: 'number',
142
+ description: '선택적 파라미터',
143
+ },
144
+ },
145
+ required: ['param1'],
146
+ },
147
+ };
148
+ ```
149
+
150
+ ### 2. index.ts에 등록
151
+
152
+ ```typescript
153
+ // src/index.ts
154
+
155
+ // Import 추가
156
+ import { newTool, newToolHandler, newToolSchema } from './tools/projects/new-tool.js';
157
+
158
+ // toolRegistry에 추가
159
+ const toolRegistry = {
160
+ // ... 기존 도구들
161
+ 'new-tool': { handler: newToolHandler, schema: newToolSchema },
162
+ };
163
+
164
+ // tools 배열에 추가
165
+ const tools = [
166
+ // ... 기존 도구들
167
+ newTool,
168
+ ];
169
+ ```
170
+
171
+ ### 3. 빌드 및 테스트
172
+
173
+ ```bash
174
+ npm run build
175
+ ```
176
+
177
+ ## 코드 스타일 가이드
178
+
179
+ ### TypeScript
180
+
181
+ - **엄격 모드**: `tsconfig.json`에서 `strict: true` 사용
182
+ - **타입 정의**: 모든 함수 파라미터와 반환값에 타입 명시
183
+ - **Zod 스키마**: 런타임 검증에 Zod 사용
184
+
185
+ ### 네이밍 컨벤션
186
+
187
+ | 대상 | 스타일 | 예시 |
188
+ |------|--------|------|
189
+ | 파일 | kebab-case | `get-task-list.ts` |
190
+ | 클래스 | PascalCase | `DoorayClient` |
191
+ | 함수/변수 | camelCase | `getTaskList` |
192
+ | 상수 | UPPER_SNAKE_CASE | `DEFAULT_BASE_URL` |
193
+ | 타입/인터페이스 | PascalCase | `TaskListParams` |
194
+
195
+ ### 에러 처리
196
+
197
+ ```typescript
198
+ // 권장 패턴
199
+ try {
200
+ const result = await apiCall();
201
+ return { content: [...], isError: false };
202
+ } catch (error) {
203
+ return {
204
+ content: [{ type: 'text', text: formatError(error) }],
205
+ isError: true,
206
+ };
207
+ }
208
+ ```
209
+
210
+ ## API 클라이언트 사용
211
+
212
+ ### 기본 사용법
213
+
214
+ ```typescript
215
+ import { getClient } from '../api/client.js';
216
+
217
+ const client = getClient();
218
+
219
+ // GET 요청
220
+ const data = await client.get<ResponseType>('/endpoint');
221
+
222
+ // GET 요청 (페이지네이션)
223
+ const paginated = await client.getPaginated<ItemType>('/endpoint', { page: 0, size: 20 });
224
+
225
+ // POST 요청
226
+ const created = await client.post<ResponseType>('/endpoint', { body: data });
227
+
228
+ // PUT 요청
229
+ const updated = await client.put<ResponseType>('/endpoint', { body: data });
230
+ ```
231
+
232
+ ### 커스텀 헤더
233
+
234
+ ```typescript
235
+ const result = await client.get('/endpoint', {}, {
236
+ 'X-Custom-Header': 'value'
237
+ });
238
+ ```
239
+
240
+ ## 타입 추가하기
241
+
242
+ ### Dooray API 타입
243
+
244
+ `src/types/dooray-api.ts`에 추가:
245
+
246
+ ```typescript
247
+ // 새 타입 정의
248
+ export interface NewEntity {
249
+ id: string;
250
+ name: string;
251
+ // ...
252
+ }
253
+
254
+ // 파라미터 타입
255
+ export interface NewEntityParams {
256
+ filter?: string;
257
+ page?: number;
258
+ size?: number;
259
+ }
260
+ ```
261
+
262
+ ## 디버깅
263
+
264
+ ### 로그 레벨 설정
265
+
266
+ ```bash
267
+ export LOG_LEVEL=DEBUG
268
+ npm run dev
269
+ ```
270
+
271
+ 로그는 stderr로 출력되어 MCP stdio 통신과 분리됩니다.
272
+
273
+ ### MCP Inspector 사용
274
+
275
+ MCP Inspector를 사용하여 도구 호출을 테스트할 수 있습니다.
276
+
277
+ ```bash
278
+ npx @anthropic-ai/mcp-inspector dist/index.js
279
+ ```
280
+
281
+ ## 배포
282
+
283
+ ### npm 배포
284
+
285
+ ```bash
286
+ # 버전 업데이트
287
+ npm version patch # 또는 minor, major
288
+
289
+ # 빌드 (prepare 스크립트에서 자동 실행)
290
+ npm run build
291
+
292
+ # 배포
293
+ npm publish
294
+ ```
295
+
296
+ ### 로컬 테스트
297
+
298
+ ```bash
299
+ # 글로벌 설치 테스트
300
+ npm link
301
+ dooray-mcp # 실행 테스트
302
+ npm unlink
303
+ ```
304
+
305
+ ## 문제 해결
306
+
307
+ ### 일반적인 문제
308
+
309
+ **1. "DOORAY_API_TOKEN is required" 에러**
310
+ - `.env` 파일에 토큰이 설정되어 있는지 확인
311
+ - 환경 변수가 올바르게 로드되는지 확인
312
+
313
+ **2. 401 Unauthorized 에러**
314
+ - API 토큰이 유효한지 확인
315
+ - 토큰이 만료되지 않았는지 확인
316
+
317
+ **3. TypeScript 컴파일 에러**
318
+ - `npm install`로 의존성 재설치
319
+ - `tsconfig.json` 설정 확인
320
+
321
+ **4. MCP 연결 실패**
322
+ - Claude Desktop 설정 파일 경로 확인
323
+ - JSON 형식이 올바른지 확인
324
+
325
+ ## 관련 문서
326
+
327
+ - [프로젝트 개요](./project-overview.md)
328
+ - [아키텍처 문서](./architecture.md)
329
+ - [소스 트리 분석](./source-tree-analysis.md)
330
+
331
+ ## 외부 리소스
332
+
333
+ - [Model Context Protocol 문서](https://modelcontextprotocol.io)
334
+ - [Dooray API 문서](https://dooray.com/docs/api)
335
+ - [TypeScript 핸드북](https://www.typescriptlang.org/docs/)
336
+ - [Zod 문서](https://zod.dev/)
package/docs/index.md ADDED
@@ -0,0 +1,115 @@
1
+ # Dooray MCP Server - 문서 인덱스
2
+
3
+ > AI 어시스턴트 개발을 위한 프로젝트 문서 허브
4
+
5
+ ## 프로젝트 요약
6
+
7
+ | 항목 | 값 |
8
+ |------|-----|
9
+ | **타입** | CLI / MCP Server |
10
+ | **언어** | TypeScript |
11
+ | **아키텍처** | Tool-based MCP Server |
12
+ | **저장소 구조** | Monolith |
13
+
14
+ ## 빠른 참조
15
+
16
+ - **기술 스택**: TypeScript 5.7, Node.js 18+, MCP SDK 1.0.4, Axios, Zod
17
+ - **진입점**: `src/index.ts`
18
+ - **아키텍처 패턴**: Tool Pattern + Layered Architecture
19
+ - **도구 수**: 17개 MCP 도구
20
+
21
+ ## 생성된 문서
22
+
23
+ ### 핵심 문서
24
+
25
+ | 문서 | 설명 |
26
+ |------|------|
27
+ | [프로젝트 개요](./project-overview.md) | 프로젝트 소개, 기술 스택, 주요 기능 |
28
+ | [아키텍처 문서](./architecture.md) | 시스템 구조, 컴포넌트, 데이터 흐름 |
29
+ | [소스 트리 분석](./source-tree-analysis.md) | 디렉토리 구조, 파일별 설명 |
30
+ | [개발 가이드](./development-guide.md) | 설정, 개발 명령어, 새 도구 추가 방법 |
31
+
32
+ ## 기존 문서
33
+
34
+ | 문서 | 설명 |
35
+ |------|------|
36
+ | [README.md](../README.md) | 설치 및 사용법 (한국어) |
37
+ | [CLAUDE.md](../CLAUDE.md) | AI 어시스턴트용 도구 상세 문서 (영어) |
38
+
39
+ ## 시작하기
40
+
41
+ ### 1. 설치
42
+
43
+ ```bash
44
+ npm install -g @jhl8041/dooray-mcp
45
+ ```
46
+
47
+ ### 2. 환경 변수 설정
48
+
49
+ ```bash
50
+ export DOORAY_API_TOKEN=<발급받은_토큰>
51
+ ```
52
+
53
+ ### 3. Claude Desktop 설정
54
+
55
+ `~/Library/Application Support/Claude/claude_desktop_config.json`:
56
+
57
+ ```json
58
+ {
59
+ "mcpServers": {
60
+ "dooray": {
61
+ "command": "npx @jhl8041/dooray-mcp@latest",
62
+ "env": { "DOORAY_API_TOKEN": "발급받은_토큰" }
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ ## MCP 도구 목록
69
+
70
+ ### 공통 도구
71
+
72
+ | 도구 | 설명 |
73
+ |------|------|
74
+ | `get-my-member-info` | 현재 사용자 정보 조회 |
75
+
76
+ ### 프로젝트 도구
77
+
78
+ | 도구 | 설명 |
79
+ |------|------|
80
+ | `get-project-list` | 프로젝트 목록 조회 |
81
+ | `get-project` | 프로젝트 상세 정보 |
82
+ | `get-project-workflow-list` | 워크플로우 상태 목록 |
83
+ | `get-task-list` | 업무 목록 (필터링/정렬) |
84
+ | `get-task` | 업무 상세 정보 |
85
+ | `create-task` | 업무 생성 |
86
+ | `update-task` | 업무 수정 |
87
+ | `create-task-comment` | 댓글 생성 |
88
+ | `get-task-comment-list` | 댓글 목록 |
89
+ | `update-task-comment` | 댓글 수정 |
90
+ | `get-milestone-list` | 마일스톤 목록 |
91
+ | `get-tag-list` | 태그 목록 |
92
+ | `get-project-template-list` | 템플릿 목록 |
93
+ | `get-project-template` | 템플릿 상세 |
94
+ | `get-project-member-list` | 프로젝트 멤버 목록 |
95
+ | `get-project-member-group-list` | 멤버 그룹 목록 |
96
+
97
+ ## 개발 명령어
98
+
99
+ ```bash
100
+ npm run build # TypeScript 컴파일
101
+ npm run dev # 개발 모드 실행
102
+ npm run watch # Watch 모드
103
+ ```
104
+
105
+ ## 외부 링크
106
+
107
+ - [Dooray 공식 사이트](https://dooray.com)
108
+ - [Model Context Protocol](https://modelcontextprotocol.io)
109
+ - [Dooray API 문서](https://dooray.com/docs/api)
110
+ - [GitHub 저장소](https://github.com/jhl8041/dooray-mcp)
111
+
112
+ ---
113
+
114
+ *이 문서는 BMAD Document Project 워크플로우에 의해 자동 생성되었습니다.*
115
+ *마지막 업데이트: 2026-01-27*