aiag-cli 2.5.0 → 2.5.2
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.
- package/README.md +4 -7
- package/dist/commands/auto.js +2 -2
- package/dist/commands/init.js +3 -3
- package/dist/commands/prd.d.ts.map +1 -1
- package/dist/commands/prd.js +65 -7
- package/dist/commands/prd.js.map +1 -1
- package/dist/skills/runner.d.ts.map +1 -1
- package/dist/skills/runner.js +8 -2
- package/dist/skills/runner.js.map +1 -1
- package/dist/utils/initializerAgent.js +1 -1
- package/dist/utils/prd.d.ts.map +1 -1
- package/dist/utils/prd.js +1 -0
- package/dist/utils/prd.js.map +1 -1
- package/dist/utils/taskmasterConverter.js +9 -9
- package/dist/utils/validation.js +1 -1
- package/package.json +1 -1
- package/templates/initializer.md +3 -3
- package/templates/skills/prd-taskmaster/README.md +2 -2
package/README.md
CHANGED
|
@@ -23,10 +23,7 @@ AI 에이전트 하네스 CLI - Claude Agent SDK 기반 장기 실행 에이전
|
|
|
23
23
|
## 설치
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
#
|
|
27
|
-
bun add -g aiag-cli
|
|
28
|
-
|
|
29
|
-
# 또는 npm
|
|
26
|
+
# npm
|
|
30
27
|
npm install -g aiag-cli
|
|
31
28
|
|
|
32
29
|
# 또는 npx로 직접 사용
|
|
@@ -35,12 +32,12 @@ npx aiag-cli init
|
|
|
35
32
|
|
|
36
33
|
### 필수 요구사항
|
|
37
34
|
|
|
38
|
-
- Node.js >= 18.0.0
|
|
35
|
+
- Node.js >= 18.0.0
|
|
39
36
|
- Claude Code OAuth 토큰 (SDK 사용을 위해)
|
|
40
37
|
|
|
41
38
|
```bash
|
|
42
39
|
# Claude Code CLI 설치 및 토큰 발급
|
|
43
|
-
|
|
40
|
+
npm install -g @anthropic-ai/claude-code-cli
|
|
44
41
|
claude login
|
|
45
42
|
```
|
|
46
43
|
|
|
@@ -210,7 +207,7 @@ aiag auto [count] [options]
|
|
|
210
207
|
"priority": "critical",
|
|
211
208
|
"description": "기능 설명",
|
|
212
209
|
"acceptanceCriteria": ["기준 1", "기준 2"],
|
|
213
|
-
"testCommand": "
|
|
210
|
+
"testCommand": "npm test",
|
|
214
211
|
"passes": false,
|
|
215
212
|
"lastTestedAt": null,
|
|
216
213
|
"implementedBy": null,
|
package/dist/commands/auto.js
CHANGED
|
@@ -567,7 +567,7 @@ async function runClaudeCode(baseDir, feature, context, timeout, verbose) {
|
|
|
567
567
|
}
|
|
568
568
|
}
|
|
569
569
|
async function runTest(baseDir, feature) {
|
|
570
|
-
const testCommand = feature.testCommand || '
|
|
570
|
+
const testCommand = feature.testCommand || 'npm test';
|
|
571
571
|
const [cmd, ...args] = testCommand.split(' ');
|
|
572
572
|
return new Promise((resolve) => {
|
|
573
573
|
const test = spawn(cmd, args, {
|
|
@@ -1056,7 +1056,7 @@ function generateEnhancedPrompt(feature, context) {
|
|
|
1056
1056
|
lines.push('Before marking this feature as complete, you MUST verify:');
|
|
1057
1057
|
lines.push('');
|
|
1058
1058
|
lines.push('1. ✓ All acceptance criteria are satisfied');
|
|
1059
|
-
lines.push(`2. ✓ Test command passes: \`${feature.testCommand || '
|
|
1059
|
+
lines.push(`2. ✓ Test command passes: \`${feature.testCommand || 'npm test'}\``);
|
|
1060
1060
|
lines.push('3. ✓ Code follows project conventions');
|
|
1061
1061
|
lines.push('4. ✓ No unintended side effects in other parts of codebase');
|
|
1062
1062
|
lines.push('5. ✓ Clean state (code compiles and runs)');
|
package/dist/commands/init.js
CHANGED
|
@@ -104,7 +104,7 @@ function createAiagStructure(baseDir) {
|
|
|
104
104
|
priority: 'critical',
|
|
105
105
|
description: '예시 기능 - 실제 기능으로 교체하세요',
|
|
106
106
|
acceptanceCriteria: ['첫 번째 완료 조건', '두 번째 완료 조건'],
|
|
107
|
-
testCommand: '
|
|
107
|
+
testCommand: 'npm test',
|
|
108
108
|
passes: false,
|
|
109
109
|
lastTestedAt: null,
|
|
110
110
|
implementedBy: null,
|
|
@@ -169,13 +169,13 @@ echo "✓ Node.js: $(node --version)"
|
|
|
169
169
|
# 의존성 설치
|
|
170
170
|
if [ ! -d "node_modules" ]; then
|
|
171
171
|
echo "의존성 설치 중..."
|
|
172
|
-
|
|
172
|
+
npm install
|
|
173
173
|
fi
|
|
174
174
|
echo "✓ 의존성 설치 완료"
|
|
175
175
|
|
|
176
176
|
# 빌드 (필요한 경우)
|
|
177
177
|
if grep -q '"build"' package.json 2>/dev/null; then
|
|
178
|
-
|
|
178
|
+
npm run build --silent 2>/dev/null || true
|
|
179
179
|
fi
|
|
180
180
|
|
|
181
181
|
echo ""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/commands/prd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/commands/prd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiIrD;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoMxE"}
|
package/dist/commands/prd.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { spawn } from 'child_process';
|
|
8
8
|
import fs from 'fs';
|
|
9
9
|
import path from 'path';
|
|
10
|
+
import os from 'os';
|
|
10
11
|
import chalk from 'chalk';
|
|
11
12
|
import ora from 'ora';
|
|
12
13
|
import { skillExists } from '../skills/loader.js';
|
|
@@ -14,13 +15,51 @@ import { installSkillIfNeeded } from '../skills/installer.js';
|
|
|
14
15
|
import { runPrdSkill } from '../skills/runner.js';
|
|
15
16
|
import { printHeader, printSuccess, printError, printWarning, printInfo } from '../utils/output.js';
|
|
16
17
|
import { getPrdInfo } from '../utils/prd.js';
|
|
18
|
+
/**
|
|
19
|
+
* ~/.claude/plans/ 디렉토리에서 가장 최근에 생성된 PRD 파일을 찾습니다
|
|
20
|
+
* @param afterTimestamp 이 시간 이후에 생성된 파일만 검색
|
|
21
|
+
* @returns 파일 경로 또는 null
|
|
22
|
+
*/
|
|
23
|
+
function findLatestPlanFile(afterTimestamp) {
|
|
24
|
+
const plansDir = path.join(os.homedir(), '.claude', 'plans');
|
|
25
|
+
if (!fs.existsSync(plansDir)) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const files = fs.readdirSync(plansDir)
|
|
29
|
+
.filter(f => f.endsWith('.md'))
|
|
30
|
+
.map(f => ({
|
|
31
|
+
name: f,
|
|
32
|
+
path: path.join(plansDir, f),
|
|
33
|
+
mtime: fs.statSync(path.join(plansDir, f)).mtimeMs,
|
|
34
|
+
}))
|
|
35
|
+
.filter(f => f.mtime >= afterTimestamp)
|
|
36
|
+
.sort((a, b) => b.mtime - a.mtime);
|
|
37
|
+
return files.length > 0 ? files[0].path : null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* PRD 파일을 프로젝트 루트로 복사합니다
|
|
41
|
+
* @param sourcePath 원본 파일 경로
|
|
42
|
+
* @param targetDir 대상 디렉토리
|
|
43
|
+
* @returns 복사된 파일 경로
|
|
44
|
+
*/
|
|
45
|
+
function copyPrdToProject(sourcePath, targetDir) {
|
|
46
|
+
const targetPath = path.join(targetDir, 'PRD.md');
|
|
47
|
+
// 기존 파일이 있으면 백업
|
|
48
|
+
if (fs.existsSync(targetPath)) {
|
|
49
|
+
const backupPath = path.join(targetDir, `PRD.backup.${Date.now()}.md`);
|
|
50
|
+
fs.renameSync(targetPath, backupPath);
|
|
51
|
+
}
|
|
52
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
53
|
+
return targetPath;
|
|
54
|
+
}
|
|
17
55
|
/**
|
|
18
56
|
* TaskMaster 설치 확인
|
|
57
|
+
* task-master-ai 패키지는 'task-master' 바이너리를 설치함 (하이픈 포함)
|
|
19
58
|
*/
|
|
20
59
|
async function checkTaskMasterInstalled() {
|
|
21
60
|
return new Promise((resolve) => {
|
|
22
|
-
// CLI 버전 확인
|
|
23
|
-
const child = spawn('
|
|
61
|
+
// CLI 버전 확인 (바이너리 이름은 task-master)
|
|
62
|
+
const child = spawn('task-master', ['--version'], {
|
|
24
63
|
stdio: 'pipe',
|
|
25
64
|
shell: true,
|
|
26
65
|
});
|
|
@@ -38,11 +77,11 @@ async function checkTaskMasterInstalled() {
|
|
|
38
77
|
});
|
|
39
78
|
}
|
|
40
79
|
/**
|
|
41
|
-
* TaskMaster 자동 설치 (
|
|
80
|
+
* TaskMaster 자동 설치 (npm 사용)
|
|
42
81
|
*/
|
|
43
82
|
async function installTaskMaster() {
|
|
44
83
|
return new Promise((resolve) => {
|
|
45
|
-
const child = spawn('
|
|
84
|
+
const child = spawn('npm', ['install', '-g', 'task-master-ai'], {
|
|
46
85
|
stdio: 'pipe',
|
|
47
86
|
shell: true,
|
|
48
87
|
});
|
|
@@ -68,7 +107,7 @@ async function installTaskMaster() {
|
|
|
68
107
|
child.on('error', (err) => {
|
|
69
108
|
resolve({
|
|
70
109
|
success: false,
|
|
71
|
-
error: `
|
|
110
|
+
error: `npm 실행 실패: ${err.message}`,
|
|
72
111
|
});
|
|
73
112
|
});
|
|
74
113
|
// 타임아웃 (2분)
|
|
@@ -115,7 +154,7 @@ export async function prd(options = {}) {
|
|
|
115
154
|
const spinner = ora('TaskMaster 확인 중...').start();
|
|
116
155
|
let taskMasterInstalled = await checkTaskMasterInstalled();
|
|
117
156
|
if (!taskMasterInstalled) {
|
|
118
|
-
spinner.text = 'TaskMaster 설치 중... (
|
|
157
|
+
spinner.text = 'TaskMaster 설치 중... (npm install -g task-master-ai)';
|
|
119
158
|
const installResult = await installTaskMaster();
|
|
120
159
|
if (!installResult.success) {
|
|
121
160
|
spinner.fail('TaskMaster 자동 설치 실패');
|
|
@@ -123,7 +162,7 @@ export async function prd(options = {}) {
|
|
|
123
162
|
printError(installResult.error || '알 수 없는 오류');
|
|
124
163
|
console.log();
|
|
125
164
|
printInfo('수동 설치 방법:');
|
|
126
|
-
console.log(chalk.gray('
|
|
165
|
+
console.log(chalk.gray(' npm install -g task-master-ai'));
|
|
127
166
|
console.log(chalk.gray(' 또는 Claude Code MCP 설정에 TaskMaster 추가'));
|
|
128
167
|
console.log();
|
|
129
168
|
process.exit(1);
|
|
@@ -190,6 +229,8 @@ export async function prd(options = {}) {
|
|
|
190
229
|
printInfo('prd-taskmaster 스킬의 질문에 답변해주세요.');
|
|
191
230
|
}
|
|
192
231
|
console.log();
|
|
232
|
+
// 스킬 실행 전 타임스탬프 기록 (나중에 생성된 파일 찾기 위해)
|
|
233
|
+
const startTimestamp = Date.now();
|
|
193
234
|
const result = await runPrdSkill({
|
|
194
235
|
workingDirectory: baseDir,
|
|
195
236
|
template,
|
|
@@ -207,12 +248,29 @@ export async function prd(options = {}) {
|
|
|
207
248
|
if (result.success) {
|
|
208
249
|
printSuccess(isConversionMode ? 'PRD 변환 완료!' : 'PRD 생성 완료!');
|
|
209
250
|
console.log();
|
|
251
|
+
// ~/.claude/plans/에서 생성된 파일을 프로젝트로 복사
|
|
252
|
+
let copiedPrdPath = null;
|
|
253
|
+
const planFile = findLatestPlanFile(startTimestamp);
|
|
254
|
+
if (planFile) {
|
|
255
|
+
try {
|
|
256
|
+
copiedPrdPath = copyPrdToProject(planFile, baseDir);
|
|
257
|
+
printInfo(`PRD 파일 복사됨: PRD.md`);
|
|
258
|
+
}
|
|
259
|
+
catch (copyError) {
|
|
260
|
+
printWarning(`PRD 파일 복사 실패: ${copyError}`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// 스킬이 직접 생성한 파일 표시
|
|
210
264
|
if (result.filesCreated && result.filesCreated.length > 0) {
|
|
211
265
|
printInfo('생성된 파일:');
|
|
212
266
|
for (const file of result.filesCreated) {
|
|
213
267
|
console.log(chalk.gray(` • ${file}`));
|
|
214
268
|
}
|
|
215
269
|
}
|
|
270
|
+
// 복사된 파일이 없고 스킬도 파일을 생성하지 않았다면 경고
|
|
271
|
+
if (!copiedPrdPath && (!result.filesCreated || result.filesCreated.length === 0)) {
|
|
272
|
+
printWarning('PRD 파일이 생성되지 않았습니다. 스킬 실행을 확인하세요.');
|
|
273
|
+
}
|
|
216
274
|
if (result.numTurns) {
|
|
217
275
|
console.log(chalk.gray(` 턴 수: ${result.numTurns}`));
|
|
218
276
|
}
|
package/dist/commands/prd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/commands/prd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAa,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/commands/prd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAa,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,cAAsB;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5B,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;KACnD,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC;SACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,UAAkB,EAAE,SAAiB;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElD,gBAAgB;IAChB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,wBAAwB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,mCAAmC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE;YAChD,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE;YAC9D,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,IAAI,MAAM,IAAI,qBAAqB,IAAI,GAAG;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,cAAc,GAAG,CAAC,OAAO,EAAE;aACnC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,YAAY;QACZ,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAC;QACL,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,UAA6B,EAAE;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,yBAAyB,CAAC;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9B,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAEpC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,yBAAyB;IACzB,IAAI,kBAAsC,CAAC;IAC3C,IAAI,eAAmC,CAAC;IAExC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAS,CAAC,CAAC;QAE5F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACzC,SAAS,CAAC,aAAa,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;QAEtE,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC5D,eAAe,GAAG,QAAQ,CAAC;QAE3B,IAAI,kBAAkB,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpC,YAAY,CAAC,yCAAyC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IAElD,IAAI,mBAAmB,GAAG,MAAM,wBAAwB,EAAE,CAAC;IAC3D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,oDAAoD,CAAC;QAEpE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,WAAW;QACX,mBAAmB,GAAG,MAAM,wBAAwB,EAAE,CAAC;QACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,UAAU,CAAC,gCAAgC,CAAC,CAAC;YAC7C,SAAS,CAAC,gCAAgC,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE3C,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAC;QAC3C,MAAM,aAAa,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAE7D,IAAI,aAAa,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;IACf,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,YAAY,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QACzC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,gBAAgB;IAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,eAAe;IACf,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,gBAAgB,EAAE,CAAC;QACrB,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC9B,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC9B,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,sCAAsC;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,gBAAgB,EAAE,OAAO;QACzB,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,kBAAkB;QAClB,eAAe;QACf,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,WAAW;IACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,sCAAsC;QACtC,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpD,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACjF,YAAY,CAAC,mCAAmC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/skills/runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EAAe,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/skills/runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EAAe,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA6FhF;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAiKzB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAEnF"}
|
package/dist/skills/runner.js
CHANGED
|
@@ -68,14 +68,20 @@ function buildSkillPrompt(skill, options) {
|
|
|
68
68
|
lines.push('');
|
|
69
69
|
lines.push('## 시작');
|
|
70
70
|
lines.push('');
|
|
71
|
+
lines.push('### 중요 지침');
|
|
72
|
+
lines.push('1. EnterPlanMode 도구를 사용하지 마세요. 계획 모드가 아닌 일반 모드로 작업하세요.');
|
|
73
|
+
lines.push('2. 사용자에게 질문할 때는 AskUserQuestion 도구를 사용하세요.');
|
|
74
|
+
lines.push('3. PRD 파일은 반드시 Write 도구를 사용하여 프로젝트 디렉토리에 직접 생성하세요.');
|
|
75
|
+
lines.push('4. PRD 파일 위치: .taskmaster/docs/prd.md 또는 PRD.md (프로젝트 루트)');
|
|
76
|
+
lines.push('');
|
|
71
77
|
if (options.existingDocContent) {
|
|
72
78
|
lines.push('기존 문서가 제공되었습니다. 먼저 문서를 분석하고, 누락된 정보를 파악한 후,');
|
|
73
|
-
lines.push('필요한 추가 질문을 사용자에게 하세요. 최종적으로
|
|
79
|
+
lines.push('필요한 추가 질문을 사용자에게 하세요. 최종적으로 Write 도구를 사용하여');
|
|
80
|
+
lines.push('Taskmaster PRD 형식의 완전한 PRD.md 파일을 프로젝트 디렉토리에 생성하세요.');
|
|
74
81
|
}
|
|
75
82
|
else {
|
|
76
83
|
lines.push('위 스킬의 Step 1부터 시작하세요.');
|
|
77
84
|
}
|
|
78
|
-
lines.push('사용자에게 질문할 때는 AskUserQuestion 도구를 사용하여 명확하고 구체적으로 물어보세요.');
|
|
79
85
|
lines.push('');
|
|
80
86
|
return lines.join('\n');
|
|
81
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/skills/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/skills/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,7 +117,7 @@ ${prdContent}
|
|
|
117
117
|
- 내용 검색: \`grep -q 'pattern' file.txt\`
|
|
118
118
|
- 복합 조건: \`grep -q 'A' file && grep -q 'B' file\`
|
|
119
119
|
- 부정 검사: \`! grep -q 'pattern' file.txt\`
|
|
120
|
-
- 테스트 실행: \`npm test\`, \`
|
|
120
|
+
- 테스트 실행: \`npm test\`, \`pytest\`
|
|
121
121
|
|
|
122
122
|
❌ 절대 사용 금지:
|
|
123
123
|
- \`echo '수동 검증...'\` → 항상 성공하므로 무의미
|
package/dist/utils/prd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/utils/prd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/utils/prd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,cAAc,UAW1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAoB9F;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,IAAI,CAAC;CACpB,CAWA;AA0BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAY1D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG;IAC3D,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC,CAwBA"}
|
package/dist/utils/prd.js
CHANGED
package/dist/utils/prd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/utils/prd.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/utils/prd.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,14 +129,14 @@ const PRIORITY_MAP = {
|
|
|
129
129
|
* 카테고리별 기본 testCommand
|
|
130
130
|
*/
|
|
131
131
|
const DEFAULT_TEST_COMMANDS = {
|
|
132
|
-
api: '
|
|
133
|
-
ui: '
|
|
134
|
-
cli: '
|
|
135
|
-
auth: '
|
|
136
|
-
data: '
|
|
137
|
-
test: '
|
|
138
|
-
core: '
|
|
139
|
-
agent: '
|
|
132
|
+
api: 'npm test -- --grep "API"',
|
|
133
|
+
ui: 'npm test -- --grep "Component"',
|
|
134
|
+
cli: 'npm test -- --grep "CLI"',
|
|
135
|
+
auth: 'npm test -- --grep "Auth"',
|
|
136
|
+
data: 'npm test -- --grep "Database"',
|
|
137
|
+
test: 'npm test',
|
|
138
|
+
core: 'npm test -- --grep "Core"',
|
|
139
|
+
agent: 'npm test -- --grep "Agent"',
|
|
140
140
|
docs: 'echo "Documentation feature - manual review"',
|
|
141
141
|
devops: 'echo "DevOps feature - manual verification"',
|
|
142
142
|
};
|
|
@@ -288,7 +288,7 @@ export function generateFeatureId(category, index) {
|
|
|
288
288
|
*/
|
|
289
289
|
export function generateTestCommand(criteria, category) {
|
|
290
290
|
// 카테고리 기본 명령어 사용
|
|
291
|
-
const defaultCommand = DEFAULT_TEST_COMMANDS[category] || '
|
|
291
|
+
const defaultCommand = DEFAULT_TEST_COMMANDS[category] || 'npm test';
|
|
292
292
|
// Acceptance Criteria에서 패턴 감지하여 추가 명령어 생성
|
|
293
293
|
const additionalChecks = [];
|
|
294
294
|
for (const criterion of criteria) {
|
package/dist/utils/validation.js
CHANGED
|
@@ -169,7 +169,7 @@ export function validateFeature(feature, allFeatures) {
|
|
|
169
169
|
severity: 'info',
|
|
170
170
|
category: 'content',
|
|
171
171
|
message: 'No test command specified',
|
|
172
|
-
suggestion: 'Add a test command (defaults to "
|
|
172
|
+
suggestion: 'Add a test command (defaults to "npm test")',
|
|
173
173
|
});
|
|
174
174
|
}
|
|
175
175
|
return issues;
|
package/package.json
CHANGED
package/templates/initializer.md
CHANGED
|
@@ -65,7 +65,7 @@ Each feature must have:
|
|
|
65
65
|
### 4. Create `init.sh`
|
|
66
66
|
|
|
67
67
|
Environment setup script that:
|
|
68
|
-
- Checks prerequisites (Node.js,
|
|
68
|
+
- Checks prerequisites (Node.js, npm, git)
|
|
69
69
|
- Installs dependencies
|
|
70
70
|
- Builds project (if applicable)
|
|
71
71
|
- Starts development server (optional)
|
|
@@ -132,7 +132,7 @@ grep -q '<head>' index.html && grep -q '<body>' index.html
|
|
|
132
132
|
|
|
133
133
|
# Test runner
|
|
134
134
|
npm test
|
|
135
|
-
|
|
135
|
+
npm test -- --grep 'feature name'
|
|
136
136
|
pytest tests/test_feature.py
|
|
137
137
|
```
|
|
138
138
|
|
|
@@ -264,7 +264,7 @@ If a requirement cannot be automated (e.g., visual testing, browser compatibilit
|
|
|
264
264
|
"progress.md 초기화",
|
|
265
265
|
"init.sh 생성 및 실행 권한 부여"
|
|
266
266
|
],
|
|
267
|
-
"testCommand": "
|
|
267
|
+
"testCommand": "npm test -- --grep 'aiag init'",
|
|
268
268
|
"passes": false,
|
|
269
269
|
"lastTestedAt": null,
|
|
270
270
|
"implementedBy": null,
|
|
@@ -285,7 +285,7 @@ This ensures consistent, high-quality development across your entire project!
|
|
|
285
285
|
|
|
286
286
|
🚀 Next Steps:
|
|
287
287
|
1. Review PRD: .taskmaster/docs/prd.md
|
|
288
|
-
2. Install taskmaster:
|
|
288
|
+
2. Install taskmaster: npm install -g task-master-ai
|
|
289
289
|
3. Initialize: taskmaster init
|
|
290
290
|
4. Generate tasks: taskmaster generate
|
|
291
291
|
```
|
|
@@ -390,7 +390,7 @@ The skill will automatically:
|
|
|
390
390
|
**With CLI (Fallback):**
|
|
391
391
|
```bash
|
|
392
392
|
# After PRD is generated:
|
|
393
|
-
|
|
393
|
+
npm install -g task-master-ai
|
|
394
394
|
cd your-project
|
|
395
395
|
taskmaster init
|
|
396
396
|
taskmaster parse-prd --input .taskmaster/docs/prd.md
|