@neobiotechlabs/neobiotech-dev-agent 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 (155) hide show
  1. package/.claude-plugin/marketplace.json +22 -0
  2. package/.claude-plugin/plugin.json +58 -0
  3. package/.mcp.json +14 -0
  4. package/README.md +442 -0
  5. package/dist/__tests__/adf.test.d.ts +1 -0
  6. package/dist/__tests__/adf.test.js +68 -0
  7. package/dist/__tests__/adf.test.js.map +1 -0
  8. package/dist/__tests__/annex-ii-template.test.d.ts +1 -0
  9. package/dist/__tests__/annex-ii-template.test.js +39 -0
  10. package/dist/__tests__/annex-ii-template.test.js.map +1 -0
  11. package/dist/__tests__/doc-render.test.d.ts +1 -0
  12. package/dist/__tests__/doc-render.test.js +93 -0
  13. package/dist/__tests__/doc-render.test.js.map +1 -0
  14. package/dist/__tests__/help.test.d.ts +1 -0
  15. package/dist/__tests__/help.test.js +31 -0
  16. package/dist/__tests__/help.test.js.map +1 -0
  17. package/dist/__tests__/jira-fields.test.d.ts +1 -0
  18. package/dist/__tests__/jira-fields.test.js +81 -0
  19. package/dist/__tests__/jira-fields.test.js.map +1 -0
  20. package/dist/__tests__/plugin-manifest.test.d.ts +1 -0
  21. package/dist/__tests__/plugin-manifest.test.js +91 -0
  22. package/dist/__tests__/plugin-manifest.test.js.map +1 -0
  23. package/dist/__tests__/setup.test.d.ts +1 -0
  24. package/dist/__tests__/setup.test.js +7 -0
  25. package/dist/__tests__/setup.test.js.map +1 -0
  26. package/dist/__tests__/sync-version.test.d.ts +1 -0
  27. package/dist/__tests__/sync-version.test.js +37 -0
  28. package/dist/__tests__/sync-version.test.js.map +1 -0
  29. package/dist/clients/risk-client.d.ts +17 -0
  30. package/dist/clients/risk-client.js +54 -0
  31. package/dist/clients/risk-client.js.map +1 -0
  32. package/dist/clients/xray-client.d.ts +34 -0
  33. package/dist/clients/xray-client.js +127 -0
  34. package/dist/clients/xray-client.js.map +1 -0
  35. package/dist/config/project-config.d.ts +14 -0
  36. package/dist/config/project-config.js +45 -0
  37. package/dist/config/project-config.js.map +1 -0
  38. package/dist/confluence-client.d.ts +16 -0
  39. package/dist/confluence-client.js +97 -0
  40. package/dist/confluence-client.js.map +1 -0
  41. package/dist/index.d.ts +2 -0
  42. package/dist/index.js +60 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/jira-client.d.ts +35 -0
  45. package/dist/jira-client.js +119 -0
  46. package/dist/jira-client.js.map +1 -0
  47. package/dist/tools/annex-ii-template.d.ts +30 -0
  48. package/dist/tools/annex-ii-template.js +129 -0
  49. package/dist/tools/annex-ii-template.js.map +1 -0
  50. package/dist/tools/confluence.d.ts +2 -0
  51. package/dist/tools/confluence.js +54 -0
  52. package/dist/tools/confluence.js.map +1 -0
  53. package/dist/tools/cvss.d.ts +2 -0
  54. package/dist/tools/cvss.js +59 -0
  55. package/dist/tools/cvss.js.map +1 -0
  56. package/dist/tools/doc-render.d.ts +2 -0
  57. package/dist/tools/doc-render.js +96 -0
  58. package/dist/tools/doc-render.js.map +1 -0
  59. package/dist/tools/doc-validation.d.ts +2 -0
  60. package/dist/tools/doc-validation.js +221 -0
  61. package/dist/tools/doc-validation.js.map +1 -0
  62. package/dist/tools/help-data.d.ts +7 -0
  63. package/dist/tools/help-data.js +144 -0
  64. package/dist/tools/help-data.js.map +1 -0
  65. package/dist/tools/help.d.ts +2 -0
  66. package/dist/tools/help.js +39 -0
  67. package/dist/tools/help.js.map +1 -0
  68. package/dist/tools/iec.d.ts +2 -0
  69. package/dist/tools/iec.js +203 -0
  70. package/dist/tools/iec.js.map +1 -0
  71. package/dist/tools/init.d.ts +2 -0
  72. package/dist/tools/init.js +38 -0
  73. package/dist/tools/init.js.map +1 -0
  74. package/dist/tools/jira-crud.d.ts +2 -0
  75. package/dist/tools/jira-crud.js +142 -0
  76. package/dist/tools/jira-crud.js.map +1 -0
  77. package/dist/tools/risk.d.ts +2 -0
  78. package/dist/tools/risk.js +172 -0
  79. package/dist/tools/risk.js.map +1 -0
  80. package/dist/tools/traceability.d.ts +2 -0
  81. package/dist/tools/traceability.js +85 -0
  82. package/dist/tools/traceability.js.map +1 -0
  83. package/dist/tools/types.d.ts +13 -0
  84. package/dist/tools/types.js +2 -0
  85. package/dist/tools/types.js.map +1 -0
  86. package/dist/tools/usability.d.ts +2 -0
  87. package/dist/tools/usability.js +149 -0
  88. package/dist/tools/usability.js.map +1 -0
  89. package/dist/tools/xray.d.ts +2 -0
  90. package/dist/tools/xray.js +35 -0
  91. package/dist/tools/xray.js.map +1 -0
  92. package/dist/utils/adf.d.ts +27 -0
  93. package/dist/utils/adf.js +104 -0
  94. package/dist/utils/adf.js.map +1 -0
  95. package/dist/utils/cvss.d.ts +15 -0
  96. package/dist/utils/cvss.js +86 -0
  97. package/dist/utils/cvss.js.map +1 -0
  98. package/dist/utils/doc-render.d.ts +28 -0
  99. package/dist/utils/doc-render.js +50 -0
  100. package/dist/utils/doc-render.js.map +1 -0
  101. package/dist/utils/jira-fields.d.ts +38 -0
  102. package/dist/utils/jira-fields.js +53 -0
  103. package/dist/utils/jira-fields.js.map +1 -0
  104. package/dist/utils/sync-version.d.ts +2 -0
  105. package/dist/utils/sync-version.js +20 -0
  106. package/dist/utils/sync-version.js.map +1 -0
  107. package/package.json +49 -0
  108. package/skills/doc-render/SKILL.md +79 -0
  109. package/vendor/dev-docs-templates/templates/dev_docs/plan_template.md +104 -0
  110. package/vendor/dev-docs-templates/templates/dev_docs/prd_template.md +110 -0
  111. package/vendor/dev-docs-templates/templates/dev_docs/spec_template.md +81 -0
  112. package/vendor/dev-docs-templates/templates/dev_docs/tasks_template.md +122 -0
  113. package/vendor/dev-docs-templates/templates/mdr_docs/CA/checklist-clinical-evaluation.md +81 -0
  114. package/vendor/dev-docs-templates/templates/mdr_docs/CA/checklist-gspr-mdr.md +403 -0
  115. package/vendor/dev-docs-templates/templates/mdr_docs/CA/clinical-evaluation-report.md +492 -0
  116. package/vendor/dev-docs-templates/templates/mdr_docs/CA/instructions-for-use.md +132 -0
  117. package/vendor/dev-docs-templates/templates/mdr_docs/CA/literature-evaluation-table.md +15 -0
  118. package/vendor/dev-docs-templates/templates/mdr_docs/CA/mdr-declaration-of-conformity.md +75 -0
  119. package/vendor/dev-docs-templates/templates/mdr_docs/CA/post-market-clinical-follow-up-plan.md +162 -0
  120. package/vendor/dev-docs-templates/templates/mdr_docs/CA/post-market-surveillance-plan.md +175 -0
  121. package/vendor/dev-docs-templates/templates/mdr_docs/CA/risk-management-cybersecurity-checklist.md +67 -0
  122. package/vendor/dev-docs-templates/templates/mdr_docs/CA/risk-management-report.md +111 -0
  123. package/vendor/dev-docs-templates/templates/mdr_docs/CA/usability-evaluation-report.md +70 -0
  124. package/vendor/dev-docs-templates/templates/mdr_docs/EA/clinical-evaluation-plan.md +154 -0
  125. package/vendor/dev-docs-templates/templates/mdr_docs/EA/list-of-hazard-related-use-scenarios.md +34 -0
  126. package/vendor/dev-docs-templates/templates/mdr_docs/EA/risk-table-fmea.md +155 -0
  127. package/vendor/dev-docs-templates/templates/mdr_docs/EA/software-architecture-description.md +307 -0
  128. package/vendor/dev-docs-templates/templates/mdr_docs/EA/software-requirements-list.md +156 -0
  129. package/vendor/dev-docs-templates/templates/mdr_docs/EA/soup-list.md +82 -0
  130. package/vendor/dev-docs-templates/templates/mdr_docs/EA/usability-evaluation-plan.md +103 -0
  131. package/vendor/dev-docs-templates/templates/mdr_docs/ER/global/bug-fixes-documentation-list.md +35 -0
  132. package/vendor/dev-docs-templates/templates/mdr_docs/ER/global/change-evaluation-list.md +100 -0
  133. package/vendor/dev-docs-templates/templates/mdr_docs/ER/global/list-of-known-anomalies.md +29 -0
  134. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/algorithm-validation-report.md +170 -0
  135. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/checklist-software-release.md +52 -0
  136. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/checklist-software-requirements-review.md +50 -0
  137. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/software-architecture-checklist.md +41 -0
  138. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/software-detailed-design.md +321 -0
  139. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/software-system-test-plan.md +155 -0
  140. package/vendor/dev-docs-templates/templates/mdr_docs/ER/sprint/usability-evaluation-protocol.md +63 -0
  141. package/vendor/dev-docs-templates/templates/mdr_docs/PA/intended-use.md +116 -0
  142. package/vendor/dev-docs-templates/templates/mdr_docs/PA/mdr-classification-document.md +114 -0
  143. package/vendor/dev-docs-templates/templates/mdr_docs/PA/risk-management-plan.md +198 -0
  144. package/vendor/dev-docs-templates/templates/mdr_docs/PA/software-development-maintenance-plan.md +225 -0
  145. package/vendor/dev-docs-templates/templates/mdr_docs/PA/system-requirements-spec.md +182 -0
  146. package/vendor/dev-docs-templates/templates/mdr_docs/global/information_security/information-security-controls.md +966 -0
  147. package/vendor/dev-docs-templates/templates/mdr_docs/global/information_security/information-security-policy-and-scope.md +99 -0
  148. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/quality-manual-policy-objectives.md +187 -0
  149. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-capa.md +112 -0
  150. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-change-management.md +128 -0
  151. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-clinical-evaluation.md +102 -0
  152. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-feedback-management.md +140 -0
  153. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-integrated-software-development.md +361 -0
  154. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-post-market-surveillance.md +159 -0
  155. package/vendor/dev-docs-templates/templates/mdr_docs/global/qms/sop-software-problem-resolution.md +99 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: doc-render
