aiwf 0.3.14 → 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 (54) hide show
  1. package/README.ko.md +19 -10
  2. package/README.md +54 -9
  3. package/docs/AI-WORKFLOW.ko.md +1 -1
  4. package/docs/AI-WORKFLOW.md +1 -1
  5. package/docs/API_REFERENCE_FULL.ko.md +979 -0
  6. package/docs/API_REFERENCE_FULL.md +979 -0
  7. package/docs/ARCHITECTURE.ko.md +314 -0
  8. package/docs/ARCHITECTURE.md +314 -0
  9. package/docs/GETTING_STARTED.ko.md +219 -0
  10. package/docs/GETTING_STARTED.md +1 -2
  11. package/docs/PERFORMANCE_GUIDELINES.ko.md +388 -0
  12. package/docs/ROADMAP_v0.4.0.md +286 -0
  13. package/docs/TROUBLESHOOTING.ko.md +366 -0
  14. package/package.json +50 -2
  15. package/src/DEPENDENCY_MAP.md +90 -0
  16. package/src/cli/index.js +1 -1
  17. package/src/lib/installer.js +204 -15
  18. package/src/lib/resources/templates/api-server/template/src/controllers/aiwfController.ts +0 -14
  19. package/src/lib/resources/templates/api-server/template/src/routes/aiwf.ts +0 -11
  20. package/src/lib/resources/templates/web-app/template/src/pages/AiwfDashboard.tsx +2 -5
  21. package/src/lib/resources/utils/token-reporter.js +2 -3
  22. package/src/utils/checkpoint-manager.js +11 -1
  23. package/src/utils/engineering-guard.js +11 -1
  24. package/src/utils/messages.js +16 -0
  25. package/src/utils/paths.js +2 -2
  26. package/templates/api-server/template/src/controllers/aiwfController.ts +0 -14
  27. package/templates/api-server/template/src/routes/aiwf.ts +0 -11
  28. package/templates/web-app/template/src/pages/AiwfDashboard.tsx +2 -5
  29. package/docs/CLEANUP_RECOMMENDATIONS.md +0 -86
  30. package/docs/git-feature-integration-guide.md +0 -253
  31. package/docs/guides/feature-git-integration-guide-ko.md +0 -481
  32. package/docs/guides/feature-git-integration-guide.md +0 -481
  33. package/docs/lightweight-evaluation.md +0 -198
  34. package/docs/performance-benchmark-report.md +0 -159
  35. package/docs/reports/S02-sprint-report.md +0 -190
  36. package/docs/usability-test-report.md +0 -170
  37. package/src/commands/cache-templates.js +0 -209
  38. package/src/commands/create-offline.js +0 -86
  39. package/src/commands/state-refactored.js +0 -419
  40. package/src/lib/resources/commands/feature-ledger.js +0 -565
  41. package/src/lib/resources/commands/feature_commit_report.js +0 -370
  42. package/src/lib/resources/commands/scan_git_history.js +0 -234
  43. package/src/lib/resources/commands/sync_feature_commits.js +0 -154
  44. package/src/lib/resources/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
  45. package/src/lib/resources/utils/feature-updater.js +0 -271
  46. package/src/utils/git-integration.js +0 -173
  47. package/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
  48. /package/docs/{AI_PERSONA_SYSTEM_DESIGN.md → designs/AI_PERSONA_SYSTEM_DESIGN.md} +0 -0
  49. /package/docs/{API_DOCUMENTATION.md → designs/API_DOCUMENTATION.md} +0 -0
  50. /package/docs/{API_REFERENCE.md → designs/API_REFERENCE.md} +0 -0
  51. /package/docs/{Enhanced_Installation_Flow_Design.md → designs/Enhanced_Installation_Flow_Design.md} +0 -0
  52. /package/docs/{moonklabs-metadata-system-prd.md → designs/aiwf-metadata-system-prd.md} +0 -0
  53. /package/docs/{offline-template-cache.md → designs/offline-template-cache.md} +0 -0
  54. /package/docs/{persona-aware-compression.md → designs/persona-aware-compression.md} +0 -0
