aiwf 0.3.15 → 0.3.16

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 (35) hide show
  1. package/README.ko.md +3 -4
  2. package/README.md +38 -3
  3. package/docs/API_REFERENCE_FULL.ko.md +979 -0
  4. package/docs/API_REFERENCE_FULL.md +979 -0
  5. package/docs/ARCHITECTURE.ko.md +314 -0
  6. package/docs/ARCHITECTURE.md +314 -0
  7. package/docs/GETTING_STARTED.ko.md +219 -0
  8. package/docs/GETTING_STARTED.md +0 -1
  9. package/docs/PERFORMANCE_GUIDELINES.ko.md +388 -0
  10. package/docs/TROUBLESHOOTING.ko.md +366 -0
  11. package/package.json +50 -2
  12. package/src/DEPENDENCY_MAP.md +90 -0
  13. package/src/lib/installer.js +1 -0
  14. package/src/lib/resources/templates/api-server/template/src/controllers/aiwfController.ts +0 -14
  15. package/src/lib/resources/templates/api-server/template/src/routes/aiwf.ts +0 -11
  16. package/src/lib/resources/templates/web-app/template/src/pages/AiwfDashboard.tsx +2 -5
  17. package/src/lib/resources/utils/token-reporter.js +2 -3
  18. package/src/utils/checkpoint-manager.js +11 -1
  19. package/src/utils/engineering-guard.js +11 -1
  20. package/templates/api-server/template/src/controllers/aiwfController.ts +0 -14
  21. package/templates/api-server/template/src/routes/aiwf.ts +0 -11
  22. package/templates/web-app/template/src/pages/AiwfDashboard.tsx +2 -5
  23. package/docs/guides/feature-git-integration-guide-ko.md +0 -481
  24. package/docs/guides/feature-git-integration-guide.md +0 -481
  25. package/src/commands/cache-templates.js +0 -209
  26. package/src/commands/create-offline.js +0 -86
  27. package/src/commands/state-refactored.js +0 -419
  28. package/src/lib/resources/commands/feature-ledger.js +0 -565
  29. package/src/lib/resources/commands/feature_commit_report.js +0 -370
  30. package/src/lib/resources/commands/scan_git_history.js +0 -234
  31. package/src/lib/resources/commands/sync_feature_commits.js +0 -154
  32. package/src/lib/resources/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
  33. package/src/lib/resources/utils/feature-updater.js +0 -271
  34. package/src/utils/git-integration.js +0 -173
  35. package/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
