@silbaram/artifact-driven-agent 0.1.9 β†’ 0.2.3

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 (222) hide show
  1. package/README.md +296 -25
  2. package/ai-dev-team/.ada-status.template.json +10 -10
  3. package/ai-dev-team/README.md +39 -44
  4. package/ai-dev-team/artifacts/api.md +2 -212
  5. package/ai-dev-team/artifacts/features/_template/api.md +19 -19
  6. package/ai-dev-team/artifacts/features/_template/review.md +14 -14
  7. package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
  8. package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
  9. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -57
  10. package/ai-dev-team/artifacts/project.md +2 -193
  11. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
  12. package/core/artifacts/decision.md +72 -72
  13. package/core/artifacts/plan.md +187 -187
  14. package/core/artifacts/project.md +193 -193
  15. package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
  16. package/core/artifacts/sprints/_template/meta.md +54 -54
  17. package/core/artifacts/sprints/_template/retrospective.md +50 -50
  18. package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
  19. package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
  20. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -29
  21. package/core/docs-templates/mkdocs/docs/changelog.md +36 -36
  22. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -60
  23. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -51
  24. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -41
  25. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -56
  26. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -83
  27. package/core/docs-templates/mkdocs/docs/index.md +32 -32
  28. package/core/docs-templates/mkdocs/mkdocs.yml +86 -86
  29. package/core/roles/analyzer.md +265 -265
  30. package/core/roles/developer.md +6 -1
  31. package/core/roles/documenter.md +226 -715
  32. package/core/roles/improver.md +461 -461
  33. package/core/roles/manager.md +574 -544
  34. package/core/roles/planner.md +398 -398
  35. package/core/roles/reviewer.md +294 -294
  36. package/core/rules/document-priority.md +198 -198
  37. package/core/rules/escalation.md +172 -172
  38. package/core/rules/iteration.md +236 -236
  39. package/core/rules/rfc.md +31 -31
  40. package/core/rules/rollback.md +218 -218
  41. package/core/skills/_template/SKILL.md +50 -0
  42. package/core/skills/clean-code/SKILL.md +177 -0
  43. package/core/skills/code-review-checklist/SKILL.md +125 -0
  44. package/core/skills/error-handling/SKILL.md +155 -0
  45. package/core/skills/talk-game-dot-design/SKILL.md +85 -0
  46. package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
  47. package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
  48. package/core/skills/task-writing/SKILL.md +166 -0
  49. package/core/skills/testing-patterns/SKILL.md +140 -0
  50. package/dist/bin/cli.d.ts +2 -0
  51. package/dist/bin/cli.js +121 -0
  52. package/dist/bin/cli.js.map +1 -0
  53. package/dist/src/commands/config.d.ts +4 -0
  54. package/dist/src/commands/config.js +427 -0
  55. package/dist/src/commands/config.js.map +1 -0
  56. package/dist/src/commands/docs.d.ts +12 -0
  57. package/dist/src/commands/docs.js +453 -0
  58. package/dist/src/commands/docs.js.map +1 -0
  59. package/dist/src/commands/interactive.d.ts +4 -0
  60. package/dist/src/commands/interactive.js +380 -0
  61. package/dist/src/commands/interactive.js.map +1 -0
  62. package/dist/src/commands/logs.d.ts +1 -0
  63. package/dist/src/commands/logs.js +76 -0
  64. package/dist/src/commands/logs.js.map +1 -0
  65. package/dist/src/commands/monitor.d.ts +6 -0
  66. package/dist/src/commands/monitor.js +216 -0
  67. package/dist/src/commands/monitor.js.map +1 -0
  68. package/dist/src/commands/reset.d.ts +4 -0
  69. package/dist/src/commands/reset.js +57 -0
  70. package/dist/src/commands/reset.js.map +1 -0
  71. package/dist/src/commands/run.d.ts +45 -0
  72. package/dist/src/commands/run.js +421 -0
  73. package/dist/src/commands/run.js.map +1 -0
  74. package/dist/src/commands/sessions.d.ts +5 -0
  75. package/dist/src/commands/sessions.js +563 -0
  76. package/dist/src/commands/sessions.js.map +1 -0
  77. package/dist/src/commands/setup.d.ts +1 -0
  78. package/dist/src/commands/setup.js +132 -0
  79. package/dist/src/commands/setup.js.map +1 -0
  80. package/dist/src/commands/skills.d.ts +4 -0
  81. package/dist/src/commands/skills.js +748 -0
  82. package/dist/src/commands/skills.js.map +1 -0
  83. package/dist/src/commands/sprint.d.ts +4 -0
  84. package/dist/src/commands/sprint.js +434 -0
  85. package/dist/src/commands/sprint.js.map +1 -0
  86. package/dist/src/commands/status.d.ts +1 -0
  87. package/dist/src/commands/status.js +97 -0
  88. package/dist/src/commands/status.js.map +1 -0
  89. package/dist/src/commands/upgrade.d.ts +6 -0
  90. package/dist/src/commands/upgrade.js +350 -0
  91. package/dist/src/commands/upgrade.js.map +1 -0
  92. package/dist/src/commands/validate.d.ts +8 -0
  93. package/dist/src/commands/validate.js +260 -0
  94. package/dist/src/commands/validate.js.map +1 -0
  95. package/dist/src/commands/validate.test.d.ts +1 -0
  96. package/dist/src/commands/validate.test.js +74 -0
  97. package/dist/src/commands/validate.test.js.map +1 -0
  98. package/{src/index.js β†’ dist/src/index.d.ts} +1 -3
  99. package/dist/src/index.js +15 -0
  100. package/dist/src/index.js.map +1 -0
  101. package/dist/src/types/common.d.ts +31 -0
  102. package/dist/src/types/common.js +2 -0
  103. package/dist/src/types/common.js.map +1 -0
  104. package/dist/src/types/config.d.ts +46 -0
  105. package/dist/src/types/config.js +2 -0
  106. package/dist/src/types/config.js.map +1 -0
  107. package/dist/src/types/index.d.ts +53 -0
  108. package/dist/src/types/index.js +2 -0
  109. package/dist/src/types/index.js.map +1 -0
  110. package/dist/src/types/session.d.ts +87 -0
  111. package/dist/src/types/session.js +2 -0
  112. package/dist/src/types/session.js.map +1 -0
  113. package/dist/src/types/task.d.ts +32 -0
  114. package/dist/src/types/task.js +2 -0
  115. package/dist/src/types/task.js.map +1 -0
  116. package/dist/src/ui/dashboard.d.ts +9 -0
  117. package/dist/src/ui/dashboard.js +468 -0
  118. package/dist/src/ui/dashboard.js.map +1 -0
  119. package/dist/src/ui/keyHandler.d.ts +47 -0
  120. package/dist/src/ui/keyHandler.js +132 -0
  121. package/dist/src/ui/keyHandler.js.map +1 -0
  122. package/dist/src/ui/quickActions.d.ts +25 -0
  123. package/dist/src/ui/quickActions.js +106 -0
  124. package/dist/src/ui/quickActions.js.map +1 -0
  125. package/dist/src/utils/config.d.ts +33 -0
  126. package/dist/src/utils/config.js +135 -0
  127. package/dist/src/utils/config.js.map +1 -0
  128. package/dist/src/utils/files.d.ts +84 -0
  129. package/dist/src/utils/files.js +202 -0
  130. package/dist/src/utils/files.js.map +1 -0
  131. package/dist/src/utils/promptBuilder.d.ts +39 -0
  132. package/dist/src/utils/promptBuilder.js +726 -0
  133. package/dist/src/utils/promptBuilder.js.map +1 -0
  134. package/dist/src/utils/sessionState.d.ts +83 -0
  135. package/dist/src/utils/sessionState.js +466 -0
  136. package/dist/src/utils/sessionState.js.map +1 -0
  137. package/dist/src/utils/sessionState.process.test.d.ts +1 -0
  138. package/dist/src/utils/sessionState.process.test.js +93 -0
  139. package/dist/src/utils/sessionState.process.test.js.map +1 -0
  140. package/dist/src/utils/sessionState.test.d.ts +1 -0
  141. package/dist/src/utils/sessionState.test.js +150 -0
  142. package/dist/src/utils/sessionState.test.js.map +1 -0
  143. package/dist/src/utils/sprintUtils.d.ts +13 -0
  144. package/dist/src/utils/sprintUtils.js +129 -0
  145. package/dist/src/utils/sprintUtils.js.map +1 -0
  146. package/dist/src/utils/taskParser.d.ts +9 -0
  147. package/dist/src/utils/taskParser.js +122 -0
  148. package/dist/src/utils/taskParser.js.map +1 -0
  149. package/dist/src/utils/taskParser.test.d.ts +1 -0
  150. package/dist/src/utils/taskParser.test.js +69 -0
  151. package/dist/src/utils/taskParser.test.js.map +1 -0
  152. package/package.json +62 -47
  153. package/templates/cli/artifacts/commands.md +262 -262
  154. package/templates/cli/artifacts/output-format.md +298 -298
  155. package/templates/cli/rules/command-change.md +225 -225
  156. package/templates/game/artifacts/assets.md +148 -148
  157. package/templates/game/artifacts/game-systems.md +217 -217
  158. package/templates/game/artifacts/hud.md +199 -199
  159. package/templates/game/rules/system-change.md +184 -184
  160. package/templates/library/artifacts/changelog.md +84 -84
  161. package/templates/library/artifacts/examples.md +157 -157
  162. package/templates/library/artifacts/public-api.md +197 -197
  163. package/templates/library/rules/versioning.md +186 -186
  164. package/templates/web-dev/artifacts/api.md +212 -212
  165. package/templates/web-dev/artifacts/ui.md +104 -104
  166. package/templates/web-dev/rules/api-change.md +198 -198
  167. package/ai-dev-team/.ada-status.json +0 -10
  168. package/ai-dev-team/.ada-version +0 -6
  169. package/ai-dev-team/.current-template +0 -1
  170. package/ai-dev-team/.gitkeep +0 -0
  171. package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +0 -5
  172. package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +0 -5
  173. package/ai-dev-team/artifacts/.gitkeep +0 -0
  174. package/ai-dev-team/artifacts/decision.md +0 -72
  175. package/ai-dev-team/artifacts/plan.md +0 -187
  176. package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +0 -37
  177. package/ai-dev-team/artifacts/sprints/_template/meta.md +0 -54
  178. package/ai-dev-team/artifacts/sprints/_template/retrospective.md +0 -50
  179. package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +0 -49
  180. package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +0 -43
  181. package/ai-dev-team/artifacts/ui.md +0 -104
  182. package/ai-dev-team/roles/.gitkeep +0 -0
  183. package/ai-dev-team/roles/analyzer.md +0 -265
  184. package/ai-dev-team/roles/developer.md +0 -222
  185. package/ai-dev-team/roles/documenter.md +0 -715
  186. package/ai-dev-team/roles/improver.md +0 -461
  187. package/ai-dev-team/roles/manager.md +0 -544
  188. package/ai-dev-team/roles/planner.md +0 -398
  189. package/ai-dev-team/roles/reviewer.md +0 -294
  190. package/ai-dev-team/rules/.gitkeep +0 -0
  191. package/ai-dev-team/rules/api-change.md +0 -198
  192. package/ai-dev-team/rules/document-priority.md +0 -199
  193. package/ai-dev-team/rules/escalation.md +0 -172
  194. package/ai-dev-team/rules/iteration.md +0 -236
  195. package/ai-dev-team/rules/rfc.md +0 -31
  196. package/ai-dev-team/rules/rollback.md +0 -218
  197. package/bin/cli.js +0 -127
  198. package/src/commands/config.js +0 -371
  199. package/src/commands/docs.js +0 -502
  200. package/src/commands/interactive.js +0 -392
  201. package/src/commands/logs.js +0 -81
  202. package/src/commands/monitor.js +0 -236
  203. package/src/commands/reset.js +0 -66
  204. package/src/commands/run.js +0 -739
  205. package/src/commands/sessions.js +0 -646
  206. package/src/commands/setup.js +0 -149
  207. package/src/commands/sprint.js +0 -503
  208. package/src/commands/status.js +0 -109
  209. package/src/commands/upgrade.js +0 -416
  210. package/src/commands/validate.js +0 -289
  211. package/src/commands/validate.test.js +0 -84
  212. package/src/ui/dashboard.js +0 -518
  213. package/src/ui/keyHandler.js +0 -147
  214. package/src/ui/quickActions.js +0 -111
  215. package/src/utils/config.js +0 -74
  216. package/src/utils/files.js +0 -201
  217. package/src/utils/sessionState.js +0 -513
  218. package/src/utils/sessionState.process.test.js +0 -101
  219. package/src/utils/sessionState.test.js +0 -183
  220. package/src/utils/sprintUtils.js +0 -134
  221. package/src/utils/taskParser.js +0 -134
  222. package/src/utils/taskParser.test.js +0 -76
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * μŠ€ν”„λ¦°νŠΈ 관리 λͺ…λ Ήμ–΄
3
+ */
4
+ export default function sprint(action: string, ...args: string[]): Promise<void>;
@@ -0,0 +1,434 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import chalk from 'chalk';
4
+ import inquirer from 'inquirer';
5
+ import { getWorkspaceDir, isWorkspaceSetup, normalizeLineEndings } from '../utils/files.js';
6
+ import { syncSprint, findActiveSprint } from '../utils/sprintUtils.js';
7
+ import { normalizeTaskStatus } from '../utils/taskParser.js';
8
+ /**
9
+ * μŠ€ν”„λ¦°νŠΈ 관리 λͺ…λ Ήμ–΄
10
+ */
11
+ export default async function sprint(action, ...args) {
12
+ if (!isWorkspaceSetup()) {
13
+ console.log(chalk.red('❌ μ›Œν¬μŠ€νŽ˜μ΄μŠ€κ°€ μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.'));
14
+ console.log(chalk.gray(' ada setup [template]을 λ¨Όμ € μ‹€ν–‰ν•˜μ„Έμš”.'));
15
+ process.exit(1);
16
+ }
17
+ const workspace = getWorkspaceDir();
18
+ const sprintsDir = path.join(workspace, 'artifacts', 'sprints');
19
+ switch (action) {
20
+ case 'create':
21
+ await createSprint(sprintsDir);
22
+ break;
23
+ case 'add':
24
+ await addTasks(sprintsDir, args);
25
+ break;
26
+ case 'sync':
27
+ await syncSprint(sprintsDir);
28
+ break;
29
+ case 'close':
30
+ await closeSprint(sprintsDir, args);
31
+ break;
32
+ case 'list':
33
+ await listSprints(sprintsDir);
34
+ break;
35
+ default:
36
+ console.log(chalk.red('❌ μ•Œ 수 μ—†λŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€.'));
37
+ console.log('');
38
+ console.log(chalk.cyan('μ‚¬μš©λ²•:'));
39
+ console.log(chalk.gray(' ada sprint create - μƒˆ μŠ€ν”„λ¦°νŠΈ 생성'));
40
+ console.log(chalk.gray(' ada sprint add task-001 ... - Task μΆ”κ°€'));
41
+ console.log(chalk.gray(' ada sprint sync - meta.md μƒνƒœ 동기화'));
42
+ console.log(chalk.gray(' ada sprint close - μŠ€ν”„λ¦°νŠΈ μ’…λ£Œ (μž‘μ—… 파일 archive)'));
43
+ console.log(chalk.gray(' ada sprint close --auto - μŠ€ν”„λ¦°νŠΈ μžλ™ μ’…λ£Œ (회고 κΈ°λ³Έκ°’)'));
44
+ console.log(chalk.gray(' ada sprint close --clean - μŠ€ν”„λ¦°νŠΈ μ’…λ£Œ (μž‘μ—… 파일 μ‚­μ œ)'));
45
+ console.log(chalk.gray(' ada sprint close --keep-all - μŠ€ν”„λ¦°νŠΈ μ’…λ£Œ (파일 μœ μ§€)'));
46
+ console.log(chalk.gray(' ada sprint list - μŠ€ν”„λ¦°νŠΈ λͺ©λ‘'));
47
+ process.exit(1);
48
+ }
49
+ }
50
+ /**
51
+ * μƒˆ μŠ€ν”„λ¦°νŠΈ 생성
52
+ */
53
+ async function createSprint(sprintsDir) {
54
+ fs.ensureDirSync(sprintsDir);
55
+ // ν˜„μž¬ ν™œμ„± μŠ€ν”„λ¦°νŠΈ 확인
56
+ const activeSprint = findActiveSprint(sprintsDir);
57
+ if (activeSprint) {
58
+ console.log(chalk.yellow(`⚠️ 이미 ν™œμ„± μŠ€ν”„λ¦°νŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€: ${activeSprint}`));
59
+ console.log(chalk.gray(' λ¨Όμ € ada sprint close둜 μ’…λ£Œν•˜μ„Έμš”.'));
60
+ process.exit(1);
61
+ }
62
+ // λ‹€μŒ μŠ€ν”„λ¦°νŠΈ 번호 계산
63
+ const sprints = fs.readdirSync(sprintsDir).filter(d => {
64
+ return fs.statSync(path.join(sprintsDir, d)).isDirectory() && !d.startsWith('_');
65
+ });
66
+ const sprintNumbers = sprints
67
+ .map(name => {
68
+ const match = name.match(/^sprint-(\d+)$/);
69
+ return match ? parseInt(match[1]) : 0;
70
+ })
71
+ .filter(n => n > 0);
72
+ const nextNumber = sprintNumbers.length > 0 ? Math.max(...sprintNumbers) + 1 : 1;
73
+ const sprintName = `sprint-${nextNumber}`;
74
+ const sprintPath = path.join(sprintsDir, sprintName);
75
+ // μŠ€ν”„λ¦°νŠΈ 디렉토리 ꡬ쑰 생성
76
+ fs.ensureDirSync(path.join(sprintPath, 'tasks'));
77
+ fs.ensureDirSync(path.join(sprintPath, 'review-reports'));
78
+ fs.ensureDirSync(path.join(sprintPath, 'docs'));
79
+ // meta.md 생성 (κ°„μ†Œν™”λœ 버전)
80
+ const metaPath = path.join(sprintPath, 'meta.md');
81
+ const today = new Date().toISOString().slice(0, 10);
82
+ const metaContent = `# Sprint ${nextNumber} 메타정보
83
+
84
+ | ν•­λͺ© | κ°’ |
85
+ |------|-----|
86
+ | μŠ€ν”„λ¦°νŠΈ 번호 | ${nextNumber} |
87
+ | μƒνƒœ | active |
88
+ | μ‹œμž‘μΌ | ${today} |
89
+ | μ’…λ£Œ μ˜ˆμ • | TBD |
90
+
91
+ ## Task λͺ©λ‘
92
+
93
+ > TaskλŠ” \`ada sprint add task-NNN\` λͺ…λ Ήμ–΄λ‘œ μΆ”κ°€λ©λ‹ˆλ‹€.
94
+ > μΆ”κ°€λœ TaskλŠ” μ•„λž˜μ— μžλ™μœΌλ‘œ λ‚˜μ—΄λ©λ‹ˆλ‹€.
95
+
96
+ (Task μ—†μŒ)
97
+
98
+ ## μ°Έκ³ 
99
+
100
+ - Task μƒνƒœ: BACKLOG β†’ IN_DEV β†’ DONE
101
+ - 리뷰 결과: review-reports/ 참고
102
+ - μ΅œμ’… λ¬Έμ„œ: docs/ μ°Έκ³ 
103
+ `;
104
+ fs.writeFileSync(metaPath, metaContent);
105
+ console.log('');
106
+ console.log(chalk.green('βœ… μƒˆ μŠ€ν”„λ¦°νŠΈκ°€ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€!'));
107
+ console.log('');
108
+ console.log(chalk.cyan(`πŸ“‚ ${sprintName}/`));
109
+ console.log(chalk.gray(` - meta.md (μŠ€ν”„λ¦°νŠΈ 정보)`));
110
+ console.log(chalk.gray(` - tasks/ (Task 파일)`));
111
+ console.log(chalk.gray(` - review-reports/ (리뷰 리포트)`));
112
+ console.log(chalk.gray(` - docs/ (λ¬Έμ„œ)`));
113
+ console.log('');
114
+ console.log(chalk.cyan('λ‹€μŒ 단계:'));
115
+ console.log(chalk.gray(` ada sprint add task-001 task-002 - Task μΆ”κ°€`));
116
+ console.log('');
117
+ }
118
+ /**
119
+ * Task μΆ”κ°€
120
+ */
121
+ async function addTasks(sprintsDir, taskIds) {
122
+ if (taskIds.length === 0) {
123
+ console.log(chalk.red('❌ Task IDλ₯Ό μ§€μ •ν•˜μ„Έμš”.'));
124
+ console.log(chalk.gray(' 예: ada sprint add task-001 task-002'));
125
+ process.exit(1);
126
+ }
127
+ const activeSprint = findActiveSprint(sprintsDir);
128
+ if (!activeSprint) {
129
+ console.log(chalk.red('❌ ν™œμ„± μŠ€ν”„λ¦°νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€.'));
130
+ console.log(chalk.gray(' λ¨Όμ € ada sprint create둜 μƒμ„±ν•˜μ„Έμš”.'));
131
+ process.exit(1);
132
+ }
133
+ const sprintPath = path.join(sprintsDir, activeSprint);
134
+ const backlogPath = path.join(getWorkspaceDir(), 'artifacts', 'backlog');
135
+ if (!fs.existsSync(backlogPath)) {
136
+ console.log(chalk.red('❌ backlog/ 디렉토리가 μ—†μŠ΅λ‹ˆλ‹€.'));
137
+ process.exit(1);
138
+ }
139
+ let addedCount = 0;
140
+ for (const taskId of taskIds) {
141
+ const taskFile = `${taskId}.md`;
142
+ const sourcePath = path.join(backlogPath, taskFile);
143
+ const destPath = path.join(sprintPath, 'tasks', taskFile);
144
+ if (!fs.existsSync(sourcePath)) {
145
+ console.log(chalk.yellow(`⚠️ ${taskId}: backlog에 μ—†μŒ (κ±΄λ„ˆλœ€)`));
146
+ continue;
147
+ }
148
+ if (fs.existsSync(destPath)) {
149
+ console.log(chalk.yellow(`⚠️ ${taskId}: 이미 μŠ€ν”„λ¦°νŠΈμ— 있음 (κ±΄λ„ˆλœ€)`));
150
+ continue;
151
+ }
152
+ // Task 파일 볡사
153
+ fs.copyFileSync(sourcePath, destPath);
154
+ addedCount++;
155
+ console.log(chalk.green(`βœ… ${taskId} 좔가됨`));
156
+ }
157
+ // meta.md μ—…λ°μ΄νŠΈ (Sync 호좜)
158
+ await syncSprint(sprintsDir, true);
159
+ console.log('');
160
+ console.log(chalk.cyan(`πŸ“Š ${addedCount}개 Taskκ°€ ${activeSprint}에 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.`));
161
+ console.log('');
162
+ }
163
+ /**
164
+ * μŠ€ν”„λ¦°νŠΈ μ’…λ£Œ
165
+ */
166
+ async function closeSprint(sprintsDir, args = []) {
167
+ const activeSprint = findActiveSprint(sprintsDir);
168
+ if (!activeSprint) {
169
+ console.log(chalk.red('❌ ν™œμ„± μŠ€ν”„λ¦°νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€.'));
170
+ process.exit(1);
171
+ }
172
+ const sprintPath = path.join(sprintsDir, activeSprint);
173
+ const metaPath = path.join(sprintPath, 'meta.md');
174
+ // μ˜΅μ…˜ νŒŒμ‹±
175
+ const hasClean = args.includes('--clean');
176
+ const hasKeepAll = args.includes('--keep-all');
177
+ const isAuto = args.includes('--auto');
178
+ // μ’…λ£Œ μ „ λ§ˆμ§€λ§‰ 동기화
179
+ await syncSprint(sprintsDir, true);
180
+ // meta.md μ—…λ°μ΄νŠΈ (active β†’ completed)
181
+ let metaContent = normalizeLineEndings(fs.readFileSync(metaPath, 'utf-8'));
182
+ const today = new Date().toISOString().slice(0, 10);
183
+ metaContent = metaContent
184
+ .replace(/μƒνƒœ \| active/, `μƒνƒœ | completed`)
185
+ .replace(/μ’…λ£Œ μ˜ˆμ • \| .*/, `μ’…λ£Œ μ˜ˆμ • | ${today}`);
186
+ fs.writeFileSync(metaPath, metaContent, 'utf-8');
187
+ // retrospective.md 생성
188
+ console.log('');
189
+ console.log(chalk.cyan('πŸ“ μŠ€ν”„λ¦°νŠΈ 회고 μž‘μ„±'));
190
+ console.log(chalk.gray('━'.repeat(50)));
191
+ let retrospectiveData;
192
+ if (isAuto) {
193
+ console.log(chalk.gray('πŸ€– μžλ™ λͺ¨λ“œ: κΈ°λ³Έκ°’μœΌλ‘œ 회고 μž‘μ„±'));
194
+ retrospectiveData = await getRetrospectiveDataAuto(sprintPath);
195
+ }
196
+ else {
197
+ retrospectiveData = await promptRetrospective(sprintPath);
198
+ }
199
+ createRetrospective(sprintPath, activeSprint, today, retrospectiveData);
200
+ console.log('');
201
+ console.log(chalk.green('βœ… 회고 μž‘μ„± μ™„λ£Œ'));
202
+ // μž‘μ—… 파일 정리
203
+ if (!hasKeepAll) {
204
+ const tasksDir = path.join(sprintPath, 'tasks');
205
+ const reviewReportsDir = path.join(sprintPath, 'review-reports');
206
+ if (hasClean) {
207
+ // --clean: μ™„μ „ μ‚­μ œ
208
+ console.log('');
209
+ console.log(chalk.yellow('πŸ—‘οΈ μž‘μ—… 파일 μ‚­μ œ 쀑...'));
210
+ let deletedCount = 0;
211
+ if (fs.existsSync(tasksDir)) {
212
+ const taskFiles = fs.readdirSync(tasksDir).filter(f => !f.includes('template'));
213
+ taskFiles.forEach(f => fs.removeSync(path.join(tasksDir, f)));
214
+ deletedCount += taskFiles.length;
215
+ }
216
+ if (fs.existsSync(reviewReportsDir)) {
217
+ const reviewFiles = fs.readdirSync(reviewReportsDir).filter(f => !f.includes('template'));
218
+ reviewFiles.forEach(f => fs.removeSync(path.join(reviewReportsDir, f)));
219
+ deletedCount += reviewFiles.length;
220
+ }
221
+ console.log(chalk.gray(` βœ“ ${deletedCount}개 파일 μ‚­μ œλ¨`));
222
+ }
223
+ else {
224
+ // κΈ°λ³Έ: archive/ ν΄λ”λ‘œ 이동
225
+ console.log('');
226
+ console.log(chalk.cyan('πŸ“¦ μž‘μ—… 파일 보관 쀑...'));
227
+ const archiveDir = path.join(sprintPath, 'archive');
228
+ fs.ensureDirSync(archiveDir);
229
+ let archivedCount = 0;
230
+ // tasks/ 이동
231
+ if (fs.existsSync(tasksDir)) {
232
+ const taskFiles = fs.readdirSync(tasksDir).filter(f => !f.includes('template'));
233
+ if (taskFiles.length > 0) {
234
+ const archiveTasksDir = path.join(archiveDir, 'tasks');
235
+ fs.ensureDirSync(archiveTasksDir);
236
+ taskFiles.forEach(f => {
237
+ fs.moveSync(path.join(tasksDir, f), path.join(archiveTasksDir, f), { overwrite: true });
238
+ });
239
+ archivedCount += taskFiles.length;
240
+ }
241
+ }
242
+ // review-reports/ 이동
243
+ if (fs.existsSync(reviewReportsDir)) {
244
+ const reviewFiles = fs.readdirSync(reviewReportsDir).filter(f => !f.includes('template'));
245
+ if (reviewFiles.length > 0) {
246
+ const archiveReviewsDir = path.join(archiveDir, 'review-reports');
247
+ fs.ensureDirSync(archiveReviewsDir);
248
+ reviewFiles.forEach(f => {
249
+ fs.moveSync(path.join(reviewReportsDir, f), path.join(archiveReviewsDir, f), { overwrite: true });
250
+ });
251
+ archivedCount += reviewFiles.length;
252
+ }
253
+ }
254
+ if (archivedCount > 0) {
255
+ console.log(chalk.gray(` βœ“ ${archivedCount}개 파일 β†’ archive/`));
256
+ }
257
+ else {
258
+ console.log(chalk.gray(` βœ“ 정리할 파일 μ—†μŒ`));
259
+ }
260
+ }
261
+ }
262
+ console.log('');
263
+ console.log(chalk.green(`βœ… ${activeSprint}κ°€ μ’…λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€!`));
264
+ console.log('');
265
+ }
266
+ /**
267
+ * μŠ€ν”„λ¦°νŠΈ λͺ©λ‘
268
+ */
269
+ async function listSprints(sprintsDir) {
270
+ if (!fs.existsSync(sprintsDir)) {
271
+ console.log(chalk.yellow('⚠️ μŠ€ν”„λ¦°νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€.'));
272
+ return;
273
+ }
274
+ const sprints = fs.readdirSync(sprintsDir)
275
+ .filter(d => {
276
+ return fs.statSync(path.join(sprintsDir, d)).isDirectory() && !d.startsWith('_');
277
+ })
278
+ .sort();
279
+ if (sprints.length === 0) {
280
+ console.log(chalk.yellow('⚠️ μŠ€ν”„λ¦°νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€.'));
281
+ return;
282
+ }
283
+ console.log('');
284
+ console.log(chalk.cyan('πŸ“Š μŠ€ν”„λ¦°νŠΈ λͺ©λ‘'));
285
+ console.log(chalk.cyan('━'.repeat(60)));
286
+ for (const sprint of sprints) {
287
+ const metaPath = path.join(sprintsDir, sprint, 'meta.md');
288
+ if (fs.existsSync(metaPath)) {
289
+ const content = fs.readFileSync(metaPath, 'utf-8');
290
+ const statusMatch = content.match(/μƒνƒœ \| (active|completed)/);
291
+ const status = statusMatch ? statusMatch[1] : 'unknown';
292
+ const statusIcon = status === 'active' ? '🟒' : 'βœ…';
293
+ const statusText = status === 'active' ? chalk.green('μ§„ν–‰ 쀑') : chalk.gray('μ™„λ£Œ');
294
+ console.log(`${statusIcon} ${chalk.cyan(sprint)} - ${statusText}`);
295
+ }
296
+ }
297
+ console.log('');
298
+ }
299
+ /**
300
+ * 회고 데이터 μžλ™ 생성 (Auto Mode)
301
+ */
302
+ async function getRetrospectiveDataAuto(sprintPath) {
303
+ const { completedTasks, incompleteTasks } = getTaskStatusForRetrospective(sprintPath);
304
+ return {
305
+ completedTasks,
306
+ incompleteTasks,
307
+ keep: 'μžλ™ μ™„λ£Œλ¨',
308
+ problem: '-',
309
+ try: '-'
310
+ };
311
+ }
312
+ /**
313
+ * 회고 μž‘μ„± ν”„λ‘¬ν”„νŠΈ
314
+ */
315
+ async function promptRetrospective(sprintPath) {
316
+ const { completedTasks, incompleteTasks } = getTaskStatusForRetrospective(sprintPath);
317
+ console.log('');
318
+ console.log(chalk.white(`μ™„λ£Œλœ Task: ${completedTasks.length}개`));
319
+ console.log(chalk.white(`λ―Έμ™„λ£Œ Task: ${incompleteTasks.length}개`));
320
+ console.log('');
321
+ const answers = await inquirer.prompt([
322
+ {
323
+ type: 'input',
324
+ name: 'keep',
325
+ message: '잘된 점 (Keep):',
326
+ default: 'κ³„νšλŒ€λ‘œ 진행됨'
327
+ },
328
+ {
329
+ type: 'input',
330
+ name: 'problem',
331
+ message: 'κ°œμ„ ν•  점 (Problem):',
332
+ default: '-'
333
+ },
334
+ {
335
+ type: 'input',
336
+ name: 'try',
337
+ message: 'μ‹œλ„ν•  것 (Try):',
338
+ default: '-'
339
+ }
340
+ ]);
341
+ return {
342
+ completedTasks,
343
+ incompleteTasks,
344
+ ...answers
345
+ };
346
+ }
347
+ /**
348
+ * 회고λ₯Ό μœ„ν•œ Task μƒνƒœ λΆ„λ₯˜ 헬퍼
349
+ */
350
+ function getTaskStatusForRetrospective(sprintPath) {
351
+ // meta.mdμ—μ„œ Task 정보 읽기
352
+ const metaPath = path.join(sprintPath, 'meta.md');
353
+ const metaContent = fs.readFileSync(metaPath, 'utf-8');
354
+ // Task λͺ©λ‘/μš”μ•½ νŒŒμ‹±
355
+ const taskLines = metaContent
356
+ .split('\n')
357
+ .filter(line => line.trim().toLowerCase().startsWith('| task-'));
358
+ const knownStatuses = new Set(['BACKLOG', 'IN_DEV', 'IN_REVIEW', 'DONE', 'REJECT', 'REJECTED', 'BLOCKED']);
359
+ const completedTasks = [];
360
+ const incompleteTasks = [];
361
+ taskLines.forEach(line => {
362
+ const columns = line.split('|').map(col => col.trim()).filter(col => col.length > 0);
363
+ if (columns.length < 2)
364
+ return;
365
+ const id = columns[0];
366
+ let status = null;
367
+ const candidate1 = normalizeTaskStatus(columns[1]);
368
+ if (knownStatuses.has(candidate1)) {
369
+ status = candidate1;
370
+ }
371
+ else if (columns.length > 2) {
372
+ const candidate2 = normalizeTaskStatus(columns[2]);
373
+ if (knownStatuses.has(candidate2)) {
374
+ status = candidate2;
375
+ }
376
+ }
377
+ if (status === 'DONE') {
378
+ completedTasks.push(id);
379
+ }
380
+ else {
381
+ incompleteTasks.push(id);
382
+ }
383
+ });
384
+ return { completedTasks, incompleteTasks };
385
+ }
386
+ /**
387
+ * retrospective.md 파일 생성
388
+ */
389
+ function createRetrospective(sprintPath, sprintName, endDate, data) {
390
+ const retrospectivePath = path.join(sprintPath, 'retrospective.md');
391
+ // μ‹œμž‘μΌμ€ meta.mdμ—μ„œ κ°€μ Έμ˜€κΈ°
392
+ const metaPath = path.join(sprintPath, 'meta.md');
393
+ const metaContent = fs.readFileSync(metaPath, 'utf-8');
394
+ const startDateMatch = metaContent.match(/μ‹œμž‘μΌ \| ([\d-]+)/);
395
+ const startDate = startDateMatch ? startDateMatch[1] : endDate;
396
+ const sprintNumber = sprintName.replace('sprint-', '');
397
+ const totalTasks = data.completedTasks.length + data.incompleteTasks.length;
398
+ const completionRate = totalTasks > 0 ? Math.round((data.completedTasks.length / totalTasks) * 100) : 0;
399
+ const content = `# Sprint ${sprintNumber} 회고
400
+
401
+ ## κΈ°κ°„
402
+ - μ‹œμž‘: ${startDate}
403
+ - μ’…λ£Œ: ${endDate}
404
+
405
+ ## μ™„λ£Œλœ Task (${data.completedTasks.length}개)
406
+
407
+ ${data.completedTasks.map(t => `- ${t}`).join('\n') || '- (μ—†μŒ)'}
408
+
409
+ ## λ―Έμ™„λ£Œ Task (${data.incompleteTasks.length}개)
410
+
411
+ ${data.incompleteTasks.map(t => `- ${t}: 이월 ν•„μš”`).join('\n') || '- (μ—†μŒ)'}
412
+
413
+ ## 잘된 점 (Keep)
414
+
415
+ - ${data.keep}
416
+
417
+ ## κ°œμ„ ν•  점 (Problem)
418
+
419
+ - ${data.problem}
420
+
421
+ ## μ‹œλ„ν•  것 (Try)
422
+
423
+ - ${data.try}
424
+
425
+ ## λ©”νŠΈλ¦­
426
+
427
+ - κ³„νš Task 수: ${totalTasks}개
428
+ - μ™„λ£Œ Task 수: ${data.completedTasks.length}개
429
+ - μ™„λ£Œμœ¨: ${completionRate}%
430
+ - 이월 Task 수: ${data.incompleteTasks.length}개
431
+ `;
432
+ fs.writeFileSync(retrospectivePath, content);
433
+ }
434
+ //# sourceMappingURL=sprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint.js","sourceRoot":"","sources":["../../../src/commands/sprint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function status(): Promise<void>;
@@ -0,0 +1,97 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import chalk from 'chalk';
4
+ import { getWorkspaceDir, getCurrentTemplate, isWorkspaceSetup, getPackageVersion, readVersion, compareVersions, } from '../utils/files.js';
5
+ export async function status() {
6
+ const workspace = getWorkspaceDir();
7
+ console.log('');
8
+ console.log(chalk.cyan('━'.repeat(50)));
9
+ console.log(chalk.cyan.bold('πŸ“Š ν˜„μž¬ μƒνƒœ'));
10
+ console.log(chalk.cyan('━'.repeat(50)));
11
+ console.log('');
12
+ if (!isWorkspaceSetup()) {
13
+ console.log(chalk.yellow('⚠️ μ„ΈνŒ…λ˜μ§€ μ•ŠμŒ'));
14
+ console.log('');
15
+ console.log(chalk.gray('μ„ΈνŒ…ν•˜λ €λ©΄:'));
16
+ console.log(chalk.white(' ada setup'));
17
+ console.log('');
18
+ return;
19
+ }
20
+ const template = getCurrentTemplate();
21
+ const rolesDir = path.join(workspace, 'roles');
22
+ const artifactsDir = path.join(workspace, 'artifacts');
23
+ const rulesDir = path.join(workspace, 'rules');
24
+ // 버전 정보 확인
25
+ const packageVersion = getPackageVersion();
26
+ const versionInfo = readVersion();
27
+ const workspaceVersion = versionInfo
28
+ ? versionInfo.workspaceVersion || versionInfo.packageVersion
29
+ : null;
30
+ console.log(chalk.white.bold('버전:'));
31
+ console.log(chalk.gray(` νŒ¨ν‚€μ§€: ${packageVersion}`));
32
+ if (workspaceVersion) {
33
+ console.log(chalk.gray(` μž‘μ—…κ³΅κ°„: ${workspaceVersion}`));
34
+ // 버전 비ꡐ
35
+ const versionDiff = compareVersions(packageVersion, workspaceVersion);
36
+ if (versionDiff > 0) {
37
+ console.log('');
38
+ console.log(chalk.yellow('⚠️ μƒˆ 버전이 μžˆμŠ΅λ‹ˆλ‹€!'));
39
+ console.log(chalk.gray(` ν˜„μž¬: ${workspaceVersion} β†’ μ΅œμ‹ : ${packageVersion}`));
40
+ console.log(chalk.gray(' μ—…κ·Έλ ˆμ΄λ“œν•˜λ €λ©΄: ada upgrade'));
41
+ }
42
+ else if (versionDiff < 0) {
43
+ console.log('');
44
+ console.log(chalk.yellow('⚠️ μž‘μ—…κ³΅κ°„ 버전이 νŒ¨ν‚€μ§€ 버전보닀 λ†’μŠ΅λ‹ˆλ‹€.'));
45
+ console.log(chalk.gray(' 개발 λ²„μ „μ΄κ±°λ‚˜ νŒ¨ν‚€μ§€ λ‹€μš΄κ·Έλ ˆμ΄λ“œλ¨'));
46
+ }
47
+ }
48
+ else {
49
+ console.log(chalk.gray(` μž‘μ—…κ³΅κ°„: 버전 정보 μ—†μŒ`));
50
+ console.log('');
51
+ console.log(chalk.yellow('⚠️ 이전 λ²„μ „μ—μ„œ μƒμ„±λœ μž‘μ—…κ³΅κ°„μž…λ‹ˆλ‹€.'));
52
+ console.log(chalk.gray(' μ—…κ·Έλ ˆμ΄λ“œ ꢌμž₯: ada upgrade'));
53
+ }
54
+ console.log('');
55
+ // ν…œν”Œλ¦Ώ 정보
56
+ console.log(chalk.white.bold('ν…œν”Œλ¦Ώ:'), chalk.green(template || 'μ•Œ 수 μ—†μŒ'));
57
+ console.log('');
58
+ // μ—­ν•  λͺ©λ‘
59
+ const roles = fs.readdirSync(rolesDir).filter((f) => f.endsWith('.md'));
60
+ console.log(chalk.white.bold('μ—­ν•  (Roles):'));
61
+ roles.forEach((r) => {
62
+ console.log(chalk.gray(` β€’ ${r.replace('.md', '')}`));
63
+ });
64
+ console.log('');
65
+ // μ‚°μΆœλ¬Ό λͺ©λ‘
66
+ const artifacts = fs
67
+ .readdirSync(artifactsDir)
68
+ .filter((f) => f.endsWith('.md'));
69
+ console.log(chalk.white.bold('μ‚°μΆœλ¬Ό (Artifacts):'));
70
+ artifacts.forEach((a) => {
71
+ const filePath = path.join(artifactsDir, a);
72
+ const content = fs.readFileSync(filePath, 'utf-8');
73
+ const docStatus = getDocumentStatus(content);
74
+ console.log(chalk.gray(` β€’ ${a.replace('.md', '')} ${docStatus}`));
75
+ });
76
+ console.log('');
77
+ // κ·œμΉ™ λͺ©λ‘
78
+ const rules = fs.readdirSync(rulesDir).filter((f) => f.endsWith('.md'));
79
+ console.log(chalk.white.bold('κ·œμΉ™ (Rules):'));
80
+ rules.forEach((r) => {
81
+ console.log(chalk.gray(` β€’ ${r.replace('.md', '')}`));
82
+ });
83
+ console.log('');
84
+ }
85
+ function getDocumentStatus(content) {
86
+ if (content.includes('Frozen') || content.includes('πŸ”’')) {
87
+ return chalk.blue('[Frozen]');
88
+ }
89
+ if (content.includes('Confirmed') || content.includes('ν™•μ •')) {
90
+ return chalk.green('[Confirmed]');
91
+ }
92
+ if (content.includes('Draft') || content.includes('μ΄ˆμ•ˆ')) {
93
+ return chalk.yellow('[Draft]');
94
+ }
95
+ return '';
96
+ }
97
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface UpgradeOptions {
2
+ force?: boolean;
3
+ dryRun?: boolean;
4
+ rollback?: boolean;
5
+ }
6
+ export declare function upgrade(options?: UpgradeOptions): Promise<void>;