aiag-cli 1.7.0 → 1.7.1

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 CHANGED
@@ -10,6 +10,9 @@ AI 에이전트 하네스 CLI - Anthropic의 접근 방식을 기반으로 한
10
10
  - **점진적 진행**: 테스트와 함께 한 번에 하나의 기능
11
11
  - **세션 관리**: 명확한 시작/종료 시퀀스
12
12
  - **기능 추적**: 테스트 명령이 포함된 JSON 기반 기능 목록
13
+ - **🆕 한국어 지원**: 모든 CLI 출력이 한국어로 제공
14
+ - **🆕 PRD 기반 초기화**: PRD 문서로부터 자동으로 기능 목록 생성
15
+ - **🆕 CLAUDE.md 자동 생성**: Claude Code가 즉시 이해할 수 있는 프로젝트 지침 문서 자동 생성
13
16
 
14
17
  ## 설치
15
18
 
@@ -23,11 +26,34 @@ npx aiag-cli init
23
26
 
24
27
  ## 빠른 시작
25
28
 
29
+ ### 방법 1: PRD 기반 자동 초기화 (권장)
30
+
26
31
  ```bash
27
- # 1. 프로젝트에서 초기화
32
+ # 1. PRD(Product Requirements Document) 작성
33
+ cat > PRD.md << 'EOF'
34
+ # 프로젝트명
35
+
36
+ ## 목표
37
+ 프로젝트 목표 설명
38
+
39
+ ## 주요 기능
40
+ - 기능 1
41
+ - 기능 2
42
+ - 기능 3
43
+
44
+ ## 제약사항
45
+ - 제약사항 1
46
+ - 제약사항 2
47
+ EOF
48
+
49
+ # 2. AIAG 초기화 (한국어로 진행!)
28
50
  aiag init
29
51
 
30
- # 2. .aiag/feature_list.json에 기능 편집
52
+ # 자동으로 다음이 생성됩니다:
53
+ # - .aiag/feature_list.json (PRD로부터 자동 생성)
54
+ # - .aiag/progress.md (진행 기록)
55
+ # - CLAUDE.md (Claude Code 작업 지침)
56
+ # - .aiag/init.sh (환경 설정 스크립트)
31
57
 
32
58
  # 3. 상태 확인
33
59
  aiag status
@@ -42,6 +68,17 @@ aiag complete FEATURE-001
42
68
  aiag commit
43
69
  ```
44
70
 
71
+ ### 방법 2: 수동 초기화
72
+
73
+ ```bash
74
+ # 1. 최소 구조만 생성
75
+ aiag init --minimal
76
+
77
+ # 2. .aiag/feature_list.json 수동 편집
78
+
79
+ # 3. 나머지는 동일...
80
+ ```
81
+
45
82
  ## 명령어
46
83
 
47
84
  | 명령어 | 설명 |
@@ -57,6 +94,17 @@ aiag commit
57
94
  | `aiag session start` | 코딩 세션 시작 |
58
95
  | `aiag session end` | 현재 세션 종료 |
59
96
 
97
+ ### init 명령 옵션
98
+
99
+ ```bash
100
+ aiag init [options]
101
+
102
+ 옵션:
103
+ -f, --force 기존 프로젝트 재초기화 (CLAUDE.md 백업 후 재생성)
104
+ --from-prd <file> 특정 PRD 파일 지정
105
+ --minimal PRD 분석 없이 최소 구조만 생성
106
+ ```
107
+
60
108
  ### 작업 지시 명령어
61
109
 