@@ -0,0 +1,366 @@
1
+ # AIWF 문제 해결 가이드
2
+
3
+ [한국어](TROUBLESHOOTING.ko.md) | [English](TROUBLESHOOTING.md)
4
+
5
+ > AIWF 사용 중 발생할 수 있는 일반적인 문제와 해결 방법
6
+
7
+ ## 📋 목차
8
+
9
+ 1. [설치 문제](#설치-문제)
10
+ 2. [명령어 실행 오류](#명령어-실행-오류)
11
+ 3. [상태 관리 문제](#상태-관리-문제)
12
+ 4. [Git 통합 문제](#git-통합-문제)
13
+ 5. [YOLO 모드 문제](#yolo-모드-문제)
14
+ 6. [성능 문제](#성능-문제)
15
+ 7. [호환성 문제](#호환성-문제)
16
+ 8. [FAQ](#faq)
17
+
18
+ ## 설치 문제
19
+
20
+ ### 전역 설치 실패
21
+
22
+ **문제**: `npm install -g aiwf` 실행 시 권한 오류
23
+
24
+ **해결책**:
25
+ ```bash
26
+ # macOS/Linux
27
+ sudo npm install -g aiwf
28
+
29
+ # Windows (관리자 권한으로 실행)
30
+ npm install -g aiwf
31
+
32
+ # 또는 npm 권한 설정 변경
33
+ npm config set prefix ~/.npm-global
34
+ export PATH=~/.npm-global/bin:$PATH
35
+ ```
36
+
37
+ ### 프로젝트 설치 실패
38
+
39
+ **문제**: `aiwf install` 실행 시 오류
40
+
41
+ **원인 및 해결책**:
42
+ 1. **Node.js 버전**: Node.js 16.0.0 이상 필요
43
+ ```bash
44
+ node --version # 버전 확인
45
+ ```
46
+
47
+ 2. **기존 설치 충돌**:
48
+ ```bash
49
+ # 기존 설치 제거
50
+ rm -rf .aiwf
51
+ # 재설치
52
+ aiwf install --force
53
+ ```
54
+
55
+ 3. **권한 문제**:
56
+ ```bash
57
+ # 현재 디렉토리 권한 확인
58
+ ls -la
59
+ # 필요시 권한 변경
60
+ chmod -R 755 .
61
+ ```
62
+
63
+ ## 명령어 실행 오류
64
+
65
+ ### "Command not found" 오류
66
+
67
+ **문제**: `aiwf: command not found`
68
+
69
+ **해결책**:
70
+ ```bash
71
+ # PATH 확인
72
+ echo $PATH
73
+
74
+ # npm 전역 경로 확인
75
+ npm config get prefix
76
+
77
+ # PATH에 추가 (bash)
78
+ echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
79
+ source ~/.bashrc
80
+
81
+ # PATH에 추가 (zsh)
82
+ echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
83
+ source ~/.zshrc
84
+ ```
85
+
86
+ ### ES 모듈 오류
87
+
88
+ **문제**: `Cannot use import statement outside a module`
89
+
90
+ **해결책**:
91
+ ```bash
92
+ # Node.js 버전 확인 (16+ 필요)
93
+ node --version
94
+
95
+ # package.json에 type 추가
96
+ {
97
+ "type": "module"
98
+ }
99
+ ```
100
+
101
+ ### 리소스를 찾을 수 없음
102
+
103
+ **문제**: `Resource not found: commands/...`
104
+
105
+ **해결책**:
106
+ ```bash
107
+ # AIWF 재설치
108
+ aiwf install --force
109
+
110
+ # 캐시 정리
111
+ npm cache clean --force
112
+ npm install -g aiwf@latest
113
+ ```
114
+
115
+ ## 상태 관리 문제
116
+
117
+ ### 상태 동기화 실패
118
+
119
+ **문제**: `aiwf state update` 실행 시 오류
120
+
121
+ **해결책**:
122
+ 1. **상태 파일 확인**:
123
+ ```bash
124
+ ls -la .aiwf/state/
125
+ ```
126
+
127
+ 2. **상태 초기화**:
128
+ ```bash
129
+ aiwf state init --force
130
+ ```
131
+
132
+ 3. **권한 문제 해결**:
133
+ ```bash
134
+ chmod -R 644 .aiwf/state/*
135
+ ```
136
+
137
+ ### 순환 의존성 감지
138
+
139
+ **문제**: "Circular dependency detected"
140
+
141
+ **해결책**:
142
+ 1. 의존성 확인:
143
+ ```bash
144
+ aiwf state validate
145
+ ```
146
+
147
+ 2. 의존성 제거:
148
+ - 태스크 파일에서 순환 참조 수정
149
+ - 의존성 재구성
150
+
151
+ ### 상태 파일 손상
152
+
153
+ **문제**: "Invalid state file format"
154
+
155
+ **해결책**:
156
+ ```bash
157
+ # 백업에서 복원
158
+ cp .aiwf/state/task-state-index.json.backup .aiwf/state/task-state-index.json
159
+
160
+ # 또는 상태 재구성
161
+ aiwf state rebuild
162
+ ```
163
+
164
+ ## Git 통합 문제
165
+
166
+ ### Git Hook 오류
167
+
168
+ **문제**: 커밋 시 hook 오류 발생
169
+
170
+ **해결책**:
171
+ 1. **Hook 확인**:
172
+ ```bash
173
+ ls -la .git/hooks/
174
+ ```
175
+
176
+ 2. **Hook 재설치**:
177
+ ```bash
178
+ ./hooks/install-hooks.sh
179
+ ```
180
+
181
+ 3. **Hook 비활성화** (임시):
182
+ ```bash
183
+ git commit --no-verify
184
+ ```
185
+
186
+ ### Feature ID 추출 실패
187
+
188
+ **문제**: 커밋 메시지에서 Feature ID가 인식되지 않음
189
+
190
+ **해결책**:
191
+ - 올바른 형식 사용: `FL001`, `FL002` 등
192
+ - 커밋 메시지 예:
193
+ ```
194
+ feat(FL001): 사용자 인증 구현
195
+ ```
196
+
197
+ ## YOLO 모드 문제
198
+
199
+ ### YOLO 실행 중단
200
+
201
+ **문제**: YOLO 모드가 예기치 않게 중단됨
202
+
203
+ **해결책**:
204
+ 1. **체크포인트에서 재개**:
205
+ ```bash
206
+ # 마지막 체크포인트 확인
207
+ aiwf checkpoint list
208
+
209
+ # 재개
210
+ aiwf yolo --resume
211
+ ```
212
+
213
+ 2. **안전 모드 사용**:
214
+ ```bash
215
+ aiwf yolo --safe
216
+ ```
217
+
218
+ ### 메모리 부족
219
+
220
+ **문제**: "JavaScript heap out of memory"
221
+
222
+ **해결책**:
223
+ ```bash
224
+ # Node.js 메모리 증가
225
+ export NODE_OPTIONS="--max-old-space-size=4096"
226
+
227
+ # 또는 명령어 실행 시
228
+ NODE_OPTIONS="--max-old-space-size=4096" aiwf yolo
229
+ ```
230
+
231
+ ### 무한 루프 감지
232
+
233
+ **문제**: YOLO가 같은 태스크를 반복 실행
234
+
235
+ **해결책**:
236
+ 1. 태스크 상태 확인
237
+ 2. 의존성 검증
238
+ 3. 필요시 수동으로 태스크 완료:
239
+ ```bash
240
+ aiwf state complete TASK_ID
241
+ ```
242
+
243
+ ## 성능 문제
244
+
245
+ ### 느린 명령어 실행
246
+
247
+ **원인 및 해결책**:
248
+ 1. **큰 프로젝트**:
249
+ ```bash
250
+ # 인덱싱 최적화
251
+ aiwf optimize index
252
+ ```
253
+
254
+ 2. **많은 파일**:
255
+ ```bash
256
+ # .aiwfignore 파일 생성
257
+ echo "node_modules/" > .aiwfignore
258
+ echo "dist/" >> .aiwfignore
259
+ ```
260
+
261
+ 3. **캐시 문제**:
262
+ ```bash
263
+ # 캐시 정리
264
+ rm -rf .aiwf/cache/*
265
+ ```
266
+
267
+ ### 높은 토큰 사용량
268
+
269
+ **해결책**:
270
+ 1. **컨텍스트 압축 사용**:
271
+ ```bash
272
+ aiwf compress aggressive
273
+ ```
274
+
275
+ 2. **불필요한 파일 제외**:
276
+ ```bash
277
+ # .aiwfignore에 추가
278
+ *.log
279
+ *.tmp
280
+ coverage/
281
+ ```
282
+
283
+ ## 호환성 문제
284
+
285
+ ### Windows 경로 문제
286
+
287
+ **문제**: Windows에서 경로 오류
288
+
289
+ **해결책**:
290
+ ```bash
291
+ # Git Bash 또는 WSL 사용 권장
292
+ # 또는 경로에 슬래시 사용
293
+ aiwf create-task "태스크" --path ./tasks/
294
+ ```
295
+
296
+ ### 인코딩 문제
297
+
298
+ **문제**: 한글 깨짐 현상
299
+
300
+ **해결책**:
301
+ 1. **터미널 인코딩 설정**:
302
+ ```bash
303
+ export LANG=ko_KR.UTF-8
304
+ export LC_ALL=ko_KR.UTF-8
305
+ ```
306
+
307
+ 2. **파일 인코딩 확인**:
308
+ - 모든 파일을 UTF-8로 저장
309
+
310
+ ## FAQ
311
+
312
+ ### Q: AIWF 버전을 확인하려면?
313
+ ```bash
314
+ aiwf --version
315
+ ```
316
+
317
+ ### Q: 업데이트하려면?
318
+ ```bash
319
+ npm update -g aiwf
320
+ ```
321
+
322
+ ### Q: 설정을 초기화하려면?
323
+ ```bash
324
+ aiwf reset --all
325
+ ```
326
+
327
+ ### Q: 로그를 확인하려면?
328
+ ```bash
329
+ # 상세 로그 활성화
330
+ export AIWF_DEBUG=true
331
+ aiwf [명령어]
332
+
333
+ # 로그 파일 확인
334
+ cat .aiwf/logs/aiwf.log
335
+ ```
336
+
337
+ ### Q: 백업을 생성하려면?
338
+ ```bash
339
+ # 전체 백업
340
+ tar -czf aiwf-backup.tar.gz .aiwf/
341
+
342
+ # 상태만 백업
343
+ cp -r .aiwf/state/ .aiwf/state.backup/
344
+ ```
345
+
346
+ ## 추가 도움말
347
+
348
+ ### 디버그 모드
349
+ ```bash
350
+ # 디버그 모드 활성화
351
+ AIWF_DEBUG=true aiwf [명령어]
352
+ ```
353
+
354
+ ### 지원 받기
355
+ 1. [공식 문서](https://github.com/moonklabs/aiwf/docs) 확인
356
+ 2. [GitHub 이슈](https://github.com/moonklabs/aiwf/issues) 검색
357
+ 3. 새 이슈 생성 시 포함할 정보:
358
+ - AIWF 버전 (`aiwf --version`)
359
+ - Node.js 버전 (`node --version`)
360
+ - 운영체제
361
+ - 오류 메시지 전문
362
+ - 재현 단계
363
+
364
+ ---
365
+
366
+ 💡 **팁**: 대부분의 문제는 `aiwf install --force`로 해결됩니다!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiwf",
3
- "version": "0.3.15",
3
+ "version": "0.3.16",
4
4
  "description": "AI Workflow Framework for Claude Code with multi-language support (Korean/English)",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -59,7 +59,6 @@
59
59
  "hooks/",
60
60
  "scripts/",
61
61
  "ai-tools/",
62
- "feature-ledger/",
63
62
  "index.js",
64
63
  "README.md",
65
64
  "README.ko.md",
@@ -83,5 +82,54 @@
83
82
  },
84
83
  "devDependencies": {
85
84
  "jest": "^30.0.3"
85
+ },
86
+ "aiwf": {
87
+ "moduleCategories": {
88
+ "core": [
89
+ "utils/paths.js",
90
+ "utils/messages.js",
91
+ "utils/language-utils.js"
92
+ ],
93
+ "yolo": [
94
+ "utils/engineering-guard.js",
95
+ "utils/checkpoint-manager.js"
96
+ ],
97
+ "persona": [
98
+ "lib/ai-persona-manager.js",
99
+ "lib/context-engine.js",
100
+ "lib/metrics-collector.js",
101
+ "lib/task-analyzer.js",
102
+ "lib/token-optimizer.js"
103
+ ],
104
+ "installer": [
105
+ "lib/installer.js",
106
+ "lib/backup-manager.js",
107
+ "lib/file-downloader.js",
108
+ "lib/rollback-manager.js",
109
+ "lib/validator.js"
110
+ ],
111
+ "cache": [
112
+ "lib/template-cache-system.js",
113
+ "lib/offline-detector.js",
114
+ "lib/template-downloader.js",
115
+ "lib/template-version-manager.js"
116
+ ],
117
+ "github": [
118
+ "lib/github-integration.js",
119
+ "lib/state/state-index.js",
120
+ "lib/state/priority-calculator.js",
121
+ "lib/state/task-scanner.js"
122
+ ],
123
+ "common": [
124
+ "lib/resource-loader.js"
125
+ ]
126
+ },
127
+ "criticalModules": [
128
+ "utils/engineering-guard.js",
129
+ "utils/checkpoint-manager.js"
130
+ ],
131
+ "dynamicImports": [
132
+ "utils/engineering-guard.js"
133
+ ]
86
134
  }
87
135
  }
@@ -0,0 +1,90 @@
1
+ # AIWF 모듈 의존성 매트릭스
2
+
3
+ ## 📊 CLI 명령어별 의존성
4
+
5
+ | 명령어 | 직접 의존성 | 간접 의존성 | 특수 사용 |
6
+ |--------|-------------|-------------|-----------|
7
+ | `aiwf install` | installer.js | backup-manager.js, file-downloader.js, rollback-manager.js, validator.js | - |
8
+ | `aiwf persona` | persona.js, ai-persona-manager.js | context-engine.js, metrics-collector.js, task-analyzer.js, token-optimizer.js | - |
9
+ | `aiwf compress` | compress.js, resource-loader.js | - | - |
10
+ | `aiwf token` | token.js, resource-loader.js | - | - |
11
+ | `aiwf evaluate` | evaluate.js, resource-loader.js | - | - |
12
+ | `aiwf state` | state.js | - | - |
13
+ | `aiwf create-project` | create-project.js, resource-loader.js | - | - |
14
+ | `aiwf ai-tool` | ai-tool.js | - | - |
15
+ | `aiwf sprint-task` | sprint-task.js | - | - |
16
+ | `aiwf sprint` | sprint-independent.js | - | - |
17
+ | `aiwf yolo-config` | yolo-config.js | - | - |
18
+ | `aiwf checkpoint` | checkpoint-manager.js | - | ⚠️ YOLO 전용 |
19
+ | `aiwf-checkpoint` | checkpoint-manager.js | - | ⚠️ YOLO 전용 |
20
+ | `aiwf cache` | cache-cli.js | template-cache-system.js, offline-detector.js, template-downloader.js, template-version-manager.js | - |
21
+ | `aiwf github` | github-integration.js | state/state-index.js | - |
22
+ | `YOLO 모드` | engineering-guard.js | - | ⚠️ 동적 import |
23
+
24
+ ## 🏗️ 모듈 분류
25
+
26
+ ### 🔧 핵심 유틸리티 (삭제 금지)
27
+ - **paths.js** - 경로 관리 (8곳에서 사용)
28
+ - **messages.js** - 다국어 메시지 시스템 (5곳에서 사용)
29
+ - **language-utils.js** - 언어 설정 관리 (3곳에서 사용)
30
+
31
+ ### 🚀 YOLO 시스템 (삭제 금지)
32
+ - **engineering-guard.js** - 오버엔지니어링 방지 ⚠️ 동적 로드
33
+ - **checkpoint-manager.js** - 체크포인트 관리
34
+
35
+ ### 🎯 명령어별 전용 모듈
36
+
37
+ #### AI Persona 시스템
38
+ - **ai-persona-manager.js** → persona 명령어
39
+ - **context-engine.js** → ai-persona-manager가 사용
40
+ - **metrics-collector.js** → ai-persona-manager가 사용
41
+ - **task-analyzer.js** → ai-persona-manager가 사용
42
+ - **token-optimizer.js** → context-engine이 사용
43
+
44
+ #### 설치/백업 시스템
45
+ - **installer.js** → install 명령어
46
+ - **backup-manager.js** → installer가 사용
47
+ - **file-downloader.js** → installer가 사용
48
+ - **rollback-manager.js** → installer가 사용
49
+ - **validator.js** → installer가 사용
50
+
51
+ #### 캐시 시스템
52
+ - **template-cache-system.js** → cache 명령어
53
+ - **offline-detector.js** → cache 명령어
54
+ - **template-downloader.js** → cache 명령어
55
+ - **template-version-manager.js** → cache 명령어
56
+
57
+ #### GitHub 통합
58
+ - **github-integration.js** → github 명령어
59
+ - **state/state-index.js** → github-integration이 사용
60
+
61
+ #### 공통 리소스
62
+ - **resource-loader.js** → 5개 명령어에서 사용
63
+
64
+ ## ⚠️ 삭제 위험 모듈
65
+
66
+ ### 동적 로드 모듈 (CLI에서 직접 참조되지 않음)
67
+ - **engineering-guard.js** - YOLO 템플릿에서 `import()`로 로드
68
+ - **state/priority-calculator.js** - github-integration에서 사용
69
+ - **state/task-scanner.js** - github-integration에서 사용
70
+
71
+ ### 간접 의존성 모듈
72
+ - AI Persona 시스템의 하위 모듈들
73
+ - 설치 시스템의 백업/복구 모듈들
74
+
75
+ ## 🚨 삭제하기 전 확인사항
76
+
77
+ 1. **이 파일에서 모듈 위치 확인**
78
+ 2. **`@warning 삭제 금지` 주석 확인**
79
+ 3. **YOLO 전용 모듈인지 확인**
80
+ 4. **동적 import 사용 여부 확인**
81
+ 5. **간접 의존성 체인 확인**
82
+
83
+ ## 📁 미사용 모듈 (삭제 가능)
84
+
85
+ 현재 완전히 미사용되는 모듈은 없습니다. 모든 모듈이 직간접적으로 CLI 시스템에서 사용됩니다.
86
+
87
+ ---
88
+
89
+ **마지막 업데이트**: 2024-01-27
90
+ **검증 방법**: `grep -r "모듈명" src/` 으로 사용처 확인
@@ -36,6 +36,7 @@ import {
36
36
  TOOL_DIRS,
37
37
  TEMP_DIRS,
38
38
  AIWF_DIRS,
39
+ BASE_DIRS,
39
40
  getAllAiwfDirectories,
40
41
  getAllClaudeMdFiles
41
42
  } from '../utils/paths.js';
@@ -3,20 +3,6 @@ import fs from 'fs/promises';
3
3
  import path from 'path';
4
4
 
5
5
  export const aiwfController = {
6
- getFeatures: async (req: Request, res: Response, next: NextFunction) => {
7
- try {
8
- const ledgerPath = path.join(process.cwd(), '.aiwf', 'feature-ledger.json');
9
- const ledgerData = await fs.readFile(ledgerPath, 'utf-8');
10
- const ledger = JSON.parse(ledgerData);
11
-
12
- res.json({
13
- success: true,
14
- data: ledger,
15
- });
16
- } catch (error) {
17
- next(error);
18
- }
19
- },
20
6
 
21
7
  getTokenUsage: async (req: Request, res: Response, next: NextFunction) => {
22
8
  try {
@@ -3,17 +3,6 @@ import { aiwfController } from '@controllers/aiwfController';
3
3
 
4
4
  const router = Router();
5
5
 
6
- /**
7
- * @swagger
8
- * /api/aiwf/features:
9
- * get:
10
- * summary: Feature Ledger 조회
11
- * tags: [AIWF]
12
- * responses:
13
- * 200:
14
- * description: Feature 목록
15
- */
16
- router.get('/features', aiwfController.getFeatures);
17
6
 
18
7
  /**
19
8
  * @swagger
@@ -1,19 +1,17 @@
1
1
  import { useState, useEffect } from 'react'
2
2
  import { useAiwfStore } from '@/stores/aiwfStore'
3
- import FeatureLedger from '@/components/aiwf/FeatureLedger'
4
3
  import TokenUsage from '@/components/aiwf/TokenUsage'
5
4
  import ContextStatus from '@/components/aiwf/ContextStatus'
6
5
 
7
6
  export default function AiwfDashboard() {
8
- const { features, tokenUsage, contextStatus, loadDashboardData } = useAiwfStore()
9
- const [activeTab, setActiveTab] = useState('features')
7
+ const { tokenUsage, contextStatus, loadDashboardData } = useAiwfStore()
8
+ const [activeTab, setActiveTab] = useState('tokens')
10
9
 
11
10
  useEffect(() => {
12
11
  loadDashboardData()
13
12
  }, [loadDashboardData])
14
13
 
15
14
  const tabs = [
16
- { id: 'features', name: 'Feature Ledger', icon: '📋' },
17
15
  { id: 'tokens', name: '토큰 사용량', icon: '🪙' },
18
16
  { id: 'context', name: 'Context 상태', icon: '📊' },
19
17
  ]
@@ -51,7 +49,6 @@ export default function AiwfDashboard() {
51
49
  </div>
52
50
 
53
51
  <div className="mt-8">
54
- {activeTab === 'features' && <FeatureLedger features={features} />}
55
52
  {activeTab === 'tokens' && <TokenUsage usage={tokenUsage} />}
56
53
  {activeTab === 'context' && <ContextStatus status={contextStatus} />}
57
54
  </div>
@@ -37,9 +37,8 @@ export class TokenReporter {
37
37
  '.aiwf/02_REQUIREMENTS',
38
38
  '.aiwf/03_SPRINTS',
39
39
  '.aiwf/04_GENERAL_TASKS',
40
- '.aiwf/05_COMPLETED_TASKS',
41
- '.aiwf/06_FEATURE_LEDGERS',
42
- '.aiwf/07_AI_PERSONAS'
40
+ '.aiwf/05_ARCHITECTURAL_DECISIONS',
41
+ '.aiwf/10_STATE_OF_PROJECT'
43
42
  ];
44
43
 
45
44
  // 각 디렉토리별 토큰 수 분석
@@ -1,6 +1,16 @@
1
1
  /**
2
- * YOLO 모드 체크포인트 매니저
2
+ * Checkpoint Manager - YOLO 모드 체크포인트 매니저
3
+ *
4
+ * @usage YOLO 모드 및 CLI 명령어에서 사용
5
+ * @used_by src/cli/index.js, src/cli/checkpoint-cli.js
6
+ * @commands aiwf checkpoint, aiwf-checkpoint
7
+ * @warning 삭제 금지 - YOLO 시스템 핵심 구성 요소
8
+ *
3
9
  * 진행 상황을 저장하고 복구할 수 있는 시스템
10
+ * - 세션 상태 관리
11
+ * - 체크포인트 생성/복구
12
+ * - 진행률 추적
13
+ * - 복구 가능한 상태 유지
4
14
  */
5
15
 
6
16
  import fs from 'fs/promises';
@@ -1,6 +1,16 @@
1
1
  /**
2
- * 오버엔지니어링 방지 가드
2
+ * Engineering Guard - 오버엔지니어링 방지 가드
3
+ *
4
+ * @usage YOLO 모드 전용 - 동적 import로 사용됨
5
+ * @used_by /claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md
6
+ * @phase 프로젝트 복잡도 모니터링 (5단계)
7
+ * @warning 삭제 금지 - YOLO 시스템 핵심 구성 요소
8
+ *
3
9
  * YOLO 모드에서 과도한 복잡성을 방지하는 유틸리티
10
+ * - 초기 복잡도 측정
11
+ * - 사전 체크 및 실시간 모니터링
12
+ * - 태스크 완료 후 검증
13
+ * - 최종 보고서 생성
4
14
  */
5
15
 
6
16
  import fs from 'fs/promises';
@@ -3,20 +3,6 @@ import fs from 'fs/promises';
3
3
  import path from 'path';
4
4
 
5
5
  export const aiwfController = {
6
- getFeatures: async (req: Request, res: Response, next: NextFunction) => {
7
- try {
8
- const ledgerPath = path.join(process.cwd(), '.aiwf', 'feature-ledger.json');
9
- const ledgerData = await fs.readFile(ledgerPath, 'utf-8');
10
- const ledger = JSON.parse(ledgerData);
11
-
12
- res.json({
13
- success: true,
14
- data: ledger,
15
- });
16
- } catch (error) {
17
- next(error);
18
- }
19
- },
20
6
 
21
7
  getTokenUsage: async (req: Request, res: Response, next: NextFunction) => {
22
8
  try {
@@ -3,17 +3,6 @@ import { aiwfController } from '@controllers/aiwfController';
3
3
 
4
4
  const router = Router();
5
5
 
6
- /**
7
- * @swagger
8
- * /api/aiwf/features:
9
- * get:
10
- * summary: Feature Ledger 조회
11
- * tags: [AIWF]
12
- * responses:
13
- * 200:
14
- * description: Feature 목록
15
- */
16
- router.get('/features', aiwfController.getFeatures);
17
6
 
18
7
  /**
19
8
  * @swagger