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.
@@ -1,416 +0,0 @@
1
- # Feature Ledger User Guide
2
-
3
- ## 목차
4
-
5
- 1. [소개](#소개)
6
- 2. [시작하기](#시작하기)
7
- 3. [기본 워크플로우](#기본-워크플로우)
8
- 4. [고급 사용법](#고급-사용법)
9
- 5. [통합 가이드](#통합-가이드)
10
- 6. [문제 해결](#문제-해결)
11
- 7. [베스트 프랙티스](#베스트-프랙티스)
12
-
13
- ## 소개
14
-
15
- ### Feature Ledger란?
16
-
17
- Feature Ledger는 AIWF 프로젝트에서 기능 개발을 체계적으로 추적하고 관리하는 시스템입니다. 각 기능의 생명주기를 문서화하고, 진행 상황을 모니터링하며, 팀 협업을 향상시킵니다.
18
-
19
- ### 주요 이점
20
-
21
- - **투명성**: 모든 기능의 상태를 한눈에 파악
22
- - **추적성**: Git 커밋과 PR을 자동으로 연결
23
- - **협업**: 팀원 간 작업 현황 공유
24
- - **보고**: 자동화된 진행 상황 보고서
25
- - **통합**: AIWF의 다른 시스템과 완벽히 통합
26
-
27
- ## 시작하기
28
-
29
- ### 1. 첫 번째 Feature Ledger 생성
30
-
31
- 새로운 기능 개발을 시작할 때:
32
-
33
- ```bash
34
- /project:aiwf:create_feature_ledger user_registration --milestone M02 --sprint S01_M02 --priority high
35
- ```
36
-
37
- 결과:
38
- ```
39
- ✅ Feature Ledger created successfully!
40
- Feature ID: FL001
41
- Title: User Registration
42
- Status: active
43
- Location: .aiwf/06_FEATURE_LEDGERS/active/FL001_User_Registration.md
44
- ```
45
-
46
- ### 2. Feature 파일 구조 이해하기
47
-
48
- 생성된 Feature 파일을 열어보면:
49
-
50
- ```yaml
51
- ---
52
- feature_id: FL001
53
- title: User Registration
54
- status: active
55
- created_date: 2025-07-09
56
- milestone: M02
57
- sprint_ids: [S01_M02]
58
- priority: high
59
- ---
60
-
61
- # Feature: User Registration
62
-
63
- ## Overview
64
- [자동 생성된 템플릿]
65
- ```
66
-
67
- ### 3. Feature 정보 업데이트
68
-
69
- 기본 정보를 채워넣습니다:
70
-
71
- 1. Overview 섹션에 기능 설명 추가
72
- 2. Requirements에 구체적인 요구사항 나열
73
- 3. Technical Design에 구현 계획 작성
74
-
75
- ## 기본 워크플로우
76
-
77
- ### 개발 프로세스
78
-
79
- ```mermaid
80
- graph LR
81
- A[Feature 생성] --> B[계획 수립]
82
- B --> C[개발 시작]
83
- C --> D[진행률 업데이트]
84
- D --> E[PR 생성]
85
- E --> F[리뷰 및 머지]
86
- F --> G[Feature 완료]
87
- ```
88
-
89
- ### 1단계: Feature 생성 및 계획
90
-
91
- ```bash
92
- # Feature 생성
93
- /project:aiwf:create_feature_ledger payment_integration --milestone M02 --assignee "john_doe"
94
-
95
- # 브랜치 생성
96
- /project:aiwf:feature_branch FL002 create
97
- ```
98
-
99
- ### 2단계: 개발 중 진행률 추적
100
-
101
- ```bash
102
- # 진행률 업데이트
103
- /project:aiwf:update_feature_progress FL002 25 --hours 8
104
-
105
- # 커밋 연결
106
- git commit -m "feat(FL002): Implement payment gateway connection"
107
- /project:aiwf:link_feature_commit FL002 --auto-progress
108
- ```
109
-
110
- ### 3단계: PR 및 완료
111
-
112
- ```bash
113
- # PR 생성 및 연결
114
- gh pr create --title "feat(FL002): Payment Integration"
115
- /project:aiwf:link_feature_pr FL002 123
116
-
117
- # Feature 완료
118
- /project:aiwf:update_feature_status FL002 completed --comment "All tests passing"
119
- ```
120
-
121
- ## 고급 사용법
122
-
123
- ### 복잡한 Feature 관리
124
-
125
- #### 의존성 설정
126
-
127
- Feature 간 의존성이 있을 때:
128
-
129
- ```yaml
130
- # FL003 파일에서
131
- depends_on: [FL001, FL002] # 이 기능들이 먼저 완료되어야 함
132
- blocks: [FL004, FL005] # 이 Feature가 완료되어야 시작 가능
133
- ```
134
-
135
- #### 하위 작업 분할
136
-
137
- 큰 Feature를 작은 단위로 나누기:
138
-
139
- ```markdown
140
- ## Implementation Plan
141
-
142
- ### Phase 1: Foundation (25%)
143
- - [x] Database schema design
144
- - [x] API specification
145
- - [ ] Core business logic
146
-
147
- ### Phase 2: Integration (50%)
148
- - [ ] External API integration
149
- - [ ] Error handling
150
- - [ ] Logging setup
151
-
152
- ### Phase 3: UI Implementation (25%)
153
- - [ ] Component development
154
- - [ ] Testing
155
- - [ ] Documentation
156
- ```
157
-
158
- ### 대시보드 및 보고서
159
-
160
- #### 실시간 대시보드
161
-
162
- ```bash
163
- # 전체 현황
164
- /project:aiwf:feature_dashboard
165
-
166
- # 특정 마일스톤
167
- /project:aiwf:feature_dashboard --milestone M02
168
-
169
- # 개인별 현황
170
- /project:aiwf:feature_dashboard --assignee "john_doe"
171
- ```
172
-
173
- #### 상세 보고서
174
-
175
- ```bash
176
- # 개발 속도 분석
177
- /project:aiwf:feature_report velocity --milestone M02
178
-
179
- # 번다운 차트
180
- /project:aiwf:feature_report burndown --sprint S01_M02
181
-
182
- # 의존성 그래프
183
- /project:aiwf:feature_report dependencies --format html
184
- ```
185
-
186
- ### 검색 및 필터링
187
-
188
- ```bash
189
- # 키워드 검색
190
- /project:aiwf:feature_search "payment" --tags "backend,api"
191
-
192
- # 날짜 범위 검색
193
- /project:aiwf:feature_search "*" --date-range "2025-07-01:2025-07-31"
194
-
195
- # 상태별 검색
196
- /project:aiwf:feature_search "*" --status active --assignee "john_doe"
197
- ```
198
-
199
- ## 통합 가이드
200
-
201
- ### Git 워크플로우 통합
202
-
203
- #### 1. 브랜치 전략
204
-
205
- ```bash
206
- # Feature 브랜치 생성
207
- /project:aiwf:feature_branch FL001 create
208
- # → feature/FL001-user-registration
209
-
210
- # 자동으로 체크아웃됨
211
- git status
212
- # On branch feature/FL001-user-registration
213
- ```
214
-
215
- #### 2. 커밋 메시지 규칙
216
-
217
- ```bash
218
- # Feature ID를 포함한 커밋
219
- git commit -m "feat(FL001): Add email validation"
220
- git commit -m "fix(FL001): Resolve password reset issue"
221
- git commit -m "test(FL001): Add unit tests for registration"
222
- ```
223
-
224
- #### 3. 자동 동기화
225
-
226
- ```bash
227
- # Git 히스토리를 Feature Ledger와 동기화
228
- /project:aiwf:feature_sync --direction git-to-ledger
229
-
230
- # 양방향 동기화
231
- /project:aiwf:feature_sync --direction both
232
- ```
233
-
234
- ### Sprint/Task 통합
235
-
236
- #### Feature와 Task 연결
237
-
238
- ```yaml
239
- # Feature 파일에서
240
- tasks: [T01_S01, T02_S01, T03_S01]
241
-
242
- # Task 파일에서
243
- feature_id: FL001
244
- ```
245
-
246
- #### 진행률 자동 계산
247
-
248
- Task 완료 시 Feature 진행률이 자동 업데이트됩니다:
249
-
250
- ```
251
- Tasks completed: 2/3 → Feature progress: 67%
252
- ```
253
-
254
- ### CI/CD 통합
255
-
256
- #### GitHub Actions 예제
257
-
258
- ```yaml
259
- name: Feature Ledger Update
260
- on:
261
- pull_request:
262
- types: [opened, merged]
263
-
264
- jobs:
265
- update-feature:
266
- runs-on: ubuntu-latest
267
- steps:
268
- - uses: actions/checkout@v2
269
- - name: Extract Feature ID
270
- run: |
271
- FEATURE_ID=$(echo "${{ github.event.pull_request.title }}" | grep -oP 'FL\d{3}')
272
- echo "FEATURE_ID=$FEATURE_ID" >> $GITHUB_ENV
273
- - name: Update Feature Status
274
- if: github.event.pull_request.merged == true
275
- run: |
276
- npx aiwf update_feature_status $FEATURE_ID completed
277
- ```
278
-
279
- ## 문제 해결
280
-
281
- ### 일반적인 문제
282
-
283
- #### 1. Feature ID 중복
284
-
285
- **문제**: "Error E003: Duplicate feature ID"
286
-
287
- **해결책**:
288
- ```bash
289
- # 현재 사용 중인 ID 확인
290
- cat .aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md | grep "Last assigned ID"
291
-
292
- # 다음 번호 사용
293
- /project:aiwf:create_feature_ledger new_feature
294
- ```
295
-
296
- #### 2. 잘못된 상태 전환
297
-
298
- **문제**: "Error E002: Invalid status transition"
299
-
300
- **해결책**:
301
- - `archived` 상태는 되돌릴 수 없음
302
- - `completed` → `active`는 불가능
303
- - 필요시 새 Feature 생성
304
-
305
- #### 3. Git 동기화 실패
306
-
307
- **문제**: "Error E004: Git integration failed"
308
-
309
- **해결책**:
310
- ```bash
311
- # Git 상태 확인
312
- git status
313
-
314
- # 스테이징된 변경사항 커밋
315
- git add .
316
- git commit -m "Save work before feature sync"
317
-
318
- # 다시 시도
319
- /project:aiwf:feature_sync
320
- ```
321
-
322
- ### 디버깅 팁
323
-
324
- #### 로그 확인
325
-
326
- ```bash
327
- # Feature 활동 로그
328
- tail -f .aiwf/logs/feature_ledger.log
329
-
330
- # 특정 Feature 히스토리
331
- grep "FL001" .aiwf/logs/feature_ledger.log
332
- ```
333
-
334
- #### 수동 복구
335
-
336
- ```bash
337
- # 인덱스 재구성
338
- /project:aiwf:feature_index --rebuild
339
-
340
- # 무결성 검사
341
- /project:aiwf:feature_validate --fix
342
- ```
343
-
344
- ## 베스트 프랙티스
345
-
346
- ### 1. Feature 생성 시점
347
-
348
- - ✅ 개발 시작 전 생성
349
- - ✅ 요구사항이 명확해졌을 때
350
- - ❌ 개발 완료 후 생성
351
- - ❌ 너무 세분화된 작업
352
-
353
- ### 2. 진행률 관리
354
-
355
- ```bash
356
- # 좋은 예: 구체적인 진행 사항과 함께
357
- /project:aiwf:update_feature_progress FL001 40 --comment "API endpoints completed"
358
-
359
- # 나쁜 예: 설명 없이
360
- /project:aiwf:update_feature_progress FL001 40
361
- ```
362
-
363
- ### 3. 커밋 메시지
364
-
365
- ```bash
366
- # 좋은 예
367
- git commit -m "feat(FL001): Implement JWT authentication with refresh tokens"
368
-
369
- # 나쁜 예
370
- git commit -m "Update auth" # Feature ID 없음
371
- git commit -m "FL001" # 설명 없음
372
- ```
373
-
374
- ### 4. Feature 범위
375
-
376
- **적절한 Feature 크기**:
377
- - 1-2주 내 완료 가능
378
- - 명확한 비즈니스 가치
379
- - 독립적으로 배포 가능
380
-
381
- **피해야 할 것**:
382
- - 너무 큰 범위 (예: "전체 시스템 리팩토링")
383
- - 너무 작은 범위 (예: "버튼 색상 변경")
384
- - 모호한 목표
385
-
386
- ### 5. 팀 협업
387
-
388
- ```markdown
389
- ## 일일 스탠드업에서
390
- "FL001 진행률 70%, 오늘 인증 로직 완료 예정"
391
-
392
- ## PR 리뷰에서
393
- "FL001의 요구사항 3번이 구현되지 않았습니다"
394
-
395
- ## 스프린트 회고에서
396
- "FL001이 예상보다 복잡해서 2개 Feature로 분할 필요"
397
- ```
398
-
399
- ### 6. 문서화
400
-
401
- Feature Ledger 자체가 문서이므로:
402
-
403
- 1. **실시간 업데이트**: 변경사항 즉시 반영
404
- 2. **상세 기록**: 의사결정 과정 포함
405
- 3. **링크 활용**: 관련 문서, PR, 이슈 연결
406
- 4. **시각적 자료**: 다이어그램, 스크린샷 추가
407
-
408
- ## 다음 단계
409
-
410
- 1. [API Reference](./FEATURE_LEDGER_API_REFERENCE.md) - 모든 명령어 상세 정보
411
- 2. [Architecture Guide](../02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md) - 시스템 구조 이해
412
- 3. [Integration Examples](../06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md) - 실제 통합 예제
413
-
414
- ---
415
-
416
- *이 가이드는 AIWF Feature Ledger System v1.0 기준으로 작성되었습니다.*
@@ -1,247 +0,0 @@
1
- # Feature Ledger 시작 가이드
2
-
3
- ## Feature Ledger란?
4
-
5
- Feature Ledger는 AIWF 프로젝트에서 기능 개발의 전체 생명주기를 추적하고 관리하는 시스템입니다. 각 기능의 계획부터 완료까지 모든 과정을 문서화하고, Git과 연동하여 개발 진행 상황을 실시간으로 파악할 수 있습니다.
6
-
7
- ## 빠른 시작
8
-
9
- ### 1. 첫 Feature 생성하기
10
-
11
- 새로운 기능 개발을 시작할 때:
12
-
13
- ```bash
14
- /project:aiwf:create_feature_ledger 사용자_인증_시스템 --milestone M02 --priority high
15
- ```
16
-
17
- 생성된 Feature 파일 확인:
18
- ```bash
19
- cat .aiwf/06_FEATURE_LEDGERS/active/FL001_사용자_인증_시스템.md
20
- ```
21
-
22
- ### 2. Feature 정보 채우기
23
-
24
- 생성된 파일을 열어 다음 정보를 추가합니다:
25
-
26
- ```markdown
27
- ## Overview
28
- 사용자 인증 시스템은 JWT 기반의 로그인/로그아웃 기능을 제공합니다.
29
- 이메일 인증과 소셜 로그인을 지원하며, 보안 강화를 위한 2FA도 포함됩니다.
30
-
31
- ## Requirements
32
- - [x] 이메일/비밀번호 로그인
33
- - [x] JWT 토큰 발급 및 검증
34
- - [ ] 소셜 로그인 (Google, GitHub)
35
- - [ ] 2단계 인증 (2FA)
36
- - [ ] 비밀번호 재설정
37
- ```
38
-
39
- ### 3. 개발 시작하기
40
-
41
- Feature 브랜치 생성:
42
- ```bash
43
- /project:aiwf:feature_branch FL001 create
44
- # → feature/FL001-사용자-인증-시스템 브랜치 생성 및 체크아웃
45
- ```
46
-
47
- ### 4. 진행 상황 추적하기
48
-
49
- 개발하면서 진행률 업데이트:
50
- ```bash
51
- # 진행률 업데이트
52
- /project:aiwf:update_feature_progress FL001 30 --comment "로그인 API 완성"
53
-
54
- # 커밋과 연결
55
- git commit -m "feat(FL001): JWT 토큰 발급 로직 구현"
56
- /project:aiwf:link_feature_commit FL001
57
- ```
58
-
59
- ### 5. 완료 처리하기
60
-
61
- 모든 요구사항이 완료되면:
62
- ```bash
63
- /project:aiwf:update_feature_status FL001 completed --comment "모든 테스트 통과, 문서화 완료"
64
- ```
65
-
66
- ## 주요 개념
67
-
68
- ### Feature 생명주기
69
-
70
- ```mermaid
71
- graph LR
72
- 생성[🆕 생성] --> 활성[🚀 활성]
73
- 활성 --> 일시중단[⏸️ 일시중단]
74
- 활성 --> 완료[✅ 완료]
75
- 일시중단 --> 활성
76
- 완료 --> 보관[📦 보관]
77
- 일시중단 --> 보관
78
- 활성 --> 보관
79
- ```
80
-
81
- ### Feature 크기 가이드
82
-
83
- 적절한 Feature 범위:
84
- - ⭐ **좋은 예**: "사용자 인증 시스템", "대시보드 리디자인", "결제 시스템 통합"
85
- - ❌ **나쁜 예**: "버튼 색상 변경", "전체 앱 리팩토링", "버그 수정"
86
-
87
- ### 디렉토리 구조
88
-
89
- ```
90
- .aiwf/06_FEATURE_LEDGERS/
91
- ├── active/ # 🚀 진행 중
92
- ├── completed/ # ✅ 완료됨
93
- ├── paused/ # ⏸️ 일시중단
94
- └── archived/ # 📦 보관됨
95
- ```
96
-
97
- ## 실전 예제
98
-
99
- ### 예제 1: API 엔드포인트 개발
100
-
101
- ```bash
102
- # 1. Feature 생성
103
- /project:aiwf:create_feature_ledger 상품_검색_API --milestone M02 --assignee "김개발"
104
-
105
- # 2. 요구사항 정의 (파일 편집)
106
- ## Requirements
107
- - [ ] 키워드 검색 API
108
- - [ ] 필터링 기능 (카테고리, 가격대)
109
- - [ ] 정렬 옵션 (인기순, 가격순, 최신순)
110
- - [ ] 페이지네이션
111
-
112
- # 3. 개발 진행
113
- git checkout -b feature/FL002-상품-검색-API
114
- # ... 코딩 ...
115
-
116
- # 4. 진행률 업데이트
117
- /project:aiwf:update_feature_progress FL002 50 --comment "검색 로직 구현 완료"
118
-
119
- # 5. PR 생성 및 연결
120
- gh pr create --title "feat(FL002): 상품 검색 API 구현"
121
- /project:aiwf:link_feature_pr FL002 123
122
- ```
123
-
124
- ### 예제 2: UI 컴포넌트 개발
125
-
126
- ```bash
127
- # 1. Feature 생성 (태그 포함)
128
- /project:aiwf:create_feature_ledger 반응형_네비게이션 --tags "frontend,ui,responsive"
129
-
130
- # 2. 하위 작업 분할
131
- ## Implementation Plan
132
- ### Phase 1: 데스크톱 레이아웃 (30%)
133
- - [x] 메뉴 구조 설계
134
- - [ ] 스타일링
135
- - [ ] 애니메이션
136
-
137
- ### Phase 2: 모바일 최적화 (40%)
138
- - [ ] 햄버거 메뉴
139
- - [ ] 터치 제스처
140
- - [ ] 성능 최적화
141
-
142
- ### Phase 3: 테스트 및 문서화 (30%)
143
- - [ ] 크로스 브라우저 테스트
144
- - [ ] 스토리북 문서
145
- - [ ] 사용 가이드
146
- ```
147
-
148
- ## 팀 협업
149
-
150
- ### 일일 스탠드업에서
151
-
152
- ```markdown
153
- "FL001 사용자 인증 - 진행률 70%
154
- - 어제: JWT 리프레시 토큰 구현
155
- - 오늘: 소셜 로그인 통합
156
- - 블로커: OAuth 설정 관련 DevOps 팀 지원 필요"
157
- ```
158
-
159
- ### 코드 리뷰에서
160
-
161
- ```bash
162
- # PR 설명에 Feature 참조
163
- PR 제목: feat(FL001): 소셜 로그인 구현
164
-
165
- 본문:
166
- ## Feature: FL001 - 사용자 인증 시스템
167
-
168
- ### 구현 내용
169
- - Google OAuth 2.0 통합
170
- - GitHub 로그인 지원
171
- - 기존 계정과 소셜 계정 연동
172
-
173
- ### 체크리스트
174
- - [x] 단위 테스트
175
- - [x] 통합 테스트
176
- - [x] 문서 업데이트
177
- ```
178
-
179
- ### 스프린트 회고에서
180
-
181
- 대시보드로 전체 현황 파악:
182
- ```bash
183
- /project:aiwf:feature_dashboard --sprint S01_M02
184
-
185
- # 출력:
186
- ## Sprint S01_M02 Features
187
- - FL001: 사용자 인증 [90%] ⚠️ 1일 지연
188
- - FL002: 상품 검색 API [100%] ✅ 완료
189
- - FL003: 결제 시스템 [30%] 🚀 진행 중
190
- ```
191
-
192
- ## 유용한 팁
193
-
194
- ### 1. 자동화 활용
195
-
196
- Git Hook 설정 (`.git/hooks/prepare-commit-msg`):
197
- ```bash
198
- #!/bin/bash
199
- # Feature ID 자동 추가
200
- BRANCH=$(git rev-parse --abbrev-ref HEAD)
201
- FEATURE_ID=$(echo $BRANCH | grep -oP 'FL\d{3}')
202
-
203
- if [ ! -z "$FEATURE_ID" ]; then
204
- sed -i "1s/^/feat($FEATURE_ID): /" $1
205
- fi
206
- ```
207
-
208
- ### 2. 템플릿 활용
209
-
210
- 자주 사용하는 Feature 유형별 템플릿 준비:
211
- - `api_feature_template.md` - API 개발용
212
- - `ui_feature_template.md` - UI 컴포넌트용
213
- - `bugfix_feature_template.md` - 버그 수정용
214
-
215
- ### 3. 검색 활용
216
-
217
- ```bash
218
- # 내가 담당한 활성 Feature
219
- /project:aiwf:feature_search "*" --assignee "나" --status active
220
-
221
- # 이번 주 완료된 Feature
222
- /project:aiwf:feature_search "*" --date-range "2025-07-01:2025-07-07" --status completed
223
-
224
- # 높은 우선순위 Feature
225
- /project:aiwf:feature_search "*" --priority critical,high
226
- ```
227
-
228
- ## 다음 단계
229
-
230
- 1. **상세 문서 읽기**
231
- - [API 레퍼런스](./FEATURE_LEDGER_API_REFERENCE.md) - 모든 명령어 상세 설명
232
- - [사용자 가이드](./FEATURE_LEDGER_USER_GUIDE.md) - 고급 기능과 통합
233
- - [FAQ](./FEATURE_LEDGER_FAQ.md) - 자주 묻는 질문과 문제 해결
234
-
235
- 2. **실습하기**
236
- - 테스트 Feature 생성해보기
237
- - Git 통합 연습하기
238
- - 대시보드 생성해보기
239
-
240
- 3. **팀과 공유하기**
241
- - 팀 규칙 정하기 (Feature 크기, 명명 규칙 등)
242
- - 워크플로우 문서화
243
- - 정기 리뷰 프로세스 수립
244
-
245
- ---
246
-
247
- *🚀 Feature Ledger로 더 체계적인 개발을 시작하세요!*