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,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로 더 체계적인 개발을 시작하세요!*
|