@@ -1,481 +0,0 @@
1
- [Read in English](feature-git-integration-guide.md)
2
-
3
- # Feature-Git 연동 설정 가이드
4
-
5
- ## 개요
6
-
7
- Feature-Git 연동 시스템은 AIWF의 Feature Ledger와 Git 커밋을 자동으로 연결하여 기능 개발 진행 상황을 추적하고 관리하는 도구입니다. 커밋 메시지 파싱, 자동 상태 업데이트, 진행률 추적 등을 통해 프로젝트 관리를 자동화합니다.
8
-
9
- ## 주요 기능
10
-
11
- ### 1. 자동 Feature 추적
12
- - Git 커밋과 Feature ID 자동 연결
13
- - 커밋 메시지에서 Feature 정보 추출
14
- - Feature 상태 자동 업데이트
15
-
16
- ### 2. Pre-commit Hook
17
- - 커밋 전 Feature ID 검증
18
- - 커밋 메시지 형식 확인
19
- - Feature Ledger 자동 업데이트
20
-
21
- ### 3. 진행률 관리
22
- - 커밋 수 기반 진행률 계산
23
- - Feature별 기여도 추적
24
- - 팀 생산성 메트릭 생성
25
-
26
- ## 설치 및 설정
27
-
28
- ### 1. 기본 설치
29
-
30
- **자동 설치 (권장)**:
31
- ```bash
32
- /project:aiwf:install_git_hooks
33
- # 또는
34
- /프로젝트:aiwf:git_훅_설치
35
- ```
36
-
37
- **수동 설치**:
38
- ```bash
39
- # Git hooks 디렉토리로 이동
40
- cd .git/hooks
41
-
42
- # Pre-commit hook 생성
43
- cat > pre-commit << 'EOF'
44
- #!/bin/bash
45
- # AIWF Feature-Git Integration Hook
46
-
47
- # 커밋 메시지 파일 경로
48
- COMMIT_MSG_FILE="$1"
49
-
50
- # AIWF 커밋 검증 실행
51
- node .aiwf/scripts/validate-commit.js "$COMMIT_MSG_FILE"
52
-
53
- # 검증 결과 반환
54
- exit $?
55
- EOF
56
-
57
- # 실행 권한 부여
58
- chmod +x pre-commit
59
- ```
60
-
61
- ### 2. 설정 파일 구성
62
-
63
- `.aiwf/config/git-integration.json`:
64
- ```json
65
- {
66
- "featureGitIntegration": {
67
- "enabled": true,
68
- "autoLinkCommits": true,
69
- "updateFeatureStatus": true,
70
- "commitMessagePattern": "^(feat|fix|docs|style|refactor|test|chore)\\(([A-Z]\\d{3})\\): .+$",
71
- "featureIdPattern": "[A-Z]\\d{3}",
72
- "hooks": {
73
- "preCommit": true,
74
- "postCommit": true,
75
- "prePush": false
76
- },
77
- "statusMapping": {
78
- "feat": "in_progress",
79
- "fix": "in_progress",
80
- "docs": "in_progress",
81
- "test": "testing",
82
- "chore": "in_progress",
83
- "refactor": "in_progress",
84
- "style": "in_progress"
85
- }
86
- }
87
- }
88
- ```
89
-
90
- ### 3. Feature Ledger 초기화
91
-
92
- ```bash
93
- /project:aiwf:init_feature_ledger
94
- # 또는
95
- /프로젝트:aiwf:기능_원장_초기화
96
- ```
97
-
98
- ## 커밋 메시지 형식
99
-
100
- ### 기본 형식
101
- ```
102
- <type>(<feature-id>): <description>
103
-
104
- [optional body]
105
-
106
- [optional footer]
107
- ```
108
-
109
- ### 타입 종류
110
- - `feat`: 새로운 기능 추가
111
- - `fix`: 버그 수정
112
- - `docs`: 문서 수정
113
- - `style`: 코드 포맷팅, 세미콜론 누락 등
114
- - `refactor`: 코드 리팩토링
115
- - `test`: 테스트 추가 또는 수정
116
- - `chore`: 빌드 프로세스 또는 보조 도구 변경
117
-
118
- ### Feature ID 형식
119
- - 형식: `[A-Z][0-9]{3}` (예: F001, B023, T456)
120
- - 프로젝트별 커스터마이징 가능
121
-
122
- ### 예시
123
-
124
- **기본 커밋**:
125
- ```bash
126
- git commit -m "feat(F001): 사용자 인증 시스템 구현"
127
- ```
128
-
129
- **상세 설명 포함**:
130
- ```bash
131
- git commit -m "fix(B023): 로그인 시 세션 유지 문제 해결
132
-
133
- - 세션 타임아웃 설정 수정
134
- - 쿠키 도메인 설정 추가
135
- - 리프레시 토큰 로직 개선"
136
- ```
137
-
138
- **여러 Feature 참조**:
139
- ```bash
140
- git commit -m "refactor(F001,F002): 인증 모듈 통합
141
-
142
- F001의 로그인 로직과 F002의 권한 시스템을 통합하여
143
- 코드 중복을 제거하고 유지보수성을 향상시켰습니다."
144
- ```
145
-
146
- ## link_feature_commit 명령어
147
-
148
- ### 기본 사용법
149
- ```bash
150
- /project:aiwf:link_feature_commit <commit-hash> <feature-id>
151
- # 또는
152
- /프로젝트:aiwf:기능_커밋_연결 <커밋해시> <기능ID>
153
- ```
154
-
155
- ### 예시
156
- ```bash
157
- # 특정 커밋을 Feature에 연결
158
- /project:aiwf:link_feature_commit abc123def F001
159
-
160
- # 최근 커밋 연결
161
- /project:aiwf:link_feature_commit HEAD F002
162
-
163
- # 범위 지정 연결
164
- /project:aiwf:link_feature_commit abc123..def456 F003
165
- ```
166
-
167
- ### 일괄 연결
168
- ```bash
169
- # 여러 커밋을 한 번에 연결
170
- /project:aiwf:link_feature_commits --batch
171
- "abc123 -> F001
172
- def456 -> F002
173
- ghi789 -> F003"
174
- ```
175
-
176
- ## Feature 상태 자동 업데이트
177
-
178
- ### 상태 전환 규칙
179
-
180
- 1. **첫 커밋**: `planned` → `in_progress`
181
- 2. **test 타입 커밋**: → `testing`
182
- 3. **fix 후 test 통과**: → `ready_for_review`
183
- 4. **PR 머지**: → `completed`
184
-
185
- ### 커스텀 규칙 설정
186
- ```json
187
- {
188
- "stateTransitions": {
189
- "planned": {
190
- "feat": "in_progress",
191
- "fix": "in_progress"
192
- },
193
- "in_progress": {
194
- "test": "testing",
195
- "docs": "documenting"
196
- },
197
- "testing": {
198
- "fix": "in_progress",
199
- "feat": "ready_for_review"
200
- }
201
- }
202
- }
203
- ```
204
-
205
- ## 고급 설정
206
-
207
- ### 1. 커밋 메시지 템플릿
208
-
209
- `.gitmessage` 파일 생성:
210
- ```
211
- # <type>(<feature-id>): <subject>
212
- #
213
- # <body>
214
- #
215
- # Feature: <feature-description>
216
- # Related: <related-features>
217
- # Closes: <issue-numbers>
218
- ```
219
-
220
- Git 설정:
221
- ```bash
222
- git config commit.template .gitmessage
223
- ```
224
-
225
- ### 2. 자동 Feature ID 추천
226
-
227
- ```bash
228
- # 현재 브랜치명에서 Feature ID 추출
229
- /project:aiwf:suggest_feature_id
230
- ```
231
-
232
- ### 3. 커밋 후 자동 작업
233
-
234
- `.aiwf/hooks/post-commit`:
235
- ```bash
236
- #!/bin/bash
237
- # Feature Ledger 업데이트
238
- node .aiwf/scripts/update-feature-ledger.js
239
-
240
- # 진행률 계산
241
- node .aiwf/scripts/calculate-progress.js
242
-
243
- # 팀에 알림 (선택사항)
244
- # node .aiwf/scripts/notify-team.js
245
- ```
246
-
247
- ## 워크플로우 통합
248
-
249
- ### 1. 브랜치 전략과 연동
250
-
251
- **Feature 브랜치 생성**:
252
- ```bash
253
- # Feature ID로 브랜치 생성
254
- git checkout -b feature/F001-user-authentication
255
-
256
- # AIWF가 자동으로 Feature ID 인식
257
- ```
258
-
259
- **브랜치 규칙**:
260
- - `feature/[FEATURE-ID]-description`
261
- - `bugfix/[BUG-ID]-description`
262
- - `hotfix/[HOTFIX-ID]-description`
263
-
264
- ### 2. PR/MR 통합
265
-
266
- **PR 템플릿** (`.github/pull_request_template.md`):
267
- ```markdown
268
- ## Feature ID: [FEATURE-ID]
269
-
270
- ### 변경 사항
271
- - [ ] 기능 구현 완료
272
- - [ ] 테스트 작성 완료
273
- - [ ] 문서 업데이트 완료
274
-
275
- ### Feature Ledger 업데이트
276
- - 현재 상태: `in_progress`
277
- - 목표 상태: `completed`
278
- - 진행률: X%
279
-
280
- ### 관련 커밋
281
- - commit1: description
282
- - commit2: description
283
- ```
284
-
285
- ### 3. CI/CD 파이프라인 통합
286
-
287
- **GitHub Actions 예시**:
288
- ```yaml
289
- name: AIWF Feature Tracking
290
-
291
- on:
292
- push:
293
- branches: [ main, develop ]
294
- pull_request:
295
- branches: [ main ]
296
-
297
- jobs:
298
- feature-tracking:
299
- runs-on: ubuntu-latest
300
- steps:
301
- - uses: actions/checkout@v2
302
-
303
- - name: Validate Commit Message
304
- run: |
305
- node .aiwf/scripts/validate-commit.js ${{ github.event.head_commit.message }}
306
-
307
- - name: Update Feature Ledger
308
- run: |
309
- node .aiwf/scripts/update-feature-ledger.js \
310
- --commit ${{ github.sha }} \
311
- --message "${{ github.event.head_commit.message }}"
312
-
313
- - name: Calculate Progress
314
- run: |
315
- node .aiwf/scripts/calculate-progress.js
316
-
317
- - name: Generate Report
318
- run: |
319
- node .aiwf/scripts/generate-feature-report.js
320
- ```
321
-
322
- ## 보고서 및 분석
323
-
324
- ### 1. Feature 진행 상황 보고서
325
-
326
- ```bash
327
- /project:aiwf:feature_report
328
- # 또는
329
- /프로젝트:aiwf:기능_보고서
330
- ```
331
-
332
- **출력 예시**:
333
- ```
334
- Feature Progress Report
335
- =======================
336
-
337
- Active Features:
338
- - F001: User Authentication (75% complete)
339
- - 12 commits, 3 contributors
340
- - Status: testing
341
- - Last update: 2 hours ago
342
-
343
- - F002: Payment Integration (45% complete)
344
- - 8 commits, 2 contributors
345
- - Status: in_progress
346
- - Last update: 1 day ago
347
-
348
- Completed Features (Last 7 days):
349
- - F003: Dashboard UI (100% complete)
350
- - F004: API Documentation (100% complete)
351
-
352
- Team Velocity: 4.5 features/week
353
- ```
354
-
355
- ### 2. 커밋 분석
356
-
357
- ```bash
358
- /project:aiwf:analyze_commits --period 7d
359
- ```
360
-
361
- **분석 내용**:
362
- - 커밋 빈도
363
- - Feature별 커밋 분포
364
- - 개발자별 기여도
365
- - 시간대별 활동 패턴
366
-
367
- ## 문제 해결
368
-
369
- ### 1. Hook이 작동하지 않음
370
-
371
- **확인 사항**:
372
- ```bash
373
- # Hook 파일 존재 확인
374
- ls -la .git/hooks/pre-commit
375
-
376
- # 실행 권한 확인
377
- test -x .git/hooks/pre-commit && echo "실행 가능" || echo "실행 불가"
378
-
379
- # Hook 내용 확인
380
- cat .git/hooks/pre-commit
381
- ```
382
-
383
- **해결 방법**:
384
- ```bash
385
- # 권한 재설정
386
- chmod +x .git/hooks/pre-commit
387
-
388
- # Hook 재설치
389
- /project:aiwf:reinstall_hooks
390
- ```
391
-
392
- ### 2. Feature ID 인식 실패
393
-
394
- **증상**: 커밋은 되지만 Feature가 업데이트되지 않음
395
-
396
- **해결**:
397
- 1. 커밋 메시지 형식 확인
398
- 2. Feature ID 패턴 설정 확인
399
- 3. Feature Ledger 파일 권한 확인
400
-
401
- ### 3. 상태 업데이트 오류
402
-
403
- **로그 확인**:
404
- ```bash
405
- tail -f .aiwf/logs/git-integration.log
406
- ```
407
-
408
- **수동 업데이트**:
409
- ```bash
410
- /project:aiwf:update_feature_status F001 in_progress
411
- ```
412
-
413
- ## 모범 사례
414
-
415
- ### 1. 일관된 커밋 메시지
416
- - 팀 전체가 동일한 형식 사용
417
- - Feature ID는 항상 포함
418
- - 명확하고 설명적인 메시지 작성
419
-
420
- ### 2. 작은 단위 커밋
421
- - 하나의 커밋은 하나의 논리적 변경
422
- - 리뷰와 추적이 용이
423
- - 문제 발생 시 롤백 용이
424
-
425
- ### 3. 정기적인 동기화
426
- ```bash
427
- # 매일 Feature Ledger 동기화
428
- /project:aiwf:sync_features
429
-
430
- # 주간 보고서 생성
431
- /project:aiwf:weekly_feature_report
432
- ```
433
-
434
- ### 4. 브랜치와 Feature 매핑
435
- - 브랜치명에 Feature ID 포함
436
- - PR 제목에 Feature ID 명시
437
- - 머지 커밋에도 Feature ID 유지
438
-
439
- ## 팀 협업 시나리오
440
-
441
- ### 1. 새 Feature 시작
442
- ```bash
443
- # 1. Feature 생성
444
- /project:aiwf:create_feature "사용자 프로필 기능"
445
- # Returns: F005 created
446
-
447
- # 2. 브랜치 생성
448
- git checkout -b feature/F005-user-profile
449
-
450
- # 3. 첫 커밋
451
- git commit -m "feat(F005): 사용자 프로필 기본 구조 생성"
452
- ```
453
-
454
- ### 2. 협업 개발
455
- ```bash
456
- # 개발자 A
457
- git commit -m "feat(F005): 프로필 이미지 업로드 구현"
458
-
459
- # 개발자 B
460
- git commit -m "test(F005): 프로필 업로드 테스트 추가"
461
-
462
- # 진행 상황 확인
463
- /project:aiwf:feature_status F005
464
- ```
465
-
466
- ### 3. 완료 및 머지
467
- ```bash
468
- # PR 생성 시
469
- # Title: "feat(F005): 사용자 프로필 기능 완성"
470
-
471
- # 머지 후 자동으로
472
- # - Feature 상태 → completed
473
- # - 진행률 → 100%
474
- # - 완료 시간 기록
475
- ```
476
-
477
- ## 결론
478
-
479
- Feature-Git 연동 시스템은 개발 프로세스와 프로젝트 관리를 효과적으로 통합합니다. 자동화된 추적과 보고 기능을 통해 팀의 생산성을 향상시키고, 프로젝트 진행 상황을 실시간으로 파악할 수 있습니다.
480
-
481
- 지속적인 사용과 팀 피드백을 통해 워크플로우를 개선하고 최적화하시기 바랍니다.