62
110
  ```bash
package/dist/cli.js CHANGED
@@ -92,11 +92,11 @@ program
92
92
  await work(featureId, options);
93
93
  });
94
94
  // aiag auto [count] - 자동 연속 구현
95
+ // Automatically resumes interrupted work if session_context.md exists
95
96
  program
96
97
  .command('auto [count]')
97
98
  .description('Automatically implement multiple features (use --loop for infinite mode)')
98
99
  .option('--loop', 'Run indefinitely until stopped (Ctrl+C)')
99
- .option('--resume', 'Resume from in-progress feature in session_context.md')
100
100
  .option('--until <featureId>', 'Stop when reaching this feature')
101
101
  .option('-c, --category <category>', 'Filter by category')
102
102
  .option('--dry-run', 'Show what would be done without making changes')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ interface AutoOptions {
4
4
  dryRun?: boolean;
5
5
  cooldown?: number;
6
6
  loop?: boolean;
7
- resume?: boolean;
8
7
  verbose?: boolean;
9
8
  timeout?: number;
10
9
  maxAttempts?: number;
@@ -12,7 +11,7 @@ interface AutoOptions {
12
11
  /**
13
12
  * aiag auto [count] - 자동 연속 구현 모드
14
13
  * --loop: 무한 루프 모드 (Ctrl+C로 중단)
15
- * --resume: 진행 중인 작업부터 이어서 시작
14
+ * 중단된 작업이 있으면 자동으로 감지하여 재개
16
15
  */
17
16
  export declare function auto(count?: string, options?: AutoOptions): Promise<void>;
18
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AAuBA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsGD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,KAAK,GAAE,MAAY,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6YxF"}
1
+ {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AA4BA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsGD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,KAAK,GAAE,MAAY,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkXxF"}
@@ -4,6 +4,7 @@ import * as path from 'path';
4
4
  import { readFeatureList, writeFeatureList, getProgress } from '../utils/featureList.js';
5
5
  import { appendToProgress, recordWorkCompleted, updateProgressSummary, updateNextSteps, } from '../utils/progress.js';
6
6
  import { printHeader, printError, printSuccess, printWarning, printSection, colors, icons, } from '../utils/output.js';
7
+ import { getInterruptedWork, updateSessionContext as updateSessionContextUtil, clearSessionContext as clearSessionContextUtil, } from '../utils/sessionContext.js';
7
8
  import { PRIORITY_ORDER } from '../types.js';
8
9
  /**
9
10
  * 알려진 실패 패턴 (Common failure patterns)
@@ -67,7 +68,7 @@ const KNOWN_PATTERNS = [
67
68
  /**
68
69
  * aiag auto [count] - 자동 연속 구현 모드
69
70
  * --loop: 무한 루프 모드 (Ctrl+C로 중단)
70
- * --resume: 진행 중인 작업부터 이어서 시작
71
+ * 중단된 작업이 있으면 자동으로 감지하여 재개
71
72
  */
72
73
  export async function auto(count = '5', options = {}) {
73
74
  const baseDir = process.cwd();
@@ -88,23 +89,6 @@ export async function auto(count = '5', options = {}) {
88
89
  printError('No feature_list.json found. Run "aiag init" first.');
89
90
  return;
90
91
  }
91
- // --resume 옵션: 진행 중인 작업 확인
92
- let resumeFeature;
93
- let resumeContext;
94
- if (options.resume) {
95
- resumeFeature = getInProgressFeature(baseDir, featureList);
96
- if (resumeFeature) {
97
- resumeContext = getFeatureContext(baseDir, resumeFeature.id);
98
- console.log(colors.info(`Resuming in-progress feature: ${resumeFeature.id}`));
99
- if (resumeContext.attemptNumber > 1) {
100
- console.log(colors.warning(` Attempt #${resumeContext.attemptNumber}`));
101
- if (resumeContext.previousError) {
102
- console.log(colors.dim(` Previous error: ${resumeContext.previousError.substring(0, 100)}...`));
103
- }
104
- }
105
- console.log('');
106
- }
107
- }
108
92
  const modeDescription = isLoopMode ? 'Loop Mode (Ctrl+C to stop)' : `Processing up to ${maxFeatures} features`;
109
93
  printHeader(`AIAG Auto Mode - ${modeDescription}`);
