aiwf 0.3.2 → 0.3.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.
- package/.aiwf/installed.flag +1 -0
- package/claude-code/aiwf/ko/templates/web-app/template/package-lock.json +10022 -0
- package/index.js +7 -3
- package/package.json +1 -1
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -53
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +0 -48
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_stats.md +0 -79
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_with_persona.md +0 -51
- package/.aiwf/.claude/commands/aiwf/aiwf_evaluate.md +0 -92
- package/claude-code/aiwf/ko/bin/aiwf-create.js +0 -56
- package/claude-code/aiwf/ko/bin/aiwf.js +0 -21
- package/claude-code/aiwf/ko/docs/00_PROJECT_MANIFEST.md +0 -183
- package/claude-code/aiwf/ko/docs/ARCHITECTURE.md +0 -121
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_ADVANCED_USE_CASES.md +0 -412
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_API_REFERENCE.md +0 -361
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_COMMANDS_GUIDE.md +0 -254
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_FAQ.md +0 -365
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +0 -305
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_USER_GUIDE.md +0 -416
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +0 -247
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
# Feature Ledger FAQ & Troubleshooting Guide
|
|
2
|
-
|
|
3
|
-
## 자주 묻는 질문 (FAQ)
|
|
4
|
-
|
|
5
|
-
### 일반 질문
|
|
6
|
-
|
|
7
|
-
#### Q: Feature Ledger와 일반 Task의 차이점은 무엇인가요?
|
|
8
|
-
|
|
9
|
-
**A:** Feature Ledger는 더 큰 범위의 기능 개발을 추적합니다:
|
|
10
|
-
|
|
11
|
-
| 항목 | Feature Ledger | Task |
|
|
12
|
-
|------|----------------|------|
|
|
13
|
-
| 범위 | 전체 기능 (1-2주) | 단일 작업 (1-2일) |
|
|
14
|
-
| 추적 | Git, PR, 진행률 | 완료 여부 |
|
|
15
|
-
| 팀 | 여러 명 가능 | 보통 1명 |
|
|
16
|
-
| 출력물 | 배포 가능한 기능 | 코드 변경 |
|
|
17
|
-
|
|
18
|
-
#### Q: Feature ID는 어떻게 생성되나요?
|
|
19
|
-
|
|
20
|
-
**A:** Feature ID는 자동으로 순차 생성됩니다:
|
|
21
|
-
- 형식: `FL###` (FL001, FL002, ...)
|
|
22
|
-
- 재사용 불가
|
|
23
|
-
- 삭제된 ID도 재사용하지 않음
|
|
24
|
-
- 수동 지정 불가
|
|
25
|
-
|
|
26
|
-
#### Q: 완료된 Feature를 다시 활성화할 수 있나요?
|
|
27
|
-
|
|
28
|
-
**A:** 아니요, 완료된 Feature는 다시 활성화할 수 없습니다. 추가 작업이 필요한 경우:
|
|
29
|
-
1. 새로운 Feature를 생성하여 개선 사항 추적
|
|
30
|
-
2. 원본 Feature를 참조 (`depends_on: [FL001]`)
|
|
31
|
-
3. 명확한 범위로 새 작업 정의
|
|
32
|
-
|
|
33
|
-
#### Q: Feature와 GitHub Issue를 어떻게 연결하나요?
|
|
34
|
-
|
|
35
|
-
**A:** 여러 방법이 있습니다:
|
|
36
|
-
|
|
37
|
-
1. **자동 연결**: PR 제목에 Feature ID 포함
|
|
38
|
-
```
|
|
39
|
-
feat(FL001): Implement user authentication
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
2. **수동 연결**: 명령어 사용
|
|
43
|
-
```bash
|
|
44
|
-
/project:aiwf:link_feature_issue FL001 #42
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
3. **Issue 본문에 참조**:
|
|
48
|
-
```markdown
|
|
49
|
-
Related Feature: FL001
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### 사용법 질문
|
|
53
|
-
|
|
54
|
-
#### Q: 여러 스프린트에 걸친 Feature는 어떻게 관리하나요?
|
|
55
|
-
|
|
56
|
-
**A:** `sprint_ids` 배열을 사용합니다:
|
|
57
|
-
|
|
58
|
-
```yaml
|
|
59
|
-
sprint_ids: [S01_M02, S02_M02, S03_M02]
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
각 스프린트에서:
|
|
63
|
-
1. 해당 스프린트의 작업만 Task로 생성
|
|
64
|
-
2. Feature 진행률은 전체 기준으로 업데이트
|
|
65
|
-
3. 스프린트별 진행 상황을 Progress Log에 기록
|
|
66
|
-
|
|
67
|
-
#### Q: Feature 진행률은 어떻게 계산하나요?
|
|
68
|
-
|
|
69
|
-
**A:** 세 가지 방법이 있습니다:
|
|
70
|
-
|
|
71
|
-
1. **수동 업데이트**:
|
|
72
|
-
```bash
|
|
73
|
-
/project:aiwf:update_feature_progress FL001 75
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
2. **체크리스트 기반**:
|
|
77
|
-
```
|
|
78
|
-
완료 항목 / 전체 항목 × 100
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
3. **연결된 Task 기반**:
|
|
82
|
-
```
|
|
83
|
-
완료 Task / 전체 Task × 100
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
#### Q: Feature 템플릿을 커스터마이징할 수 있나요?
|
|
87
|
-
|
|
88
|
-
**A:** 네, 가능합니다:
|
|
89
|
-
|
|
90
|
-
1. 기본 템플릿 복사:
|
|
91
|
-
```bash
|
|
92
|
-
cp .aiwf/99_TEMPLATES/feature_template.md .aiwf/99_TEMPLATES/my_feature_template.md
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
2. 템플릿 수정
|
|
96
|
-
|
|
97
|
-
3. 사용:
|
|
98
|
-
```bash
|
|
99
|
-
/project:aiwf:create_feature_ledger new_feature --template my_feature_template
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### 통합 질문
|
|
103
|
-
|
|
104
|
-
#### Q: CI/CD 파이프라인과 어떻게 통합하나요?
|
|
105
|
-
|
|
106
|
-
**A:** GitHub Actions 예제:
|
|
107
|
-
|
|
108
|
-
```yaml
|
|
109
|
-
- name: Update Feature on Deploy
|
|
110
|
-
if: success()
|
|
111
|
-
run: |
|
|
112
|
-
FEATURE_ID=$(git log -1 --pretty=%B | grep -oP 'FL\d{3}')
|
|
113
|
-
if [ ! -z "$FEATURE_ID" ]; then
|
|
114
|
-
npx aiwf update_feature_progress $FEATURE_ID 90 --comment "Deployed to staging"
|
|
115
|
-
fi
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
#### Q: 여러 저장소에서 하나의 Feature를 작업할 때는?
|
|
119
|
-
|
|
120
|
-
**A:** Cross-repo Feature 추적:
|
|
121
|
-
|
|
122
|
-
1. 메인 저장소에 Feature Ledger 생성
|
|
123
|
-
2. 다른 저장소에서 커밋 시 Feature ID 참조
|
|
124
|
-
3. 정기적으로 동기화:
|
|
125
|
-
```bash
|
|
126
|
-
/project:aiwf:feature_sync --cross-repo
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## 문제 해결 가이드
|
|
130
|
-
|
|
131
|
-
### 일반적인 오류
|
|
132
|
-
|
|
133
|
-
#### Error E001: Feature ID not found
|
|
134
|
-
|
|
135
|
-
**증상**:
|
|
136
|
-
```
|
|
137
|
-
Error E001: Feature ID 'FL099' not found
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**원인**:
|
|
141
|
-
- 잘못된 Feature ID
|
|
142
|
-
- Feature가 다른 디렉토리에 있음
|
|
143
|
-
|
|
144
|
-
**해결**:
|
|
145
|
-
```bash
|
|
146
|
-
# 올바른 ID 확인
|
|
147
|
-
cat .aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md
|
|
148
|
-
|
|
149
|
-
# 모든 Feature 검색
|
|
150
|
-
find .aiwf/06_FEATURE_LEDGERS -name "*.md" | grep -v INDEX
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
#### Error E002: Invalid status transition
|
|
154
|
-
|
|
155
|
-
**증상**:
|
|
156
|
-
```
|
|
157
|
-
Error E002: Cannot transition from 'completed' to 'active'
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
**원인**:
|
|
161
|
-
- 허용되지 않는 상태 전환
|
|
162
|
-
- Feature가 이미 archived 상태
|
|
163
|
-
|
|
164
|
-
**해결**:
|
|
165
|
-
1. 현재 상태 확인
|
|
166
|
-
2. [상태 전이 다이어그램](./FEATURE_LEDGER_SYSTEM_OVERVIEW.md#상태-전이-다이어그램) 참조
|
|
167
|
-
3. 필요시 새 Feature 생성
|
|
168
|
-
|
|
169
|
-
#### Error E003: Duplicate feature ID
|
|
170
|
-
|
|
171
|
-
**증상**:
|
|
172
|
-
```
|
|
173
|
-
Error E003: Feature ID 'FL001' already exists
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
**원인**:
|
|
177
|
-
- ID 생성 시퀀스 오류
|
|
178
|
-
- 수동으로 파일 생성
|
|
179
|
-
|
|
180
|
-
**해결**:
|
|
181
|
-
```bash
|
|
182
|
-
# 인덱스 재구성
|
|
183
|
-
/project:aiwf:feature_index --rebuild
|
|
184
|
-
|
|
185
|
-
# 다음 가용 ID 확인
|
|
186
|
-
/project:aiwf:feature_next_id
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Git 통합 문제
|
|
190
|
-
|
|
191
|
-
#### 브랜치 생성 실패
|
|
192
|
-
|
|
193
|
-
**증상**:
|
|
194
|
-
```
|
|
195
|
-
Failed to create branch: feature/FL001-user-auth
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
**원인**:
|
|
199
|
-
- 브랜치가 이미 존재
|
|
200
|
-
- Git 저장소가 아님
|
|
201
|
-
- 권한 부족
|
|
202
|
-
|
|
203
|
-
**해결**:
|
|
204
|
-
```bash
|
|
205
|
-
# 기존 브랜치 확인
|
|
206
|
-
git branch -a | grep FL001
|
|
207
|
-
|
|
208
|
-
# 강제 생성
|
|
209
|
-
/project:aiwf:feature_branch FL001 create --force
|
|
210
|
-
|
|
211
|
-
# 수동 생성
|
|
212
|
-
git checkout -b feature/FL001-user-auth
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
#### 커밋 연결 안 됨
|
|
216
|
-
|
|
217
|
-
**증상**: 커밋했는데 Feature에 반영되지 않음
|
|
218
|
-
|
|
219
|
-
**원인**:
|
|
220
|
-
- 커밋 메시지에 Feature ID 없음
|
|
221
|
-
- 자동 동기화 비활성화
|
|
222
|
-
|
|
223
|
-
**해결**:
|
|
224
|
-
```bash
|
|
225
|
-
# 수동 연결
|
|
226
|
-
/project:aiwf:link_feature_commit FL001 --commit HEAD
|
|
227
|
-
|
|
228
|
-
# 자동 동기화 활성화
|
|
229
|
-
export AIWF_AUTO_SYNC=true
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### 성능 문제
|
|
233
|
-
|
|
234
|
-
#### 대시보드 생성이 느림
|
|
235
|
-
|
|
236
|
-
**증상**: Feature가 많을 때 대시보드 생성 지연
|
|
237
|
-
|
|
238
|
-
**해결**:
|
|
239
|
-
```bash
|
|
240
|
-
# 캐시 재구성
|
|
241
|
-
/project:aiwf:feature_cache --rebuild
|
|
242
|
-
|
|
243
|
-
# 특정 범위만 표시
|
|
244
|
-
/project:aiwf:feature_dashboard --limit 50 --status active
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
#### 검색이 느림
|
|
248
|
-
|
|
249
|
-
**증상**: Feature 검색 시 응답 지연
|
|
250
|
-
|
|
251
|
-
**해결**:
|
|
252
|
-
```bash
|
|
253
|
-
# 인덱스 최적화
|
|
254
|
-
/project:aiwf:feature_index --optimize
|
|
255
|
-
|
|
256
|
-
# 검색 범위 제한
|
|
257
|
-
/project:aiwf:feature_search "query" --status active --limit 20
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### 데이터 복구
|
|
261
|
-
|
|
262
|
-
#### Feature 파일 손상
|
|
263
|
-
|
|
264
|
-
**증상**: Feature 파일을 열 수 없음
|
|
265
|
-
|
|
266
|
-
**해결**:
|
|
267
|
-
```bash
|
|
268
|
-
# 백업에서 복구
|
|
269
|
-
cp .aiwf/backups/FL001_*.md .aiwf/06_FEATURE_LEDGERS/active/
|
|
270
|
-
|
|
271
|
-
# Git 히스토리에서 복구
|
|
272
|
-
git checkout HEAD~1 -- .aiwf/06_FEATURE_LEDGERS/active/FL001_*.md
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
#### 인덱스 불일치
|
|
276
|
-
|
|
277
|
-
**증상**: 인덱스와 실제 파일이 다름
|
|
278
|
-
|
|
279
|
-
**해결**:
|
|
280
|
-
```bash
|
|
281
|
-
# 전체 인덱스 재구성
|
|
282
|
-
/project:aiwf:feature_index --rebuild --verbose
|
|
283
|
-
|
|
284
|
-
# 무결성 검사
|
|
285
|
-
/project:aiwf:feature_validate --fix
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
## 고급 문제 해결
|
|
289
|
-
|
|
290
|
-
### 디버깅 모드
|
|
291
|
-
|
|
292
|
-
상세한 로그를 보려면:
|
|
293
|
-
|
|
294
|
-
```bash
|
|
295
|
-
# 디버그 모드 활성화
|
|
296
|
-
export AIWF_DEBUG=true
|
|
297
|
-
|
|
298
|
-
# 상세 로그와 함께 실행
|
|
299
|
-
/project:aiwf:create_feature_ledger test_feature --verbose
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### 로그 분석
|
|
303
|
-
|
|
304
|
-
```bash
|
|
305
|
-
# 오류 로그만 보기
|
|
306
|
-
grep ERROR .aiwf/logs/feature_ledger.log
|
|
307
|
-
|
|
308
|
-
# 특정 Feature 추적
|
|
309
|
-
grep FL001 .aiwf/logs/feature_ledger.log | tail -20
|
|
310
|
-
|
|
311
|
-
# 시간대별 분석
|
|
312
|
-
grep "2025-07-09" .aiwf/logs/feature_ledger.log | grep ERROR
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
### 수동 수정
|
|
316
|
-
|
|
317
|
-
직접 파일을 수정해야 할 때:
|
|
318
|
-
|
|
319
|
-
1. **백업 생성**:
|
|
320
|
-
```bash
|
|
321
|
-
cp -r .aiwf/06_FEATURE_LEDGERS .aiwf/06_FEATURE_LEDGERS.backup
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
2. **파일 수정**
|
|
325
|
-
|
|
326
|
-
3. **검증**:
|
|
327
|
-
```bash
|
|
328
|
-
/project:aiwf:feature_validate FL001
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
4. **인덱스 업데이트**:
|
|
332
|
-
```bash
|
|
333
|
-
/project:aiwf:feature_index --update FL001
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
## 지원 받기
|
|
337
|
-
|
|
338
|
-
### 1. 문서 참조
|
|
339
|
-
- [User Guide](./FEATURE_LEDGER_USER_GUIDE.md)
|
|
340
|
-
- [API Reference](./FEATURE_LEDGER_API_REFERENCE.md)
|
|
341
|
-
- [System Overview](./FEATURE_LEDGER_SYSTEM_OVERVIEW.md)
|
|
342
|
-
|
|
343
|
-
### 2. 커뮤니티
|
|
344
|
-
- GitHub Issues: `https://github.com/aiwf/aiwf/issues`
|
|
345
|
-
- Discord: AIWF 커뮤니티 채널
|
|
346
|
-
|
|
347
|
-
### 3. 버그 리포트
|
|
348
|
-
|
|
349
|
-
버그 발견 시:
|
|
350
|
-
1. 재현 가능한 단계 기록
|
|
351
|
-
2. 로그 파일 수집
|
|
352
|
-
3. GitHub Issue 생성:
|
|
353
|
-
```markdown
|
|
354
|
-
**버그 설명**: [간단한 설명]
|
|
355
|
-
**재현 단계**:
|
|
356
|
-
1. ...
|
|
357
|
-
2. ...
|
|
358
|
-
**예상 동작**: [예상했던 결과]
|
|
359
|
-
**실제 동작**: [실제 발생한 결과]
|
|
360
|
-
**로그**: [관련 로그 첨부]
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
---
|
|
364
|
-
|
|
365
|
-
*이 문서는 지속적으로 업데이트됩니다. 최신 버전은 [GitHub](https://github.com/aiwf/aiwf)에서 확인하세요.*
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
# Feature Ledger System Overview
|
|
2
|
-
|
|
3
|
-
## 시스템 개요
|
|
4
|
-
|
|
5
|
-
Feature Ledger System은 AIWF의 핵심 구성 요소로, 프로젝트의 모든 기능 개발을 추적하고 관리합니다. 이 시스템은 개발 프로세스의 투명성을 높이고, 팀 협업을 강화하며, 프로젝트 진행 상황을 실시간으로 파악할 수 있게 합니다.
|
|
6
|
-
|
|
7
|
-
## 아키텍처
|
|
8
|
-
|
|
9
|
-
### 시스템 구성도
|
|
10
|
-
|
|
11
|
-
```mermaid
|
|
12
|
-
graph TB
|
|
13
|
-
subgraph "User Interface"
|
|
14
|
-
CLI[CLI Commands]
|
|
15
|
-
API[API Endpoints]
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
subgraph "Core System"
|
|
19
|
-
FL[Feature Ledger Core]
|
|
20
|
-
VM[Validation Module]
|
|
21
|
-
SM[State Manager]
|
|
22
|
-
IM[Index Manager]
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
subgraph "Integration Layer"
|
|
26
|
-
GI[Git Integration]
|
|
27
|
-
SI[Sprint Integration]
|
|
28
|
-
AI[AI Context Integration]
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
subgraph "Storage"
|
|
32
|
-
FS[File System]
|
|
33
|
-
IDX[Index Files]
|
|
34
|
-
TMPL[Templates]
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
CLI --> FL
|
|
38
|
-
API --> FL
|
|
39
|
-
FL --> VM
|
|
40
|
-
FL --> SM
|
|
41
|
-
FL --> IM
|
|
42
|
-
FL --> GI
|
|
43
|
-
FL --> SI
|
|
44
|
-
FL --> AI
|
|
45
|
-
VM --> FS
|
|
46
|
-
SM --> FS
|
|
47
|
-
IM --> IDX
|
|
48
|
-
GI --> FS
|
|
49
|
-
SI --> FS
|
|
50
|
-
AI --> FS
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### 데이터 플로우
|
|
54
|
-
|
|
55
|
-
```mermaid
|
|
56
|
-
sequenceDiagram
|
|
57
|
-
participant User
|
|
58
|
-
participant CLI
|
|
59
|
-
participant FeatureLedger
|
|
60
|
-
participant StateManager
|
|
61
|
-
participant FileSystem
|
|
62
|
-
participant GitIntegration
|
|
63
|
-
|
|
64
|
-
User->>CLI: create_feature_ledger
|
|
65
|
-
CLI->>FeatureLedger: parseCommand()
|
|
66
|
-
FeatureLedger->>StateManager: validateState()
|
|
67
|
-
StateManager->>FileSystem: checkExisting()
|
|
68
|
-
FileSystem-->>StateManager: notExists
|
|
69
|
-
StateManager->>FileSystem: createFeature()
|
|
70
|
-
FileSystem-->>StateManager: created
|
|
71
|
-
StateManager->>GitIntegration: createBranch()
|
|
72
|
-
GitIntegration-->>StateManager: branchCreated
|
|
73
|
-
StateManager-->>FeatureLedger: success
|
|
74
|
-
FeatureLedger-->>CLI: featureCreated
|
|
75
|
-
CLI-->>User: FL001 Created
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### 상태 전이 다이어그램
|
|
79
|
-
|
|
80
|
-
```mermaid
|
|
81
|
-
stateDiagram-v2
|
|
82
|
-
[*] --> Active: create_feature
|
|
83
|
-
Active --> Paused: pause_feature
|
|
84
|
-
Active --> Completed: complete_feature
|
|
85
|
-
Active --> Archived: archive_feature
|
|
86
|
-
Paused --> Active: resume_feature
|
|
87
|
-
Paused --> Archived: archive_feature
|
|
88
|
-
Completed --> Archived: archive_feature
|
|
89
|
-
Archived --> [*]
|
|
90
|
-
|
|
91
|
-
Active: Active\n- 개발 진행 중\n- 리소스 할당됨\n- 진행률 추적
|
|
92
|
-
Paused: Paused\n- 일시 중단\n- 리소스 재할당\n- 이유 문서화
|
|
93
|
-
Completed: Completed\n- 개발 완료\n- 테스트 통과\n- 문서 업데이트
|
|
94
|
-
Archived: Archived\n- 보관 상태\n- 읽기 전용\n- 히스토리 보존
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## 핵심 구성 요소
|
|
98
|
-
|
|
99
|
-
### 1. Feature Ledger Core
|
|
100
|
-
|
|
101
|
-
시스템의 중앙 처리 엔진으로 다음 기능을 담당합니다:
|
|
102
|
-
|
|
103
|
-
- **명령어 파싱**: 사용자 입력을 해석하고 검증
|
|
104
|
-
- **비즈니스 로직**: Feature 생성, 업데이트, 상태 관리
|
|
105
|
-
- **이벤트 처리**: 상태 변경 시 관련 시스템에 알림
|
|
106
|
-
|
|
107
|
-
### 2. State Manager
|
|
108
|
-
|
|
109
|
-
Feature의 생명주기를 관리합니다:
|
|
110
|
-
|
|
111
|
-
- **상태 검증**: 유효한 상태 전환만 허용
|
|
112
|
-
- **히스토리 추적**: 모든 상태 변경 기록
|
|
113
|
-
- **일관성 보장**: 데이터 무결성 유지
|
|
114
|
-
|
|
115
|
-
### 3. Index Manager
|
|
116
|
-
|
|
117
|
-
빠른 검색과 조회를 위한 인덱싱 시스템:
|
|
118
|
-
|
|
119
|
-
- **실시간 인덱싱**: Feature 변경 시 즉시 업데이트
|
|
120
|
-
- **다중 인덱스**: ID, 상태, 태그, 담당자별 인덱스
|
|
121
|
-
- **성능 최적화**: 캐싱 및 증분 업데이트
|
|
122
|
-
|
|
123
|
-
### 4. Integration Modules
|
|
124
|
-
|
|
125
|
-
#### Git Integration
|
|
126
|
-
```mermaid
|
|
127
|
-
graph LR
|
|
128
|
-
A[Feature] --> B{Git Action}
|
|
129
|
-
B --> C[Create Branch]
|
|
130
|
-
B --> D[Link Commit]
|
|
131
|
-
B --> E[Link PR]
|
|
132
|
-
C --> F[feature/FL001-name]
|
|
133
|
-
D --> G[Commit History]
|
|
134
|
-
E --> H[PR Status]
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
#### Sprint Integration
|
|
138
|
-
- Feature와 Sprint/Task의 양방향 연결
|
|
139
|
-
- 진행률 자동 계산
|
|
140
|
-
- 마일스톤 추적
|
|
141
|
-
|
|
142
|
-
#### AI Context Integration
|
|
143
|
-
- 활성 Feature를 AI 컨텍스트에 포함
|
|
144
|
-
- 토큰 효율을 위한 압축
|
|
145
|
-
- 관련 Feature 자동 제안
|
|
146
|
-
|
|
147
|
-
## 디렉토리 구조
|
|
148
|
-
|
|
149
|
-
```
|
|
150
|
-
.aiwf/06_FEATURE_LEDGERS/
|
|
151
|
-
├── active/ # 진행 중인 Feature
|
|
152
|
-
│ ├── FL001_User_Auth.md
|
|
153
|
-
│ └── FL002_Dashboard.md
|
|
154
|
-
├── completed/ # 완료된 Feature
|
|
155
|
-
│ └── FL000_Initial.md
|
|
156
|
-
├── archived/ # 보관된 Feature
|
|
157
|
-
│ └── FL_Archive_2025Q1/
|
|
158
|
-
├── paused/ # 일시 중단된 Feature
|
|
159
|
-
│ └── FL003_Analytics.md
|
|
160
|
-
├── FEATURE_LEDGER_INDEX.md # 메인 인덱스
|
|
161
|
-
├── FEATURE_SCHEMA.md # 데이터 스키마
|
|
162
|
-
├── FEATURE_STATE_DIAGRAM.md # 상태 다이어그램
|
|
163
|
-
├── FEATURE_INTEGRATION_GUIDE.md # 통합 가이드
|
|
164
|
-
└── FEATURE_GIT_INTEGRATION.md # Git 통합 상세
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## 데이터 모델
|
|
168
|
-
|
|
169
|
-
### Feature Entity
|
|
170
|
-
|
|
171
|
-
```yaml
|
|
172
|
-
# 핵심 식별 정보
|
|
173
|
-
feature_id: string (required, unique)
|
|
174
|
-
title: string (required)
|
|
175
|
-
status: enum [active, completed, paused, archived]
|
|
176
|
-
created_date: date
|
|
177
|
-
last_updated: datetime
|
|
178
|
-
|
|
179
|
-
# 프로젝트 연결
|
|
180
|
-
milestone: string
|
|
181
|
-
sprint_ids: array<string>
|
|
182
|
-
tasks: array<string>
|
|
183
|
-
|
|
184
|
-
# 팀 정보
|
|
185
|
-
assignee: string
|
|
186
|
-
contributors: array<string>
|
|
187
|
-
reviewers: array<string>
|
|
188
|
-
|
|
189
|
-
# 분류
|
|
190
|
-
priority: enum [critical, high, medium, low]
|
|
191
|
-
complexity: enum [simple, moderate, complex]
|
|
192
|
-
category: enum [feature, enhancement, bugfix, refactor]
|
|
193
|
-
tags: array<string>
|
|
194
|
-
|
|
195
|
-
# 시간 추적
|
|
196
|
-
estimated_hours: number
|
|
197
|
-
actual_hours: number
|
|
198
|
-
estimated_completion: date
|
|
199
|
-
actual_completion: date
|
|
200
|
-
|
|
201
|
-
# Git 통합
|
|
202
|
-
git_branch: string
|
|
203
|
-
git_commits: array<commit_hash>
|
|
204
|
-
pull_requests: array<pr_object>
|
|
205
|
-
|
|
206
|
-
# 의존성
|
|
207
|
-
depends_on: array<feature_id>
|
|
208
|
-
blocks: array<feature_id>
|
|
209
|
-
|
|
210
|
-
# 진행 상황
|
|
211
|
-
progress_percentage: number (0-100)
|
|
212
|
-
checklist_items_total: number
|
|
213
|
-
checklist_items_completed: number
|
|
214
|
-
|
|
215
|
-
# 리스크 관리
|
|
216
|
-
risk_level: enum [low, medium, high]
|
|
217
|
-
known_issues: array<string>
|
|
218
|
-
mitigation_plans: array<string>
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
## 통합 지점
|
|
222
|
-
|
|
223
|
-
### 1. AIWF 프로젝트 구조
|
|
224
|
-
|
|
225
|
-
```mermaid
|
|
226
|
-
graph TD
|
|
227
|
-
PM[Project Manifest] --> FL[Feature Ledgers]
|
|
228
|
-
MS[Milestones] --> FL
|
|
229
|
-
SP[Sprints] --> FL
|
|
230
|
-
TK[Tasks] --> FL
|
|
231
|
-
FL --> GH[GitHub]
|
|
232
|
-
FL --> AI[AI Context]
|
|
233
|
-
FL --> RP[Reports]
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### 2. 외부 시스템 연동
|
|
237
|
-
|
|
238
|
-
- **GitHub API**: PR, Issue, Commit 자동 연결
|
|
239
|
-
- **CI/CD**: 빌드 상태와 Feature 진행률 연동
|
|
240
|
-
- **프로젝트 관리 도구**: JIRA, Trello 등과 동기화 가능
|
|
241
|
-
|
|
242
|
-
## 성능 고려사항
|
|
243
|
-
|
|
244
|
-
### 인덱싱 성능
|
|
245
|
-
|
|
246
|
-
- 인덱스 업데이트: < 100ms
|
|
247
|
-
- Feature 검색: < 50ms (1000개 기준)
|
|
248
|
-
- 대시보드 생성: < 1s
|
|
249
|
-
|
|
250
|
-
### 확장성
|
|
251
|
-
|
|
252
|
-
- Feature 수: 10,000개까지 테스트됨
|
|
253
|
-
- 동시 사용자: 100명까지 지원
|
|
254
|
-
- 파일 크기: 각 Feature 최대 1MB
|
|
255
|
-
|
|
256
|
-
### 최적화 전략
|
|
257
|
-
|
|
258
|
-
1. **증분 업데이트**: 전체 재생성 대신 변경된 부분만 업데이트
|
|
259
|
-
2. **캐싱**: 자주 조회되는 데이터 메모리 캐싱
|
|
260
|
-
3. **비동기 처리**: 무거운 작업은 백그라운드에서 처리
|
|
261
|
-
|
|
262
|
-
## 보안 고려사항
|
|
263
|
-
|
|
264
|
-
### 접근 제어
|
|
265
|
-
|
|
266
|
-
- 파일 시스템 권한 기반
|
|
267
|
-
- Git 권한과 연동
|
|
268
|
-
- 민감 정보 마스킹
|
|
269
|
-
|
|
270
|
-
### 감사 추적
|
|
271
|
-
|
|
272
|
-
- 모든 변경사항 로깅
|
|
273
|
-
- 사용자별 활동 추적
|
|
274
|
-
- 변경 이력 보존
|
|
275
|
-
|
|
276
|
-
## 향후 로드맵
|
|
277
|
-
|
|
278
|
-
### Phase 1 (현재)
|
|
279
|
-
- ✅ 기본 CRUD 기능
|
|
280
|
-
- ✅ Git 통합
|
|
281
|
-
- ✅ Sprint/Task 연동
|
|
282
|
-
- ⏳ 대시보드 생성
|
|
283
|
-
|
|
284
|
-
### Phase 2 (계획)
|
|
285
|
-
- 📋 웹 UI 인터페이스
|
|
286
|
-
- 📋 고급 검색 기능
|
|
287
|
-
- 📋 자동화된 보고서
|
|
288
|
-
- 📋 AI 기반 인사이트
|
|
289
|
-
|
|
290
|
-
### Phase 3 (미래)
|
|
291
|
-
- 🔮 다국어 지원
|
|
292
|
-
- 🔮 플러그인 시스템
|
|
293
|
-
- 🔮 외부 도구 통합 API
|
|
294
|
-
- 🔮 모바일 앱 지원
|
|
295
|
-
|
|
296
|
-
## 관련 문서
|
|
297
|
-
|
|
298
|
-
- [API Reference](./FEATURE_LEDGER_API_REFERENCE.md)
|
|
299
|
-
- [User Guide](./FEATURE_LEDGER_USER_GUIDE.md)
|
|
300
|
-
- [Technical Specification](../02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md)
|
|
301
|
-
- [Integration Guide](../06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md)
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
*Feature Ledger System v1.0 - AIWF Project*
|