3
+ description: doc_render ๋„๊ตฌ ์ถœ๋ ฅ์œผ๋กœ MDR/dev ๋ฌธ์„œ๋ฅผ ์ž๋™ ์ž‘์„ฑํ•ด consumer repo์— ์ €์žฅํ•˜๊ณ  Jira ํ‹ฐ์ผ“ description์— ๋ฏธ๋Ÿฌ. (Phase 4 โ€” ์ž๋™ ์ดˆ์•ˆ + ์‚ฌ์šฉ์ž ์ตœ์ข… ๋ฆฌ๋ทฐ)
4
+ ---
5
+
6
+ # doc_render ์ž‘์„ฑ skill
7
+
8
+ `doc_render` MCP ํˆด์ด ๋ Œ๋”ํ•œ ํ…œํ”Œ๋ฆฟ(๋ฉ”ํƒ€ ์น˜ํ™˜ + ๋นˆ์นธ/AI ์ง€์นจ ๋ณด์กด + ํ‹ฐ์ผ“ ๋ฐ์ดํ„ฐ)์„ ๋ฐ›์•„,
9
+ AI ์ง€์นจ๊ณผ ํ‹ฐ์ผ“ ๋ฐ์ดํ„ฐ๋กœ ๋นˆ์นธ์„ ์ฑ„์šฐ๊ณ , consumer repo์˜ `docs/` ์— ์ €์žฅํ•œ ๋’ค Jira ํ‹ฐ์ผ“
10
+ description์— ๋ฏธ๋Ÿฌํ•œ๋‹ค. ์ž๋™ ์ดˆ์•ˆ + ์‚ฌ์šฉ์ž ์ตœ์ข… ๋ฆฌ๋ทฐ ๋ฐฉ์‹.
11
+
12
+ ## ๋ฐœ๋™ ์กฐ๊ฑด
13
+
14
+ - ์‚ฌ์šฉ์ž๊ฐ€ "DYN-8 intended use ๋ฌธ์„œ ์ž‘์„ฑ", "<ticket> <template> ๋ฌธ์„œ ๋งŒ๋“ค์–ด" ๋“ฑ์œผ๋กœ ์š”์ฒญ
15
+ - ๋˜๋Š” ํ‹ฐ์ผ“ ํƒ€์ž…/์š”์•ฝ์—์„œ ํ…œํ”Œ๋ฆฟ์„ ์ถ”๋ก ํ•œ ๋’ค ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์ธ
16
+
17
+ ์ง€์› ํ…œํ”Œ๋ฆฟ(ํ˜„์žฌ): prd, spec, plan, tasks (dev), intended_use (mdr/PA).
18
+
19
+ ## ์ ˆ์ฐจ
20
+
21
+ 1. **์ž…๋ ฅ ์‹๋ณ„** โ€” ํ‹ฐ์ผ“ ํ‚คยทํ…œํ”Œ๋ฆฟ ํ™•์ •. ๋ฏธ์ง€์ • ์‹œ ํ‹ฐ์ผ“ ํƒ€์ž…ยท์š”์•ฝ์—์„œ ์ถ”๋ก ํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์ธ.
22
+ 2. **doc_render ํ˜ธ์ถœ** โ€” `doc_render(template, ticket_key)`. ๋ฐ˜ํ™˜: ๋ Œ๋” ๋ฉ”ํƒ€ + ๋ Œ๋”๋œ ํ…œํ”Œ๋ฆฟ + placeholder ๋ชฉ๋ก + ํ‹ฐ์ผ“ ๋ฐ์ดํ„ฐ JSON.
23
+ 3. **์žฌ๋ฃŒ ์ˆ˜์ง‘** โ€” `jira_get_issue` / `jira_get_links` ๋กœ ํ‹ฐ์ผ“ ๋ณธ๋ฌธ๊ณผ ๋งํฌ๋œ ๊ด€๋ จ ์ด์Šˆ(๋ถ€๋ชจ Gate, SyRS ๋“ฑ) ์กฐํšŒ. ํ‹ฐ์ผ“์— ์—†๋Š” ์ •๋ณด๋Š” ์ž๋™ ์ดˆ์•ˆ(4๋‹จ๊ณ„)์—์„œ ์ฑ„์šธ ์ˆ˜ ์—†์œผ๋ฉด ๋ฆฌ๋ทฐ(5๋‹จ๊ณ„)์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์™„.
24
+ 4. **์ž๋™ ์ดˆ์•ˆ ์ž‘์„ฑ** โ€” ๋ Œ๋”๋œ ํ…œํ”Œ๋ฆฟ์˜ AI ์ง€์นจ ์ฃผ์„ + ํ‹ฐ์ผ“ ๋ฐ์ดํ„ฐยท์žฌ๋ฃŒ๋กœ ๋นˆ์นธยทplaceholder๋ฅผ ์ฑ„์šด๋‹ค. ํ…œํ”Œ๋ฆฟ์˜ ์„น์…˜ ๊ตฌ์กฐยท๋งˆํ‚นยท์ €์ž‘๊ถŒ ํ‘ธํ„ฐ(openregulatory)๋Š” ์œ ์ง€.
25
+ 5. **์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ๊ฒŒ์ดํŠธ** โ€” ์ดˆ์•ˆ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ์‹œ. ์ˆ˜์ •ยท๋ณด์™„(ํšŒ์‚ฌ ํŠนํ™” ์ •๋ณด: ๊ธฐ๊ธฐ๋ช…ยทUDI-DIยท์ž„์ƒ ๊ทผ๊ฑฐ ๋“ฑ) ๋ฐ˜์˜ ํ›„ ์Šน์ธ. **์Šน์ธ ์ „์—๋Š” consumer repo์— ์“ฐ์ง€ ์•Š๋Š”๋‹ค.**
26
+ 6. **consumer repo ์ €์žฅ** โ€” ์•„๋ž˜ ์ €์žฅ ๊ฒฝ๋กœ ๊ทœ์น™๋Œ€๋กœ `Write`. ๋งจ ์œ„์— ๋ฒ„์ „ frontmatter(์•„๋ž˜ ์Šคํ‚ค๋งˆ) ํฌํ•จ.
27
+ 7. **Jira ๋ฏธ๋Ÿฌ** โ€” `doc_update_description(ticket_key, ๋ณธ๋ฌธ)`. frontmatter๋Š” ์ œ์™ธํ•˜๊ณ  ๋ณธ๋ฌธ๋งŒ.
28
+ 8. **๊ฒ€์ฆ** โ€” ์•„๋ž˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋กœ ๋ฏธ๋‹ฌ ํ•ญ๋ชฉ ๊ฒฝ๊ณ . ์ฐจ๋‹จํ•˜์ง€ ์•Š์Œ โ€” ์‚ฌ์šฉ์ž ํŒ๋‹จ.
29
+
30
+ ## ์ €์žฅ ๊ฒฝ๋กœ ๊ทœ์น™
31
+
32
+ - mdr: `docs/mdr/<gate>/<template>-<ticket>.md` (gate๋Š” doc_render ๋ Œ๋” ๋ฉ”ํƒ€์—์„œ)
33
+ - ์˜ˆ: `docs/mdr/PA/intended-use-DYN-8.md`
34
+ - dev: `docs/dev/<template>-<ticket>.md` (gate ์—†์Œ)
35
+ - ์˜ˆ: `docs/dev/prd-ER-123.md`
36
+
37
+ template๋ช…์˜ `_`๋Š” ํŒŒ์ผ๋ช…์—์„  `-`๋กœ (`intended_use` โ†’ `intended-use`).
38
+
39
+ ## ๋ฒ„์ „ frontmatter ์Šคํ‚ค๋งˆ
40
+
41
+ ์ €์žฅ ํŒŒ์ผ ๋งจ ์œ„:
42
+
43
+ ```yaml
44
+ ---
45
+ doc: intended-use
46
+ ticket: DYN-8
47
+ domain: mdr
48
+ gate: PA
49
+ template_version: 4dc0c46
50
+ version: 0.1
51
+ status: draft
52
+ updated: 2026-07-05
53
+ ---
54
+ ```
55
+
56
+ - `doc` / `domain` / `gate` / `template_version`: doc_render ๋ Œ๋” ๋ฉ”ํƒ€์—์„œ ๋ณต์‚ฌ.
57
+ - `ticket`: ๋Œ€์ƒ ํ‹ฐ์ผ“ ํ‚ค.
58
+ - `version` / `status`: Phase 4๋Š” ํ•ญ์ƒ `0.1` / `draft`. (๋ฒ„์ „์—…ยท์ƒํƒœ ์ „์ด๋Š” Phase 5.)
59
+ - `updated`: ์˜ค๋Š˜ ๋‚ ์งœ(YYYY-MM-DD).
60
+
61
+ ## ๊ฒ€์ฆ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
62
+
63
+ ์ดˆ์•ˆ ์ž‘์„ฑ ํ›„ ๊ฐ ํ•ญ๋ชฉ ์ ๊ฒ€ โ€” ๋ฏธ๋‹ฌ ์‹œ ๊ฒฝ๊ณ (์ฐจ๋‹จ ์•„๋‹˜):
64
+
65
+ - [ ] ๋ชจ๋“  ๋นˆ์นธยท๊บพ์‡  placeholder(`<...>`)๊ฐ€ ์ฑ„์›Œ์กŒ๊ฑฐ๋‚˜, ๋‚จ๊ฒจ๋‘” ์ด์œ ๊ฐ€ ๋ช…์‹œ๋จ
66
+ - [ ] AI ์ง€์นจ ์ฃผ์„์ด ์•ˆ๋‚ดํ•œ ๋ชจ๋“  ์„น์…˜์ด ์ž‘์„ฑ๋จ
67
+ - [ ] ์ €์ž‘๊ถŒ ํ‘ธํ„ฐ(openregulatory ๋“ฑ)๊ฐ€ ๋ณด์กด๋จ
68
+ - [ ] ํ‹ฐ์ผ“ ๋ฐ์ดํ„ฐ(๊ธฐ๊ธฐ๋ช…ยทUDI-DI ๋“ฑ ์ธ์Šคํ„ด์Šค ๊ฐ’)๊ฐ€ placeholder์— ๋“ค์–ด๊ฐ
69
+
70
+ ## ์—๋Ÿฌ ์ฒ˜๋ฆฌ
71
+
72
+ - `doc_render` ์‹คํŒจ: ์ฆ‰์‹œ ์ค‘๋‹จ, ์—๋Ÿฌ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ.
73
+ - ์ฑ„์šธ ์žฌ๋ฃŒ ๋ถ€์กฑ: ๋นˆ์นธยทplaceholder ๋‚จ๊ธฐ๊ณ  ๋ฆฌ๋ทฐ(5๋‹จ๊ณ„)์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์™„.
74
+ - Jira ๋ฏธ๋Ÿฌ ์‹คํŒจ: consumer repo ์ €์žฅ์€ ์œ ์ง€(์„ฑ๊ณต), Jira ์‹คํŒจ๋งŒ ๊ฒฝ๊ณ  โ€” ๋ถ€๋ถ„ ์„ฑ๊ณต ํ—ˆ์šฉ.
75
+ - ๊ฒ€์ฆ ๋ฏธ๋‹ฌ: ๊ฒฝ๊ณ ๋งŒ.
76
+
77
+ ## ์˜์กด ๋„๊ตฌ
78
+
79
+ `doc_render`, `jira_get_issue`, `jira_get_links`, `doc_update_description` (MCP) + `Write` (๋‚ด์žฅ).
@@ -0,0 +1,104 @@
1
+ # Implementation Plan: {PROJECT_NAME}
2
+
3
+ **Branch**: `feature/{TICKET_ID}` | **Date**: {DATE} | **Spec**: `docs/spec-kit/01_spec.md`
4
+ **Ticket**: `{TICKET_ID}` | **Type**: {ISSUE_TYPE}
5
+
6
+ ---
7
+
8
+ ## Summary
9
+ <!-- ๋ช…์„ธ์„œ์—์„œ ์ถ”์ถœํ•œ ์ฃผ์š” ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ ๊ธฐ์ˆ ์  ์ ‘๊ทผ ๋ฐฉ์‹ ์š”์•ฝ (3~5์ค„) -->
10
+ {SUMMARY}
11
+
12
+ ---
13
+
14
+ ## Technical Context
15
+
16
+ | ํ•ญ๋ชฉ | ๋‚ด์šฉ |
17
+ | ------------------------ | ----------------------- |
18
+ | **Language/Version** | {LANGUAGE_VERSION} |
19
+ | **Primary Dependencies** | {PRIMARY_DEPS} |
20
+ | **Storage** | {STORAGE_STRATEGY} |
21
+ | **Testing** | {TESTING_FRAMEWORK} |
22
+ | **Target Platform** | {TARGET_PLATFORM} |
23
+ | **Performance Goals** | {PERFORMANCE_GOALS} |
24
+ | **Constraints** | {TECHNICAL_CONSTRAINTS} |
25
+
26
+ ---
27
+
28
+ ## Constitution Check
29
+ *GATE: ์„ค๊ณ„ ์›์น™(Constitution) ์ค€์ˆ˜ ์—ฌ๋ถ€ ํ™•์ธ*
30
+
31
+ <!-- constitution.md ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๊ธฐ๋ณธ ์„ค๊ณ„ ์›์น™ ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด ๋จผ์ € ์ฝ๊ณ  ์ค€์ˆ˜ ์—ฌ๋ถ€๋ฅผ ๊ธฐ์ˆ  -->
32
+ - **SOLID ์›์น™**: {SOLID_COMPLIANCE}
33
+ - **๋ ˆ์ด์–ด ๋ถ„๋ฆฌ**: {LAYER_SEPARATION}
34
+ - **์—๋Ÿฌ ์ฒ˜๋ฆฌ ์ „๋žต**: {ERROR_HANDLING_STRATEGY}
35
+ - **๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ**: {SECURITY_CONSIDERATIONS}
36
+
37
+ ---
38
+
39
+ ## Project Structure
40
+
41
+ ### Documentation
42
+ ```text
43
+ docs/
44
+ โ”œโ”€โ”€ spec-kit/
45
+ โ”‚ โ”œโ”€โ”€ 01_spec.md
46
+ โ”‚ โ”œโ”€โ”€ 02_plan.md
47
+ โ”‚ โ””โ”€โ”€ 03_tasks.md
48
+ โ””โ”€โ”€ {OTHER_DOCS}
49
+ ```
50
+
51
+ ### Source Code
52
+ ```text
53
+ {SOURCE_DIR}/
54
+ โ”œโ”€โ”€ {MODULE_1}/
55
+ โ”‚ โ”œโ”€โ”€ {FILE_1} # {FILE_1_DESCRIPTION}
56
+ โ”‚ โ””โ”€โ”€ {FILE_2} # {FILE_2_DESCRIPTION}
57
+ โ””โ”€โ”€ {MODULE_2}/
58
+ โ””โ”€โ”€ {FILE_3} # {FILE_3_DESCRIPTION}
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Implementation Approach
64
+
65
+ ### Phase ์ˆœ์„œ ๋ฐ ์ ‘๊ทผ ๋ฐฉ์‹
66
+ 1. **Setup**: {SETUP_APPROACH}
67
+ 2. **Core Implementation**: {CORE_APPROACH}
68
+ 3. **Testing**: {TESTING_APPROACH}
69
+ 4. **Integration**: {INTEGRATION_APPROACH}
70
+
71
+ ### Key Technical Decisions
72
+ <!-- ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์  ๊ฒฐ์ •๊ณผ ๊ทธ ์ด์œ  -->
73
+ - **๊ฒฐ์ • 1**: {DECISION_1} โ€” ์ด์œ : {DECISION_1_REASON}
74
+ - **๊ฒฐ์ • 2**: {DECISION_2} โ€” ์ด์œ : {DECISION_2_REASON}
75
+
76
+ ---
77
+
78
+ ## Complexity Tracking
79
+ <!-- ์„ค๊ณ„ ์›์น™ ์œ„๋ฐ˜์ด๋‚˜ ๋ณต์žกํ•œ ๊ฒฐ์ •์— ๋Œ€ํ•œ ์ •๋‹น์„ฑ ๊ธฐ์ˆ  (ํ•„์š” ์‹œ) -->
80
+ - {COMPLEXITY_NOTE_1}
81
+
82
+ ---
83
+
84
+ ## References
85
+ - Spec: `docs/spec-kit/01_spec.md`
86
+ - ํ‹ฐ์ผ“: `{TICKET_ID}`
87
+ - ๊ด€๋ จ ๋ฌธ์„œ: `docs/02_SRS.md`, `docs/03_Architecture.md`
88
+
89
+ ---
90
+
91
+ ## ์ถ”์ ์„ฑ (Traceability)
92
+
93
+ | ๋ฐฉํ–ฅ | ์‚ฐ์ถœ๋ฌผ | ๋น„๊ณ  |
94
+ | ---- | ------ | ---- |
95
+ | **Input from** | `docs/spec-kit/01_spec.md` (spec_template) | ๊ธฐ๋Šฅ ๋ช…์„ธ |
96
+ | **Output to** | `docs/spec-kit/03_tasks.md` (tasks_template) | ํƒœ์Šคํฌ ๋ถ„ํ•ด |
97
+
98
+ ---
99
+
100
+ ## ๋ณ€๊ฒฝ ์ด๋ ฅ (Revision History)
101
+
102
+ | ๋ฒ„์ „ | ๋‚ ์งœ | ์ž‘์„ฑ์ž | ๋ณ€๊ฒฝ ๋‚ด์šฉ |
103
+ | ---- | ------ | -------- | --------- |
104
+ | 0.1 | {DATE} | {AUTHOR} | ์ดˆ์•ˆ ์ž‘์„ฑ |
@@ -0,0 +1,110 @@
1
+ # Product Requirements Document (PRD): {PROJECT_NAME}
2
+
3
+ **Status**: Draft | **Version**: 1.0 | **Date**: {DATE}
4
+ **Ticket**: `{TICKET_ID}` | **Type**: {ISSUE_TYPE}
5
+
6
+ ---
7
+
8
+ ## 1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š” (Project Overview)
9
+
10
+ ### 1.1 ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉ์ 
11
+ <!-- ์ด ๊ธฐ๋Šฅ/์ œํ’ˆ์ด ์™œ ํ•„์š”ํ•œ๊ฐ€? ๋น„์ฆˆ๋‹ˆ์Šค ๋ชฉ์ ๊ณผ ๋ฌธ์ œ ์ •์˜ -->
12
+ {BACKGROUND_AND_PURPOSE}
13
+
14
+ ### 1.2 ๋ชฉํ‘œ (Goals)
15
+ <!-- ์ด PRD๋ฅผ ํ†ตํ•ด ๋‹ฌ์„ฑํ•˜๋ ค๋Š” ํ•ต์‹ฌ ๋ชฉํ‘œ (3๊ฐœ ์ด๋‚ด, ์ธก์ • ๊ฐ€๋Šฅํ•˜๊ฒŒ) -->
16
+ - **Goal 1**: {GOAL_1}
17
+ - **Goal 2**: {GOAL_2}
18
+ - **Goal 3**: {GOAL_3}
19
+
20
+ ### 1.3 ๋ฒ”์œ„ (Scope)
21
+
22
+ | ํ•ญ๋ชฉ | ๋‚ด์šฉ |
23
+ | ----------------------- | -------------- |
24
+ | **ํฌํ•จ (In Scope)** | {IN_SCOPE} |
25
+ | **์ œ์™ธ (Out of Scope)** | {OUT_OF_SCOPE} |
26
+
27
+ ---
28
+
29
+ ## 2. ํ•ต์‹ฌ ํƒ€๊ฒŸ ์œ ์ € (Target Users)
30
+
31
+ ### Primary User
32
+ - **์—ญํ• **: {PRIMARY_USER_ROLE}
33
+ - **Pain Point**: {PRIMARY_PAIN_POINT}
34
+ - **Goal**: {PRIMARY_USER_GOAL}
35
+
36
+ ### Secondary User (์„ ํƒ์‚ฌํ•ญ)
37
+ - **์—ญํ• **: {SECONDARY_USER_ROLE}
38
+ - **Pain Point**: {SECONDARY_PAIN_POINT}
39
+
40
+ ---
41
+
42
+ ## 3. ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ (User Stories)
43
+
44
+ ### Epic Level Stories
45
+ <!-- ๊ฐ€์žฅ ํฐ ๋‹จ์œ„์˜ ์‚ฌ์šฉ์ž ๋ชฉํ‘œ -->
46
+ - **US-001**: {USER_STORY_1}
47
+ - **US-002**: {USER_STORY_2}
48
+
49
+ ---
50
+
51
+ ## 4. ์ฃผ์š” ๊ธฐ๋Šฅ ์šฐ์„ ์ˆœ์œ„ (Feature Prioritization โ€” MoSCoW)
52
+
53
+ ### Must Have (ํ•„์ˆ˜)
54
+ <!-- ์—†์œผ๋ฉด ์ œํ’ˆ์ด ๋™์ž‘ํ•˜์ง€ ์•Š์Œ -->
55
+ - {MUST_HAVE_1}
56
+ - {MUST_HAVE_2}
57
+
58
+ ### Should Have (๊ถŒ์žฅ)
59
+ <!-- ์ค‘์š”ํ•˜์ง€๋งŒ ์—†์–ด๋„ ์ตœ์†Œ ๋™์ž‘์€ ๊ฐ€๋Šฅ -->
60
+ - {SHOULD_HAVE_1}
61
+
62
+ ### Could Have (์˜ต์…˜)
63
+ <!-- ์žˆ์œผ๋ฉด ์ข‹์ง€๋งŒ ์šฐ์„ ์ˆœ์œ„ ๋‚ฎ์Œ -->
64
+ - {COULD_HAVE_1}
65
+
66
+ ### Won't Have (์ด๋ฒˆ ๋ฒ„์ „ ์ œ์™ธ)
67
+ <!-- ๋ช…์‹œ์ ์œผ๋กœ ์ด๋ฒˆ ๋ฒ”์œ„์—์„œ ์ œ์™ธ -->
68
+ - {WONT_HAVE_1}
69
+
70
+ ---
71
+
72
+ ## 5. ์„ฑ๊ณต ์ง€ํ‘œ (Success Metrics)
73
+
74
+ | ์ง€ํ‘œ | ๋ชฉํ‘œ์น˜ | ์ธก์ • ๋ฐฉ๋ฒ• |
75
+ | ---------- | ---------- | ------------------ |
76
+ | {METRIC_1} | {TARGET_1} | {HOW_TO_MEASURE_1} |
77
+ | {METRIC_2} | {TARGET_2} | {HOW_TO_MEASURE_2} |
78
+
79
+ ---
80
+
81
+ ## 6. ์ œ์•ฝ์‚ฌํ•ญ ๋ฐ ๊ฐ€์ • (Constraints & Assumptions)
82
+
83
+ ### ์ œ์•ฝ์‚ฌํ•ญ
84
+ - {CONSTRAINT_1}
85
+
86
+ ### ๊ฐ€์ •
87
+ - {ASSUMPTION_1}
88
+
89
+ ---
90
+
91
+ ## 7. ์ฐธ๊ณ ์ž๋ฃŒ (References)
92
+ - ํ‹ฐ์ผ“: `{TICKET_ID}`
93
+ - ๊ด€๋ จ ๋ฌธ์„œ: `docs/02_SRS.md`, `docs/03_Architecture.md`
94
+
95
+ ---
96
+
97
+ ## ์ถ”์ ์„ฑ (Traceability)
98
+
99
+ | ๋ฐฉํ–ฅ | ์‚ฐ์ถœ๋ฌผ | ๋น„๊ณ  |
100
+ | ---- | ------ | ---- |
101
+ | **Input from** | Epic/Feature ํ‹ฐ์ผ“ `{TICKET_ID}` | ์ƒ์œ„ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ |
102
+ | **Output to** | `docs/spec-kit/01_spec.md` (spec_template) | ๊ธฐ๋Šฅ ๋ช…์„ธ |
103
+
104
+ ---
105
+
106
+ ## ๋ณ€๊ฒฝ ์ด๋ ฅ (Revision History)
107
+
108
+ | ๋ฒ„์ „ | ๋‚ ์งœ | ์ž‘์„ฑ์ž | ๋ณ€๊ฒฝ ๋‚ด์šฉ |
109
+ | ---- | ------ | -------- | --------- |
110
+ | 0.1 | {DATE} | {AUTHOR} | ์ดˆ์•ˆ ์ž‘์„ฑ |
@@ -0,0 +1,81 @@
1
+ # Feature Specification: {PROJECT_NAME}
2
+
3
+ **Feature Branch**: `{TICKET_ID}-{FEATURE_SLUG}`
4
+ **Status**: Draft | **Date**: {DATE}
5
+ **Ticket**: `{TICKET_ID}` | **Type**: {ISSUE_TYPE}
6
+ **Input**: `docs/01_PRD.md` (์กด์žฌ ์‹œ)
7
+
8
+ ---
9
+
10
+ ## User Scenarios & Testing
11
+ <!-- ๊ฐ ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ฐ€์น˜๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค -->
12
+
13
+ ### User Story 1 โ€” {US1_TITLE} (Priority: P1) ๐ŸŽฏ MVP
14
+ - **์„ค๋ช…**: {US1_DESCRIPTION}
15
+ - **Why this priority**: {US1_PRIORITY_REASON}
16
+ - **Independent Test**: {US1_TEST_METHOD}
17
+ - **Acceptance Scenarios**:
18
+ 1. **Given** {US1_GIVEN_1}, **When** {US1_WHEN_1}, **Then** {US1_THEN_1}
19
+ 2. **Given** {US1_GIVEN_2}, **When** {US1_WHEN_2}, **Then** {US1_THEN_2}
20
+
21
+ ### User Story 2 โ€” {US2_TITLE} (Priority: P2)
22
+ - **์„ค๋ช…**: {US2_DESCRIPTION}
23
+ - **Why this priority**: {US2_PRIORITY_REASON}
24
+ - **Independent Test**: {US2_TEST_METHOD}
25
+ - **Acceptance Scenarios**:
26
+ 1. **Given** {US2_GIVEN_1}, **When** {US2_WHEN_1}, **Then** {US2_THEN_1}
27
+
28
+ <!-- ํ•„์š”ํ•œ ๋งŒํผ User Story ์„น์…˜์„ ์ถ”๊ฐ€ -->
29
+
30
+ ### Edge Cases (์—ฃ์ง€ ์ผ€์ด์Šค)
31
+ - **EC-001**: {EDGE_CASE_1}
32
+ - **EC-002**: {EDGE_CASE_2}
33
+
34
+ ---
35
+
36
+ ## Requirements
37
+
38
+ ### Functional Requirements (๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ)
39
+ - **FR-001**: ์‹œ์Šคํ…œ์€ ๋ฐ˜๋“œ์‹œ {FR_001_CAPABILITY}๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•จ
40
+ - **FR-002**: ์‹œ์Šคํ…œ์€ ๋ฐ˜๋“œ์‹œ {FR_002_CAPABILITY}๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•จ
41
+ <!-- FR-XXX ํ˜•์‹์œผ๋กœ ๊ณ„์† ์ถ”๊ฐ€ -->
42
+
43
+ ### Non-Functional Requirements (๋น„๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ)
44
+ - **NFR-001 (์„ฑ๋Šฅ)**: {NFR_001_PERFORMANCE}
45
+ - **NFR-002 (๋ณด์•ˆ)**: {NFR_002_SECURITY}
46
+ - **NFR-003 (๊ฐ€์šฉ์„ฑ)**: {NFR_003_AVAILABILITY}
47
+
48
+ ### Key Entities (ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ํ•ด๋‹น ์‹œ)
49
+ - **{ENTITY_1}**: {ENTITY_1_DESCRIPTION} โ€” ํ•ต์‹ฌ ์†์„ฑ: {ENTITY_1_KEY_ATTRS}
50
+ - **{ENTITY_2}**: {ENTITY_2_DESCRIPTION} โ€” ํ•ต์‹ฌ ์†์„ฑ: {ENTITY_2_KEY_ATTRS}
51
+
52
+ ---
53
+
54
+ ## Success Criteria
55
+
56
+ ### Measurable Outcomes (์ธก์ • ๊ฐ€๋Šฅํ•œ ์ง€ํ‘œ)
57
+ - **SC-001**: {SC_001_METRIC}
58
+ - **SC-002**: {SC_002_METRIC}
59
+
60
+ ### Definition of Done
61
+ - [ ] ๋ชจ๋“  FR-XXX ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌํ˜„ ์™„๋ฃŒ
62
+ - [ ] ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ {COVERAGE_TARGET}% ์ด์ƒ
63
+ - [ ] Edge Case ์‹œ๋‚˜๋ฆฌ์˜ค ๊ฒ€์ฆ ์™„๋ฃŒ
64
+ - [ ] ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์Šน์ธ
65
+
66
+ ---
67
+
68
+ ## ์ถ”์ ์„ฑ (Traceability)
69
+
70
+ | ๋ฐฉํ–ฅ | ์‚ฐ์ถœ๋ฌผ | ๋น„๊ณ  |
71
+ | ---- | ------ | ---- |
72
+ | **Input from** | `docs/01_PRD.md` (prd_template) | ์ œํ’ˆ ์š”๊ตฌ์‚ฌํ•ญ |
73
+ | **Output to** | `docs/spec-kit/02_plan.md` (plan_template) | ๊ตฌํ˜„ ๊ณ„ํš |
74
+
75
+ ---
76
+
77
+ ## ๋ณ€๊ฒฝ ์ด๋ ฅ (Revision History)
78
+
79
+ | ๋ฒ„์ „ | ๋‚ ์งœ | ์ž‘์„ฑ์ž | ๋ณ€๊ฒฝ ๋‚ด์šฉ |
80
+ | ---- | ------ | -------- | --------- |
81
+ | 0.1 | {DATE} | {AUTHOR} | ์ดˆ์•ˆ ์ž‘์„ฑ |
@@ -0,0 +1,122 @@
1
+ # Tasks: {PROJECT_NAME}
2
+
3
+ **Input**: `docs/spec-kit/01_spec.md`, `docs/spec-kit/02_plan.md`
4
+ **Ticket**: `{TICKET_ID}` | **Date**: {DATE}
5
+
6
+ > **ํ˜•์‹ ์•ˆ๋‚ด**
7
+ > - `[ID]` : ํƒœ์Šคํฌ ๋ฒˆํ˜ธ (T001, T002, ...)
8
+ > - `[P]` : ๋ณ‘๋ ฌ ์‹คํ–‰ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ‘œ์‹œ (๐Ÿ”€ ๋ณ‘๋ ฌ ๊ฐ€๋Šฅ / ๐Ÿ”’ ์ˆœ์„œ ํ•„์ˆ˜)
9
+ > - `[Story]` : ๊ด€๋ จ ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ (US1, US2, ...)
10
+ > - ๊ฐ ํƒœ์Šคํฌ๋Š” **2์‹œ๊ฐ„ ์ด๋‚ด** ์™„๋ฃŒ ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋กœ ๋ถ„ํ• 
11
+
12
+ ---
13
+
14
+ ## Phase 1: Setup (๊ณตํ†ต ์ธํ”„๋ผ)
15
+ <!-- ๋ชจ๋“  ๋‹ค์Œ ๋‹จ๊ณ„์— ํ•„์š”ํ•œ ๊ณตํ†ต ํ™˜๊ฒฝ ์„ค์ • -->
16
+
17
+ - [ ] **T001** ๐Ÿ”’ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์ƒ์„ฑ ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ดˆ๊ธฐํ™”
18
+ - ํŒŒ์ผ: `{SETUP_FILE_1}`, `{SETUP_FILE_2}`
19
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T001_DONE_CONDITION}`
20
+
21
+ - [ ] **T002** ๐Ÿ”’ ์˜์กด์„ฑ ํŒจํ‚ค์ง€ ์ •์˜ ๋ฐ ์„ค์น˜
22
+ - ํŒŒ์ผ: `{DEPENDENCY_FILE}`
23
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T002_DONE_CONDITION}`
24
+
25
+ ---
26
+
27
+ ## Phase 2: Foundational (์„ ํ–‰ ํ•„์ˆ˜ ํ•ญ๋ชฉ)
28
+ <!-- โš ๏ธ CRITICAL: ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ ๊ตฌํ˜„ ์ „ ๋ฐ˜๋“œ์‹œ ์™„๋ฃŒํ•ด์•ผ ํ•  ํ•ต์‹ฌ ์ธํ”„๋ผ -->
29
+
30
+ - [ ] **T003** ๐Ÿ”’ {FOUNDATIONAL_TASK_1_TITLE}
31
+ - ํŒŒ์ผ: `{T003_FILES}`
32
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T003_DONE_CONDITION}`
33
+
34
+ - [ ] **T004** ๐Ÿ”’ {FOUNDATIONAL_TASK_2_TITLE}
35
+ - ํŒŒ์ผ: `{T004_FILES}`
36
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T004_DONE_CONDITION}`
37
+
38
+ ---
39
+
40
+ ## Phase 3: User Story 1 โ€” {US1_TITLE} (Priority: P1) ๐ŸŽฏ MVP
41
+
42
+ - **Goal**: {US1_GOAL}
43
+ - **Independent Test**: {US1_INDEPENDENT_TEST}
44
+
45
+ - [ ] **T005** ๐Ÿ”€ [US1] {US1_TASK_1_DESCRIPTION}
46
+ - ํŒŒ์ผ: `{T005_FILES}`
47
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T005_DONE_CONDITION}`
48
+
49
+ - [ ] **T006** ๐Ÿ”€ [US1] {US1_TASK_2_DESCRIPTION}
50
+ - ํŒŒ์ผ: `{T006_FILES}`
51
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T006_DONE_CONDITION}`
52
+
53
+ - [ ] **T007** ๐Ÿ”’ [US1] ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
54
+ - ํŒŒ์ผ: `{T007_TEST_FILES}`
55
+ - ์™„๋ฃŒ ์กฐ๊ฑด: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ {COVERAGE_TARGET}% ์ด์ƒ, ์ „์ฒด PASS
56
+
57
+ ---
58
+
59
+ ## Phase 4: User Story 2 โ€” {US2_TITLE} (Priority: P2)
60
+
61
+ - **Goal**: {US2_GOAL}
62
+ - **Independent Test**: {US2_INDEPENDENT_TEST}
63
+
64
+ - [ ] **T008** ๐Ÿ”€ [US2] {US2_TASK_1_DESCRIPTION}
65
+ - ํŒŒ์ผ: `{T008_FILES}`
66
+ - ์™„๋ฃŒ ์กฐ๊ฑด: `{T008_DONE_CONDITION}`
67
+
68
+ - [ ] **T009** ๐Ÿ”’ [US2] ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
69
+ - ํŒŒ์ผ: `{T009_TEST_FILES}`
70
+ - ์™„๋ฃŒ ์กฐ๊ฑด: ์ „์ฒด PASS
71
+
72
+ <!-- ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ๋ณ„ Phase๋ฅผ ํ•„์š”ํ•œ ๋งŒํผ ์ถ”๊ฐ€ -->
73
+
74
+ ---
75
+
76
+ ## Phase N: Integration & Finalization
77
+
78
+ - [ ] **T-INT-01** ๐Ÿ”’ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ฐ ๊ฒ€์ฆ
79
+ - ์™„๋ฃŒ ์กฐ๊ฑด: ๋ชจ๋“  Acceptance Scenario PASS
80
+
81
+ - [ ] **T-INT-02** ๐Ÿ”’ docs/summary.md ์ž‘์„ฑ ๋ฐ git commit/push
82
+ - ์™„๋ฃŒ ์กฐ๊ฑด: ์›๊ฒฉ ๋ธŒ๋žœ์น˜ push ์™„๋ฃŒ
83
+
84
+ ---
85
+
86
+ ## Dependencies & Execution Order
87
+
88
+ ```
89
+ T001 โ†’ T002 โ†’ T003 โ†’ T004
90
+ โ†“
91
+ T005, T006 (๐Ÿ”€ ๋ณ‘๋ ฌ) โ†’ T007
92
+ T008 (๐Ÿ”€ ๋ณ‘๋ ฌ) โ†’ T009
93
+ โ†“
94
+ T-INT-01 โ†’ T-INT-02
95
+ ```
96
+
97
+ ## Estimated Effort
98
+
99
+ | Phase | ํƒœ์Šคํฌ ์ˆ˜ | ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„ |
100
+ | ------------ | ----------------- | ------------------ |
101
+ | Setup | {PHASE1_COUNT} | {PHASE1_EFFORT} |
102
+ | Foundational | {PHASE2_COUNT} | {PHASE2_EFFORT} |
103
+ | User Stories | {PHASE3_COUNT} | {PHASE3_EFFORT} |
104
+ | Integration | 2 | {PHASEINT_EFFORT} |
105
+ | **ํ•ฉ๊ณ„** | **{TOTAL_COUNT}** | **{TOTAL_EFFORT}** |
106
+
107
+ ---
108
+
109
+ ## ์ถ”์ ์„ฑ (Traceability)
110
+
111
+ | ๋ฐฉํ–ฅ | ์‚ฐ์ถœ๋ฌผ | ๋น„๊ณ  |
112
+ | ---- | ------ | ---- |
113
+ | **Input from** | `docs/spec-kit/02_plan.md` (plan_template) | ๊ตฌํ˜„ ๊ณ„ํš |
114
+ | **Output to** | ๊ตฌํ˜„ ์ปค๋ฐ‹/PR (`{TICKET_ID}`) | ์ฝ”๋“œ ์‚ฐ์ถœ๋ฌผ |
115
+
116
+ ---
117
+
118
+ ## ๋ณ€๊ฒฝ ์ด๋ ฅ (Revision History)
119
+
120
+ | ๋ฒ„์ „ | ๋‚ ์งœ | ์ž‘์„ฑ์ž | ๋ณ€๊ฒฝ ๋‚ด์šฉ |
121
+ | ---- | ------ | -------- | --------- |
122
+ | 0.1 | {DATE} | {AUTHOR} | ์ดˆ์•ˆ ์ž‘์„ฑ |
@@ -0,0 +1,81 @@
1
+ # Checklist: Clinical Evaluation Report
2
+
3
+ ## 1. Summary
4
+
5
+ Herein, we verify the completeness and consistency of the release of the Clinical Evaluation Report with the
6
+ requirements stated in Appendix A10 of the MEDDEV 2.7/1 revision 4 Guideline.
7
+
8
+ > This checklist is actually copy-pasted from the Appendix A10 of the MEDDEV 2.7/1 revision 4 Guideline.
9
+ >
10
+ > This template is the bare minimum to ensure that your Clinical Evaluation Report is compliant with the
11
+ > requirements for the initial CE-marking and follows the key points the notified bodies in the EU will assess
12
+ > your Clinical Evaluation Report for. Feel free to add further rows and / or adapt the current ones in the
13
+ > checklist if they make sense for your SaMD. Make sure to fill it out before you continue working on other
14
+ > technical documentation of your SaMD especially post-market surveillance and risk assessment-related
15
+ > activities.
16
+
17
+ ## 2. Relevant Other Documentation
18
+
19
+ * Clinical Evaluation Report (Doc-ID)
20
+
21
+ ## 3. Checklist Overview
22
+
23
+ The following documents are up to date:
24
+
25
+ > The table below shows examples only. Add - or reference - a list of all your required TechDoc records.
26
+
27
+ | Item | Yes | No | Comment |
28
+ |-------------------------------------|-------|------|---------|
29
+ | SOP Clinical Evaluation (Doc-ID) | | | |
30
+ | Clinical Evaluation Plan (Doc-ID) | | | |
31
+ | Clinical Evaluation Report (Doc-ID) | | | |
32
+ | Declaration of Conformity | | | |
33
+
34
+ The following activities have been performed:
35
+
36
+ | Checklist Items | Yes | No | Comment |
37
+ |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|----|---------|
38
+ | Can the report be read and understood by a third party, does it provide sufficient detail for understanding the data that are available, all assumptions made and all conclusions reached? | | | |
39
+ | If clinical data have been generated and are held by the manufacturer, are all data mentioned and adequately summarised in the report? | | | |
40
+ | If equivalence is claimed, | | | |
41
+ | \- is demonstration of equivalence included in the report? | | | |
42
+ | \- does the report disclose all the differences between the device under evaluation and the equivalent device? | | | |
43
+ | \- does it explain why the differences are not expected to affect the clinical performance and clinical safety of the device? | | | |
44
+ | If the product is already in the market in Europe or elsewhere, has the latest PMS/ PMCF data been taken into consideration and has it been summarised and referenced in the report? | | | |
45
+ | In respect to current knowledge/ the state of the art, | | | |
46
+ | \- has the report been updated? | | | |
47
+ | \- is current knowledge/ the state of the art summarised in the report and is it adequately substantiated by literature? | | | |
48
+ | \- does the content of the report fully correspond to current knowledge/ the state of the art? | | | |
49
+ | \- does the report explain why the benefit/risk profile and the undesirable side\-effects are acceptable in relation to current knowledge/ the state of the art? | | | |
50
+ | If the report covers several models/ sizes/ settings and/or different clinical situations, is there sufficient clinical evidence and are the reportโ€™s conclusions correct for | | | |
51
+ | \- all the devices? | | | |
52
+ | \- all its sizes, models and settings? (including the smallest/ largest size, highest/ lowest dose, etc.) | | | |
53
+ | \- every medical indication? (as described in the IFU/ not excluded with contraindications in the IFU) | | | |
54
+ | \- the entire target population? (from pre term infants to old age, for males and females, etc., if not restricted in the IFU) | | | |
55
+ | \- every form, stage and severity of the medical condition, as applicable? (including the most severe/ most benign forms, acute/ chronic stage, if not excluded in the IFU) | | | |
56
+ | \- all intended users? (including lay persons, if not excluded in the IFU, and any unusual user group) | | | |
57
+ | \- the whole duration of product use, including the maximal number of repeated exposure? (as allowed by the IFU) | | | |
58
+ | \- if there are any discrepancies as to the above, are they identified in the reportโ€™s conclusions? | | | |
59
+ | Is conformity to each of the relevant Essential Requirements (AIMDD ER1,2,5 / MDD ER1,3,6 ) clearly stated and are all discrepancies identified in the reportโ€™s conclusions? | | | |
60
+ | Do the information materials supplied by the manufacturer correspond with the contents of the report and are all discrepancies identified in the reportโ€™s conclusions? | | | |
61
+ | Do the reportโ€™s conclusions identify all residual risks and uncertainties or unanswered questions that should be addressed with PMS/ PMCF studies? | | | |
62
+ | Is the report dated? | | | |
63
+ | Is the qualification of the evaluators included in the report and correct? | | | |
64
+ | Does the manufacturer hold a CV and declaration of interests of each of the evaluators and are these up-to-date? | | | |
65
+
66
+ ## 4. Comments
67
+
68
+ \<Insert comments if applicable\>
69
+
70
+ ## 5. Result
71
+
72
+ [ ] Checklist passed\
73
+ [ ] Checklist not passed\
74
+ [ ] Checklist passed with the following obligations: \<Insert if applicable\>
75
+
76
+ ---
77
+
78
+ Template Copyright [openregulatory.com](https://openregulatory.com). See [template
79
+ license](https://openregulatory.com/template-license).
80
+
81
+ Please don't remove this notice even if you've modified contents of this template.