110
94
  if (options.dryRun) {
@@ -145,7 +129,6 @@ export async function auto(count = '5', options = {}) {
145
129
  - **Session ID**: ${sessionId}
146
130
  - **Started at**: ${sessionStartTime}
147
131
  - **Mode**: ${isLoopMode ? 'loop (infinite)' : `batch (${maxFeatures})`}
148
- - **Resume**: ${options.resume || false}
149
132
  - **Category filter**: ${options.category || 'all'}
150
133
  - **Until feature**: ${options.until || 'none'}
151
134
  - **Max attempts**: ${maxAttempts}
@@ -167,41 +150,33 @@ export async function auto(count = '5', options = {}) {
167
150
  // 다음 기능 선택 (retry 또는 신규)
168
151
  let feature;
169
152
  let featureContext;
170
- // 1. iteration에서 --resume으로 지정된 feature 처리
171
- if (iterationCount === 0 && resumeFeature) {
172
- feature = resumeFeature;
173
- featureContext = resumeContext;
174
- resumeFeature = undefined;
175
- resumeContext = undefined;
176
- verboseLog(`Using --resume feature: ${feature.id} (attempt ${featureContext?.attemptNumber})`);
177
- }
178
- // 2. session_context.md에 실패한 feature가 있고 재시도 가능한지 확인
179
- else {
180
- const failedFeature = getInProgressFeature(baseDir, currentFeatureList);
181
- if (failedFeature) {
182
- const context = getFeatureContext(baseDir, failedFeature.id);
183
- // 최대 시도 횟수 미만이면 자동 재시도
184
- if (context.attemptNumber <= maxAttempts) {
185
- feature = failedFeature;
186
- featureContext = context;
187
- verboseLog(`Auto-retrying failed feature: ${feature.id} (attempt ${context.attemptNumber}/${maxAttempts})`);
188
- }
189
- else {
190
- // 최대 시도 횟수 초과 - 영구 실패 처리
191
- verboseLog(`Feature ${failedFeature.id} exceeded max attempts (${maxAttempts}), moving to next`);
192
- appendToProgress(baseDir, `- [!] ${failedFeature.id}: Permanently failed after ${maxAttempts} attempts\n`);
193
- clearSessionContext(baseDir); // 컨텍스트 정리하고 다음 feature로
194
- feature = selectNextFeature(currentFeatureList, options);
195
- featureContext = { attemptNumber: 1 };
196
- }
153
+ // 1. 항상 session_context.md를 먼저 확인하여 중단된 작업이 있는지 체크
154
+ const interruptedWork = getInterruptedWork(baseDir, currentFeatureList);
155
+ if (interruptedWork) {
156
+ // 최대 시도 횟수 미만이면 자동 재시도
157
+ if (interruptedWork.attemptNumber <= maxAttempts) {
158
+ feature = interruptedWork.feature;
159
+ featureContext = {
160
+ attemptNumber: interruptedWork.attemptNumber,
161
+ previousError: interruptedWork.previousError,
162
+ };
163
+ verboseLog(`Auto-retrying interrupted feature: ${feature.id} (attempt ${interruptedWork.attemptNumber}/${maxAttempts})`);
197
164
  }
198
165
  else {
199
- // 실패한 feature 없음 - 다음 feature 선택
166
+ // 최대 시도 횟수 초과 - 영구 실패 처리
167
+ verboseLog(`Feature ${interruptedWork.feature.id} exceeded max attempts (${maxAttempts}), moving to next`);
168
+ appendToProgress(baseDir, `- [!] ${interruptedWork.feature.id}: Permanently failed after ${maxAttempts} attempts\n`);
169
+ clearSessionContextUtil(baseDir); // 컨텍스트 정리하고 다음 feature로
200
170
  feature = selectNextFeature(currentFeatureList, options);
201
171
  featureContext = { attemptNumber: 1 };
202
- if (feature) {
203
- verboseLog(`Selected next feature: ${feature.id}`);
204
- }
172
+ }
173
+ }
174
+ else {
175
+ // 중단된 작업 없음 - 다음 feature 선택
176
+ feature = selectNextFeature(currentFeatureList, options);
177
+ featureContext = { attemptNumber: 1 };
178
+ if (feature) {
179
+ verboseLog(`Selected next feature: ${feature.id}`);
205
180
  }
206
181
  }
207
182
  if (!feature) {
@@ -237,7 +212,7 @@ export async function auto(count = '5', options = {}) {
237
212
  }
238
213
  try {
239
214
  // 1. Update session context (in_progress)
240
- updateSessionContext(baseDir, feature, {
215
+ updateSessionContextUtil(baseDir, feature, {
241
216
  status: 'in_progress',
242
217
  attempts: featureContext?.attemptNumber || 1,
243
218
  });
@@ -303,7 +278,7 @@ export async function auto(count = '5', options = {}) {
303
278
  duration: Date.now() - featureStartTime,
304
279
  });
305
280
  // Clear session context (success)
306
- clearSessionContext(baseDir);
281
+ clearSessionContextUtil(baseDir);
307
282
  // progress.md에 기록
308
283
  const attemptSuffix = (featureContext?.attemptNumber || 1) > 1
309
284
  ? ` (succeeded on attempt ${featureContext?.attemptNumber})`
@@ -330,7 +305,7 @@ export async function auto(count = '5', options = {}) {
330
305
  duration: Date.now() - featureStartTime,
331
306
  });
332
307
  // Update session context (failed) with failure analysis
333
- updateSessionContext(baseDir, feature, {
308
+ updateSessionContextUtil(baseDir, feature, {
334
309
  status: 'failed',
335
310
  attempts: featureContext?.attemptNumber || 1,
336
311
  error: errorMessage,
@@ -407,126 +382,6 @@ ${skippedFeatures.map((r) => `- **${r.featureId}**`).join('\n')}
407
382
  printWarning('Auto mode finished with failures');
408
383
  }
409
384
  }
410
- /**
411
- * session_context.md에서 진행 중인 작업을 찾아 반환 (with context)
412
- */
413
- function getInProgressFeature(baseDir, featureList) {
414
- const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
415
- if (!fs.existsSync(sessionContextPath)) {
416
- return undefined;
417
- }
418
- try {
419
- const content = fs.readFileSync(sessionContextPath, 'utf-8');
420
- // ID 추출: "- ID: FEATURE-001" 패턴
421
- const idMatch = content.match(/- ID:\s*(\S+)/);
422
- if (!idMatch)
423
- return undefined;
424
- const featureId = idMatch[1];
425
- // 해당 feature가 아직 완료되지 않았는지 확인
426
- const feature = featureList.features.find((f) => f.id === featureId);
427
- if (feature && !feature.passes) {
428
- return feature;
429
- }
430
- return undefined;
431
- }
432
- catch {
433
- return undefined;
434
- }
435
- }
436
- /**
437
- * session_context.md에서 feature의 컨텍스트 정보 추출
438
- */
439
- function getFeatureContext(baseDir, featureId) {
440
- const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
441
- if (!fs.existsSync(sessionContextPath)) {
442
- return { attemptNumber: 1 };
443
- }
444
- try {
445
- const content = fs.readFileSync(sessionContextPath, 'utf-8');
446
- // Attempts 추출
447
- const attemptsMatch = content.match(/- Attempts:\s*(\d+)/);
448
- const attemptNumber = attemptsMatch ? parseInt(attemptsMatch[1], 10) + 1 : 1;
449
- // Previous error 추출
450
- const errorMatch = content.match(/## Previous Error\s*```\s*(.+?)\s*```/s);
451
- const previousError = errorMatch ? errorMatch[1].trim() : undefined;
452
- return {
453
- attemptNumber,
454
- previousError,
455
- };
456
- }
457
- catch {
458
- return { attemptNumber: 1 };
459
- }
460
- }
461
- /**
462
- * Update session_context.md with feature info and failure context
463
- */
464
- function updateSessionContext(baseDir, feature, context) {
465
- const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
466
- const timestamp = new Date().toISOString();
467
- let content = `# Current Session Context
468
-
469
- ## Active Feature
470
-
471
- - ID: ${feature.id}
472
- - Description: ${feature.description}
473
- - Status: ${context.status}
474
- - Started: ${timestamp}
475
- - Attempts: ${context.attempts}
476
-
477
- `;
478
- if (context.error) {
479
- content += `## Previous Error
480
-
481
- \`\`\`
482
- ${context.error}
483
- \`\`\`
484
-
485
- `;
486
- // Add failure analysis if available
487
- if (context.failureAnalysis && context.failureAnalysis.category !== 'unknown') {
488
- content += `## Failure Analysis
489
-
490
- - **Category**: ${context.failureAnalysis.category}
491
- - **Suggested Fix**: ${context.failureAnalysis.suggestion}
492
- - **Should Retry**: ${context.failureAnalysis.shouldRetry ? 'Yes' : 'No (manual fix recommended)'}
493
-
494
- `;
495
- }
496
- }
497
- content += `## Acceptance Criteria
498
-
499
- ${feature.acceptanceCriteria.map((c, i) => `${i + 1}. [ ] ${c}`).join('\n')}
500
-
501
- ## Next Action
502
-
503
- ${context.status === 'failed' ? '- Retry with different approach based on error analysis' : '- Continue implementation or verify completion'}
504
- `;
505
- try {
506
- fs.writeFileSync(sessionContextPath, content, 'utf-8');
507
- }
508
- catch (error) {
509
- console.error('Failed to update session context:', error);
510
- }
511
- }
512
- /**
513
- * Clear session context (on successful completion)
514
- */
515
- function clearSessionContext(baseDir) {
516
- const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
517
- const content = `# Current Session Context
518
-
519
- ## No Active Feature
520
-
521
- Last updated: ${new Date().toISOString()}
522
- `;
523
- try {
524
- fs.writeFileSync(sessionContextPath, content, 'utf-8');
525
- }
526
- catch (error) {
527
- console.error('Failed to clear session context:', error);
528
- }
529
- }
530
385
  function selectNextFeature(featureList, options) {
531
386
  let candidates = featureList.features.filter((f) => !f.passes);
532
387
  // 카테고리 필터
@@ -1 +1 @@
1
- {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../src/commands/next.ts"],"names":[],"mappings":"AAWA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EnE"}
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../src/commands/next.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4GnE"}
@@ -1,8 +1,41 @@
1
- import { getNextFeature, getIncompleteFeatures } from '../utils/featureList.js';
2
- import { printHeader, printSection, colors, icons, printError, getPriorityColor, } from '../utils/output.js';
1
+ import { getNextFeature, getIncompleteFeatures, readFeatureList } from '../utils/featureList.js';
2
+ import { printHeader, printSection, colors, icons, printError, getPriorityColor, printWarning, } from '../utils/output.js';
3
+ import { getInterruptedWork } from '../utils/sessionContext.js';
3
4
  export async function next(options = {}) {
5
+ const baseDir = process.cwd();
4
6
  const category = options.category;
5
- const feature = getNextFeature(category);
7
+ // 1. 먼저 중단된 작업이 있는지 확인
8
+ const featureList = readFeatureList(baseDir);
9
+ if (!featureList) {
10
+ printError('No feature_list.json found. Run "aiag init" first.');
11
+ return;
12
+ }
13
+ const interruptedWork = getInterruptedWork(baseDir, featureList);
14
+ let feature;
15
+ if (interruptedWork) {
16
+ // 중단된 작업이 있으면 그것을 우선적으로 표시
17
+ feature = interruptedWork.feature;
18
+ printWarning('⚠ Found interrupted work!');
19
+ console.log('');
20
+ console.log(`You have an in-progress feature: ${colors.bold(feature.id)}`);
21
+ console.log(`${colors.dim('Status:')} ${interruptedWork.status}`);
22
+ console.log(`${colors.dim('Attempts:')} ${interruptedWork.attemptNumber}`);
23
+ if (interruptedWork.previousError) {
24
+ console.log(`${colors.dim('Previous error:')} ${interruptedWork.previousError.substring(0, 100)}...`);
25
+ }
26
+ console.log('');
27
+ console.log(colors.dim('This work will be automatically resumed when you run:'));
28
+ console.log(colors.info(` aiag work`));
29
+ console.log(colors.info(` aiag auto`));
30
+ console.log('');
31
+ console.log(colors.dim('To abandon this work and start fresh, run:'));
32
+ console.log(colors.info(` aiag session end`));
33
+ console.log('');
34
+ }
35
+ else {
36
+ // 중단된 작업이 없으면 다음 feature 추천
37
+ feature = getNextFeature(category);
38
+ }
6
39
  if (!feature) {
7
40
  if (category) {
8
41
  printError(`No incomplete features in category "${category}".`);
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/commands/next.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/commands/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAQhE,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAAuB,EAAE;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAuC,CAAC;IAEjE,uBAAuB;IACvB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,UAAU,CAAC,oDAAoD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC;IAEZ,IAAI,eAAe,EAAE,CAAC;QACpB,2BAA2B;QAC3B,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QAClC,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,CAAC,uCAAuC,QAAQ,IAAI,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAE3C,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CACtF,CAAC;IAEF,cAAc;IACd,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAExC,sBAAsB;IACtB,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,eAAe;IACf,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ;IACR,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,YAAY,CAAC,EAAE,CACxH,CAAC;IAEF,oBAAoB;IACpB,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/J,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,aAAqB;IAClD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCpE;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAwChD"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCpE;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAkDhD"}
@@ -1,6 +1,7 @@
1
1
  import { updateLastUpdated } from '../utils/progress.js';
2
2
  import { getProgress, getNextFeature } from '../utils/featureList.js';
3
- import { printHeader, printSection, colors, icons, printInfo } from '../utils/output.js';
3
+ import { printHeader, printSection, colors, icons, printInfo, printSuccess } from '../utils/output.js';
4
+ import { clearSessionContext, hasInterruptedWork } from '../utils/sessionContext.js';
4
5
  export async function sessionStart(featureId) {
5
6
  printHeader('Session Start');
6
7
  const progress = getProgress();
@@ -29,8 +30,17 @@ export async function sessionStart(featureId) {
29
30
  console.log('');
30
31
  }
31
32
  export async function sessionEnd() {
33
+ const baseDir = process.cwd();
32
34
  printHeader('Session End');
33
35
  const progress = getProgress();
36
+ // Check if there's interrupted work and clear it
37
+ const hadInterruptedWork = hasInterruptedWork(baseDir);
38
+ if (hadInterruptedWork) {
39
+ clearSessionContext(baseDir);
40
+ console.log('');
41
+ printSuccess('✓ Cleared interrupted work from session context');
42
+ console.log('');
43
+ }
34
44
  // Get session summary
35
45
  printSection('Session Summary');
36
46
  console.log(` Progress: ${progress.completed}/${progress.total} features (${progress.percentage}%)`);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"work.d.ts","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"AAeA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDvF"}
1
+ {"version":3,"file":"work.d.ts","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"AAoBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6EvF"}
@@ -1,8 +1,7 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
1
  import { readFeatureList } from '../utils/featureList.js';
4
2
  import { appendToProgress } from '../utils/progress.js';
5
- import { printHeader, printError, printSection, colors, icons, getPriorityColor, } from '../utils/output.js';
3
+ import { printHeader, printError, printSection, printWarning, colors, icons, getPriorityColor, } from '../utils/output.js';
4
+ import { getInterruptedWork, updateSessionContext as updateSessionContextUtil, } from '../utils/sessionContext.js';
6
5
  import { PRIORITY_ORDER } from '../types.js';
7
6
  /**
8
7
  * aiag work [id] - 단일 기능 작업 시작 (세션 컨텍스트 업데이트 + 프롬프트 생성)
@@ -16,30 +15,55 @@ export async function work(featureId, options = {}) {
16
15
  return;
17
16
  }
18
17
  let feature;
19
- if (featureId) {
20
- // 특정 ID 지정
21
- feature = featureList.features.find((f) => f.id === featureId);
22
- if (!feature) {
23
- printError(`Feature not found: ${featureId}`);
24
- return;
25
- }
26
- if (feature.passes) {
27
- printError(`Feature ${featureId} is already completed.`);
28
- return;
18
+ // 1. 먼저 중단된 작업이 있는지 확인 (featureId가 지정되지 않은 경우에만)
19
+ if (!featureId) {
20
+ const interruptedWork = getInterruptedWork(baseDir, featureList);
21
+ if (interruptedWork) {
22
+ feature = interruptedWork.feature;
23
+ printWarning('⚠ Resuming interrupted work!');
24
+ console.log('');
25
+ console.log(`You have an in-progress feature: ${colors.bold(feature.id)}`);
26
+ console.log(`${colors.dim('Status:')} ${interruptedWork.status}`);
27
+ console.log(`${colors.dim('Attempts:')} ${interruptedWork.attemptNumber}`);
28
+ if (interruptedWork.previousError) {
29
+ console.log(`${colors.dim('Previous error:')} ${interruptedWork.previousError.substring(0, 100)}...`);
30
+ }
31
+ console.log('');
32
+ console.log(colors.dim('To abandon this work and start fresh, run:'));
33
+ console.log(colors.info(` aiag session end`));
34
+ console.log('');
29
35
  }
30
36
  }
31
- else {
32
- // 자동 선택 (next 로직)
33
- feature = selectNextFeature(featureList, options);
34
- if (!feature) {
35
- printHeader('No Work Available');
36
- console.log('');
37
- console.log(colors.success('🎉 All features are completed!'));
38
- return;
37
+ // 2. 중단된 작업이 없으면 feature 선택
38
+ if (!feature) {
39
+ if (featureId) {
40
+ // 특정 ID 지정
41
+ feature = featureList.features.find((f) => f.id === featureId);
42
+ if (!feature) {
43
+ printError(`Feature not found: ${featureId}`);
44
+ return;
45
+ }
46
+ if (feature.passes) {
47
+ printError(`Feature ${featureId} is already completed.`);
48
+ return;
49
+ }
50
+ }
51
+ else {
52
+ // 자동 선택 (next 로직)
53
+ feature = selectNextFeature(featureList, options);
54
+ if (!feature) {
55
+ printHeader('No Work Available');
56
+ console.log('');
57
+ console.log(colors.success('🎉 All features are completed!'));
58
+ return;
59
+ }
39
60
  }
40
61
  }
41
62
  // 세션 컨텍스트 업데이트
42
- updateSessionContext(baseDir, feature.id, feature.description);
63
+ updateSessionContextUtil(baseDir, feature, {
64
+ status: 'in_progress',
65
+ attempts: 1,
66
+ });
43
67
  // progress.md에 작업 시작 기록
44
68
  const workStartLog = `\n### Work Started: ${feature.id}\n- Time: ${new Date().toISOString()}\n- Feature: ${feature.description}\n`;
45
69
  appendToProgress(baseDir, workStartLog);
@@ -152,22 +176,4 @@ function printNextSteps(feature) {
152
176
  console.log(` 4. 커밋: ${colors.info('aiag commit')}`);
153
177
  console.log('');
154
178
  }
155
- function updateSessionContext(baseDir, featureId, description) {
156
- const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
157
- const content = `# Current Session Context
158
-
159
- ## Active Feature
160
- - ID: ${featureId}
161
- - Description: ${description}
162
- - Status: In Progress
163
-
164
- ## Environment Status
165
- - Last checked: ${new Date().toISOString()}
166
- - Status: Working
167
-
168
- ## Notes
169
- - Started work on ${featureId}
170
- `;
171
- fs.writeFileSync(sessionContextPath, content, 'utf-8');
172
- }
173
179
  //# sourceMappingURL=work.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Feature, FeatureList } from '../types.js';
2
+ export interface SessionFeatureContext {
3
+ feature: Feature;
4
+ attemptNumber: number;
5
+ previousError?: string;
6
+ status: 'in_progress' | 'failed';
7
+ }
8
+ /**
9
+ * session_context.md에서 진행 중이거나 실패한 작업을 찾아 반환
10
+ */
11
+ export declare function getInterruptedWork(baseDir: string, featureList: FeatureList): SessionFeatureContext | undefined;
12
+ /**
13
+ * Update session_context.md with feature info and failure context
14
+ */
15
+ export declare function updateSessionContext(baseDir: string, feature: Feature, context: {
16
+ status: 'in_progress' | 'failed';
17
+ attempts: number;
18
+ error?: string;
19
+ failureAnalysis?: {
20
+ category: string;
21
+ shouldRetry: boolean;
22
+ suggestion: string;
23
+ };
24
+ }): void;
25
+ /**
26
+ * Clear session context (on successful completion or manual clear)
27
+ */
28
+ export declare function clearSessionContext(baseDir: string): void;
29
+ /**
30
+ * Check if there is any interrupted work
31
+ */
32
+ export declare function hasInterruptedWork(baseDir: string): boolean;
33
+ //# sourceMappingURL=sessionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionContext.d.ts","sourceRoot":"","sources":["../../src/utils/sessionContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACvB,qBAAqB,GAAG,SAAS,CAgDnC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACP,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,GACA,IAAI,CAmDN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAezD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa3D"}
@@ -0,0 +1,132 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ /**
4
+ * session_context.md에서 진행 중이거나 실패한 작업을 찾아 반환
5
+ */
6
+ export function getInterruptedWork(baseDir, featureList) {
7
+ const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
8
+ if (!fs.existsSync(sessionContextPath)) {
9
+ return undefined;
10
+ }
11
+ try {
12
+ const content = fs.readFileSync(sessionContextPath, 'utf-8');
13
+ // "No Active Feature" 체크
14
+ if (content.includes('## No Active Feature')) {
15
+ return undefined;
16
+ }
17
+ // ID 추출: "- ID: FEATURE-001" 패턴
18
+ const idMatch = content.match(/- ID:\s*(\S+)/);
19
+ if (!idMatch)
20
+ return undefined;
21
+ const featureId = idMatch[1];
22
+ // Status 추출: "- Status: in_progress" 패턴
23
+ const statusMatch = content.match(/- Status:\s*(in_progress|failed)/);
24
+ const status = statusMatch?.[1] || 'in_progress';
25
+ // Attempts 추출
26
+ const attemptsMatch = content.match(/- Attempts:\s*(\d+)/);
27
+ const attemptNumber = attemptsMatch ? parseInt(attemptsMatch[1], 10) : 1;
28
+ // Previous error 추출
29
+ const errorMatch = content.match(/## Previous Error\s*```\s*(.+?)\s*```/s);
30
+ const previousError = errorMatch ? errorMatch[1].trim() : undefined;
31
+ // 해당 feature가 아직 완료되지 않았는지 확인
32
+ const feature = featureList.features.find((f) => f.id === featureId);
33
+ if (feature && !feature.passes) {
34
+ return {
35
+ feature,
36
+ attemptNumber,
37
+ previousError,
38
+ status,
39
+ };
40
+ }
41
+ return undefined;
42
+ }
43
+ catch {
44
+ return undefined;
45
+ }
46
+ }
47
+ /**
48
+ * Update session_context.md with feature info and failure context
49
+ */
50
+ export function updateSessionContext(baseDir, feature, context) {
51
+ const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
52
+ const timestamp = new Date().toISOString();
53
+ let content = `# Current Session Context
54
+
55
+ ## Active Feature
56
+
57
+ - ID: ${feature.id}
58
+ - Description: ${feature.description}
59
+ - Status: ${context.status}
60
+ - Started: ${timestamp}
61
+ - Attempts: ${context.attempts}
62
+
63
+ `;
64
+ if (context.error) {
65
+ content += `## Previous Error
66
+
67
+ \`\`\`
68
+ ${context.error}
69
+ \`\`\`
70
+
71
+ `;
72
+ // Add failure analysis if available
73
+ if (context.failureAnalysis && context.failureAnalysis.category !== 'unknown') {
74
+ content += `## Failure Analysis
75
+
76
+ - **Category**: ${context.failureAnalysis.category}
77
+ - **Suggested Fix**: ${context.failureAnalysis.suggestion}
78
+ - **Should Retry**: ${context.failureAnalysis.shouldRetry ? 'Yes' : 'No (manual fix recommended)'}
79
+
80
+ `;
81
+ }
82
+ }
83
+ content += `## Acceptance Criteria
84
+
85
+ ${feature.acceptanceCriteria.map((c, i) => `${i + 1}. [ ] ${c}`).join('\n')}
86
+
87
+ ## Next Action
88
+
89
+ ${context.status === 'failed' ? '- Retry with different approach based on error analysis' : '- Continue implementation or verify completion'}
90
+ `;
91
+ try {
92
+ fs.writeFileSync(sessionContextPath, content, 'utf-8');
93
+ }
94
+ catch (error) {
95
+ console.error('Failed to update session context:', error);
96
+ }
97
+ }
98
+ /**
99
+ * Clear session context (on successful completion or manual clear)
100
+ */
101
+ export function clearSessionContext(baseDir) {
102
+ const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
103
+ const content = `# Current Session Context
104
+
105
+ ## No Active Feature
106
+
107
+ Last updated: ${new Date().toISOString()}
108
+ `;
109
+ try {
110
+ fs.writeFileSync(sessionContextPath, content, 'utf-8');
111
+ }
112
+ catch (error) {
113
+ console.error('Failed to clear session context:', error);
114
+ }
115
+ }
116
+ /**
117
+ * Check if there is any interrupted work
118
+ */
119
+ export function hasInterruptedWork(baseDir) {
120
+ const sessionContextPath = path.join(baseDir, '.aiag', 'session_context.md');
121
+ if (!fs.existsSync(sessionContextPath)) {
122
+ return false;
123
+ }
124
+ try {
125
+ const content = fs.readFileSync(sessionContextPath, 'utf-8');
126
+ return !content.includes('## No Active Feature') && content.includes('## Active Feature');
127
+ }
128
+ catch {
129
+ return false;
130
+ }
131
+ }
132
+ //# sourceMappingURL=sessionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionContext.js","sourceRoot":"","sources":["../../src/utils/sessionContext.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiag-cli",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "AI Agent Harness CLI - Long-running agent development tool based on Anthropic's approach",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",