aiwf 0.3.2 → 0.3.4
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/config/language.json +1 -1
- package/.aiwf/installed.flag +1 -0
- package/.aiwf/sessions/session_1752877859489_1t7n2fhdb.json +7 -0
- package/.aiwf/sessions/session_1752877859515_cwdv211ry.json +7 -0
- package/.aiwf/sessions/session_1752877860664_huziadmbo.json +7 -0
- package/.aiwf/sessions/session_1752877860666_kyr5u1np6.json +7 -0
- package/.aiwf/sessions/session_1752877861848_9yinepw3t.json +7 -0
- package/.aiwf/sessions/session_1752877861874_y32sputuc.json +7 -0
- package/.aiwf/sessions/session_1752877862685_ivxbl5rhz.json +7 -0
- package/.aiwf/sessions/session_1752877862820_wnq4glvxi.json +7 -0
- package/.aiwf/sessions/session_1752877864632_3ebnpaelb.json +7 -0
- package/.aiwf/sessions/session_1752877864879_b9zgjcb7d.json +7 -0
- package/.aiwf/sessions/session_1752877865533_x14m1vodi.json +7 -0
- package/.aiwf/sessions/session_1752877865562_gkoh19n7d.json +7 -0
- package/.aiwf/sessions/session_1752877866333_wp8qpdcoh.json +7 -0
- package/.aiwf/sessions/session_1752877866509_dawntfpab.json +7 -0
- package/.aiwf/sessions/session_1752877866890_plc5vfucl.json +7 -0
- package/.aiwf/sessions/session_1752877866895_ga8hmq3oi.json +7 -0
- package/.aiwf/sessions/session_1752877867761_ayjp4v5f5.json +7 -0
- package/.aiwf/sessions/session_1752877867892_lfz6jy252.json +7 -0
- package/.aiwf/sessions/session_1752877868139_7bqd9ubli.json +7 -0
- package/.aiwf/sessions/session_1752877868162_zq3ofjbsh.json +7 -0
- package/.aiwf/sessions/session_1752877869054_7rlgm9jt6.json +7 -0
- package/.aiwf/sessions/session_1752877869477_ax3nhbxzr.json +7 -0
- package/.aiwf/sessions/session_1752877870095_6hgp4vl1e.json +7 -0
- package/.aiwf/sessions/session_1752877870381_qfcrdg4li.json +7 -0
- package/.aiwf/sessions/session_1752877871895_pgd5vllhz.json +7 -0
- package/.aiwf/sessions/session_1752877872199_jbhv2g2da.json +7 -0
- package/.aiwf/sessions/session_1752877872680_x04wpffu6.json +7 -0
- package/.aiwf/sessions/session_1752877872895_3y4vbeauo.json +7 -0
- package/.aiwf/sessions/session_1752877873178_3maolzc6b.json +7 -0
- package/.aiwf/sessions/session_1752877873180_ytm83j07f.json +7 -0
- package/.aiwf/sessions/session_1752877874217_dp56c9t42.json +7 -0
- package/.aiwf/sessions/session_1752877874415_epwp1g1og.json +7 -0
- package/.aiwf/sessions/session_1752877874454_heicyuryb.json +7 -0
- package/.aiwf/sessions/session_1752877874869_1c2illeu5.json +7 -0
- package/.aiwf/sessions/session_1752877874879_k1vo4vxyx.json +7 -0
- package/.aiwf/sessions/session_1752877874913_bwgyiz9bp.json +7 -0
- package/.aiwf/sessions/session_1752877876218_44807kztz.json +7 -0
- package/.aiwf/sessions/session_1752877876515_qkhjv5kpw.json +7 -0
- package/.aiwf/sessions/session_1752877876543_p605aud1m.json +7 -0
- package/.aiwf/sessions/session_1752877876819_l65w7ifck.json +7 -0
- package/.aiwf/sessions/session_1752877876867_xrhzss4we.json +7 -0
- package/.aiwf/sessions/session_1752877876872_u7aso54qb.json +7 -0
- package/.aiwf/sessions/session_1752877877705_telnfg4o6.json +7 -0
- package/.aiwf/sessions/session_1752877878285_6s45im2ib.json +7 -0
- package/.aiwf/sessions/session_1752877878506_v0dvguqhz.json +7 -0
- package/.aiwf/sessions/session_1752877878581_3ri3yc66a.json +7 -0
- package/.aiwf/sessions/session_1752877878756_a82x9s2pd.json +7 -0
- package/.aiwf/sessions/session_1752877878886_20pjsfour.json +7 -0
- package/.aiwf/sessions/session_1752877880266_fm1ydjw0g.json +7 -0
- package/.aiwf/sessions/session_1752877881149_xbat4z03d.json +7 -0
- package/.aiwf/sessions/session_1752877881551_qy5sic9qs.json +7 -0
- package/.aiwf/sessions/session_1752877881554_24ugd96wu.json +7 -0
- package/.aiwf/sessions/session_1752877881797_e9mm25uh0.json +7 -0
- package/.aiwf/sessions/session_1752877881822_bxvjj8c9g.json +7 -0
- package/.aiwf/sessions/session_1752877881890_jv7l6jve3.json +7 -0
- package/.aiwf/sessions/session_1752877881991_f0qugdtcq.json +7 -0
- package/.aiwf/sessions/session_1752877883387_0bvw9rvnx.json +7 -0
- package/.aiwf/sessions/session_1752877883820_q6g2md2up.json +7 -0
- package/.aiwf/sessions/session_1752877884393_sqr7trvjl.json +7 -0
- package/.aiwf/sessions/session_1752877884500_whtypmzlf.json +7 -0
- package/.aiwf/sessions/session_1752877884645_y9mvvxli1.json +7 -0
- package/.aiwf/sessions/session_1752877884733_hk46eenel.json +7 -0
- package/.aiwf/sessions/session_1752877884738_c62j6214r.json +7 -0
- package/.aiwf/sessions/session_1752877884771_temhxehoz.json +7 -0
- package/.aiwf/sessions/session_1752877885643_6v5fcktc7.json +7 -0
- package/.aiwf/sessions/session_1752877886426_ee8di2fqh.json +7 -0
- package/.aiwf/sessions/session_1752877886549_3xj6tdoew.json +7 -0
- package/.aiwf/sessions/session_1752877886604_aj80yyfco.json +7 -0
- package/.aiwf/sessions/session_1752877886702_2b8841vyg.json +7 -0
- package/.aiwf/sessions/session_1752877886712_ntqc8b8bz.json +7 -0
- package/.aiwf/sessions/session_1752877886968_946m8tbw6.json +7 -0
- package/.aiwf/sessions/session_1752877887008_wg6zfg8dn.json +7 -0
- package/.aiwf/sessions/session_1752877888479_ciiu2qiqs.json +7 -0
- package/.aiwf/sessions/session_1752877889330_ravg8l66k.json +7 -0
- package/.aiwf/sessions/session_1752877889542_7zepkhjkc.json +7 -0
- package/.aiwf/sessions/session_1752877889638_ev4htqiu0.json +7 -0
- package/.aiwf/sessions/session_1752877889956_szphy2qma.json +7 -0
- package/.aiwf/sessions/session_1752877890220_o6aaa57tt.json +7 -0
- package/.aiwf/sessions/session_1752877890527_v2loy5vu1.json +7 -0
- package/.aiwf/sessions/session_1752877890572_cwq8fiuma.json +7 -0
- package/.aiwf/sessions/session_1752877892200_sgcwq1alt.json +7 -0
- package/.aiwf/sessions/session_1752877892268_v8kexpbc5.json +7 -0
- package/.aiwf/sessions/session_1752877892384_1gbbgrp4y.json +7 -0
- package/.aiwf/sessions/session_1752877893568_9p2n5p31a.json +7 -0
- package/.aiwf/sessions/session_1752877893727_un34a5tvp.json +7 -0
- package/.aiwf/sessions/session_1752877893778_01j79sw9i.json +7 -0
- package/.aiwf/sessions/session_1752877894053_jrhba6wko.json +7 -0
- package/.aiwf/sessions/session_1752877894082_x3bghawox.json +7 -0
- package/.aiwf/sessions/session_1752877894500_iytiav2ku.json +7 -0
- package/.aiwf/sessions/session_1752877894667_ucn0gc2ge.json +7 -0
- package/.aiwf/test-results-s02.json +4 -4
- package/.claude/commands/aiwf/aiwf_changelog.md +82 -0
- package/.claude/commands/aiwf/aiwf_code_review.md +88 -0
- package/.claude/commands/aiwf/aiwf_commit.md +160 -0
- package/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
- package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
- package/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
- package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
- package/.claude/commands/aiwf/aiwf_create_prd.md +280 -0
- package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
- package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
- package/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
- package/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
- package/.claude/commands/aiwf/aiwf_do_task.md +109 -0
- package/.claude/commands/aiwf/aiwf_docs.md +225 -0
- package/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
- package/.claude/commands/aiwf/aiwf_infinite.md +202 -0
- package/.claude/commands/aiwf/aiwf_initialize.md +134 -0
- package/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
- package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
- package/.claude/commands/aiwf/aiwf_list_features.md +54 -0
- package/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
- package/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
- package/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
- package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
- package/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
- package/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
- package/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
- package/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
- package/.claude/commands/aiwf/aiwf_prime.md +9 -0
- package/.claude/commands/aiwf/aiwf_project_review.md +261 -0
- package/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
- package/.claude/commands/aiwf/aiwf_test.md +124 -0
- package/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
- package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +210 -0
- package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
- package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
- package/.claude/commands/aiwf/aiwf_ultrathink_general.md +305 -0
- package/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
- package/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
- package/.claude/commands/aiwf/aiwf_yolo.md +300 -0
- package/.eslintrc.json +26 -0
- package/.prettierrc +10 -0
- package/CLAUDE.md +154 -54
- package/README.ko.md +25 -0
- package/README.md +25 -0
- package/TEST_RECOVERY_PLAN.md +68 -0
- package/docs/CLEANUP_RECOMMENDATIONS.md +86 -0
- package/docs/CLI_USAGE_GUIDE.md +479 -0
- package/package.json +9 -9
- package/scripts/update-feature-status.js +70 -0
- package/{lib → src/cli}/cache-cli.js +4 -4
- package/src/cli/index.js +165 -0
- package/{language-cli.js → src/cli/language-cli.js} +11 -4
- package/src/commands/cache-templates.js +209 -0
- package/src/commands/create-offline.js +86 -0
- package/src/commands/create-project.js +151 -0
- package/src/lib/backup-manager.js +270 -0
- package/src/lib/file-downloader.js +208 -0
- package/src/lib/installer.js +676 -0
- package/src/lib/rollback-manager.js +418 -0
- package/src/lib/validator.js +561 -0
- package/src/utils/git-integration.js +173 -0
- package/{language-utils.js → src/utils/language-utils.js} +2 -1
- package/src/utils/messages.js +136 -0
- package/src/utils/paths.js +130 -0
- package/tests/application.test.js +2 -2
- package/tests/installer.test.js +2 -2
- package/tests/integration/ai-persona-system.test.js +4 -4
- package/tests/integration/test-persona-system/docs/README.md +1 -0
- package/tests/integration/test-persona-system/package.json +1 -0
- package/tests/integration/test-persona-system/src/auth.js +1 -0
- package/tests/integration/test-persona-system/src/index.js +1 -0
- package/tests/integration/test-persona-system/test/test.js +1 -0
- package/tests/language-utils.test.js +1 -1
- package/tests/temp_invalid_json/invalid.json +1 -0
- package/tests/unit/ai-persona-manager.test.js +7 -7
- package/.aiwf/05_DOCUMENTATION/performance-report.md +0 -33
- package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +0 -6
- package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +0 -7
- package/.aiwf/token-data/alerts.json +0 -293
- package/.aiwf/token-data/monitor-config.json +0 -12
- package/CHANGELOG_M02.md +0 -52
- 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
- package/claude-code/aiwf/ko/token-data/alerts.json +0 -293
- package/claude-code/aiwf/ko/token-data/monitor-config.json +0 -12
- package/docs/m02-dod-checklist.md +0 -125
- package/docs/m02-gap-analysis.md +0 -214
- package/docs/m02-milestone-completion-report.md +0 -186
- package/docs/m02-milestone-executive-summary.md +0 -68
- package/index.js +0 -1947
- package/lib/cache-integration.js +0 -401
- package/lib/file-batch-processor.js +0 -401
- package/lib/performance-benchmark.js +0 -621
- package/lib/template-manager.js +0 -310
- package/scripts/validate-commands.cjs +0 -338
- /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -0
- /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_minimal_persona.md +0 -0
- /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_stats.md +0 -0
- /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_compress_with_persona.md +0 -0
- /package/{.aiwf/.claude → .claude}/commands/aiwf/aiwf_evaluate.md +0 -0
- /package/{lib → src/lib}/ai-persona-manager.js +0 -0
- /package/{lib → src/lib}/cache-system.js +0 -0
- /package/{lib → src/lib}/context-engine.js +0 -0
- /package/{lib → src/lib}/memory-profiler.js +0 -0
- /package/{lib → src/lib}/metrics-collector.js +0 -0
- /package/{lib → src/lib}/offline-detector.js +0 -0
- /package/{lib → src/lib}/task-analyzer.js +0 -0
- /package/{lib → src/lib}/template-cache-system.js +0 -0
- /package/{lib → src/lib}/template-downloader.js +0 -0
- /package/{lib → src/lib}/template-version-manager.js +0 -0
- /package/{lib → src/lib}/token-optimizer.js +0 -0
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
# Feature Ledger API Reference
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Feature Ledger API는 AIWF 프로젝트에서 기능 개발을 추적하고 관리하는 명령어들을 제공합니다. 모든 명령어는 `/project:aiwf:` 접두사를 사용합니다.
|
|
6
|
-
|
|
7
|
-
## Core Commands
|
|
8
|
-
|
|
9
|
-
### 1. create_feature_ledger
|
|
10
|
-
|
|
11
|
-
새로운 Feature Ledger를 생성합니다.
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
/project:aiwf:create_feature_ledger <feature_name> [options]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
#### Parameters
|
|
18
|
-
- `feature_name` (required): 기능 이름 (snake_case 권장)
|
|
19
|
-
|
|
20
|
-
#### Options
|
|
21
|
-
- `--milestone, -m`: 연결할 마일스톤 ID (예: M02)
|
|
22
|
-
- `--sprint, -s`: 연결할 스프린트 ID (예: S01_M02)
|
|
23
|
-
- `--priority, -p`: 우선순위 (critical|high|medium|low) - 기본값: medium
|
|
24
|
-
- `--complexity, -c`: 복잡도 (simple|moderate|complex) - 기본값: moderate
|
|
25
|
-
- `--assignee, -a`: 담당자 이름
|
|
26
|
-
- `--tags, -t`: 태그 목록 (쉼표로 구분)
|
|
27
|
-
|
|
28
|
-
#### Example
|
|
29
|
-
```bash
|
|
30
|
-
/project:aiwf:create_feature_ledger user_authentication --milestone M02 --sprint S01_M02 --priority high --complexity complex --assignee "john_doe" --tags "security,backend"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
#### Response
|
|
34
|
-
```
|
|
35
|
-
✅ Feature Ledger created successfully!
|
|
36
|
-
Feature ID: FL001
|
|
37
|
-
Title: User Authentication
|
|
38
|
-
Status: active
|
|
39
|
-
Location: .aiwf/06_FEATURE_LEDGERS/active/FL001_User_Authentication.md
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 2. update_feature_status
|
|
43
|
-
|
|
44
|
-
Feature의 상태를 업데이트합니다.
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
/project:aiwf:update_feature_status <feature_id> <new_status> [options]
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
#### Parameters
|
|
51
|
-
- `feature_id` (required): Feature ID (예: FL001)
|
|
52
|
-
- `new_status` (required): 새로운 상태 (active|completed|paused|archived)
|
|
53
|
-
|
|
54
|
-
#### Options
|
|
55
|
-
- `--comment, -c`: 상태 변경 이유나 코멘트
|
|
56
|
-
- `--completion-date`: 완료 날짜 (completed 상태일 때)
|
|
57
|
-
|
|
58
|
-
#### State Transition Rules
|
|
59
|
-
- `active` → `completed`, `paused`, `archived`
|
|
60
|
-
- `paused` → `active`, `archived`
|
|
61
|
-
- `completed` → `archived`
|
|
62
|
-
- `archived` → 다른 상태로 전환 불가
|
|
63
|
-
|
|
64
|
-
#### Example
|
|
65
|
-
```bash
|
|
66
|
-
/project:aiwf:update_feature_status FL001 completed --comment "All tests passing, merged to main" --completion-date 2025-07-09
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
#### Response
|
|
70
|
-
```
|
|
71
|
-
✅ Feature status updated!
|
|
72
|
-
Feature: FL001 - User Authentication
|
|
73
|
-
Previous Status: active → New Status: completed
|
|
74
|
-
File moved to: .aiwf/06_FEATURE_LEDGERS/completed/FL001_User_Authentication.md
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### 3. link_feature_commit
|
|
78
|
-
|
|
79
|
-
현재 Git 커밋을 Feature에 연결합니다.
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
/project:aiwf:link_feature_commit <feature_id> [options]
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
#### Parameters
|
|
86
|
-
- `feature_id` (required): Feature ID
|
|
87
|
-
|
|
88
|
-
#### Options
|
|
89
|
-
- `--commit, -c`: 특정 커밋 해시 (기본값: 현재 HEAD)
|
|
90
|
-
- `--auto-progress`: 커밋 메시지 기반 자동 진행률 업데이트
|
|
91
|
-
|
|
92
|
-
#### Supported Commit Patterns
|
|
93
|
-
- `feat(FL001):` - 기능 추가
|
|
94
|
-
- `fix(FL001):` - 버그 수정
|
|
95
|
-
- `test(FL001):` - 테스트 추가
|
|
96
|
-
- `docs(FL001):` - 문서화
|
|
97
|
-
- `[FL001]` - 일반 참조
|
|
98
|
-
|
|
99
|
-
#### Example
|
|
100
|
-
```bash
|
|
101
|
-
/project:aiwf:link_feature_commit FL001 --auto-progress
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
#### Response
|
|
105
|
-
```
|
|
106
|
-
✅ Commit linked to feature!
|
|
107
|
-
Feature: FL001
|
|
108
|
-
Commit: abc123def456
|
|
109
|
-
Message: feat(FL001): Implement JWT token generation
|
|
110
|
-
Progress updated: 45% → 55%
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### 4. feature_dashboard
|
|
114
|
-
|
|
115
|
-
Feature 개발 현황 대시보드를 생성합니다.
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
/project:aiwf:feature_dashboard [options]
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
#### Options
|
|
122
|
-
- `--milestone, -m`: 특정 마일스톤으로 필터링
|
|
123
|
-
- `--sprint, -s`: 특정 스프린트로 필터링
|
|
124
|
-
- `--assignee, -a`: 담당자로 필터링
|
|
125
|
-
- `--status`: 상태로 필터링
|
|
126
|
-
- `--format, -f`: 출력 형식 (markdown|json|html)
|
|
127
|
-
|
|
128
|
-
#### Example
|
|
129
|
-
```bash
|
|
130
|
-
/project:aiwf:feature_dashboard --milestone M02 --status active
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
#### Response
|
|
134
|
-
```markdown
|
|
135
|
-
# Feature Development Dashboard
|
|
136
|
-
|
|
137
|
-
## Summary
|
|
138
|
-
- Total Features: 12
|
|
139
|
-
- Active: 4 (33%)
|
|
140
|
-
- Completed: 7 (58%)
|
|
141
|
-
- Paused: 1 (8%)
|
|
142
|
-
|
|
143
|
-
## Active Features (4)
|
|
144
|
-
| ID | Title | Progress | Assignee | Sprint |
|
|
145
|
-
|----|-------|----------|----------|--------|
|
|
146
|
-
| FL001 | User Authentication | 70% | john_doe | S01_M02 |
|
|
147
|
-
| FL002 | Dashboard Redesign | 35% | jane_smith | S01_M02 |
|
|
148
|
-
| FL004 | API Rate Limiting | 15% | bob_jones | S02_M02 |
|
|
149
|
-
| FL005 | Search Enhancement | 50% | alice_wong | S02_M02 |
|
|
150
|
-
|
|
151
|
-
## Recent Activity
|
|
152
|
-
- FL001: New commit linked (2 hours ago)
|
|
153
|
-
- FL003: Status changed to completed (5 hours ago)
|
|
154
|
-
- FL005: Progress updated to 50% (1 day ago)
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### 5. update_feature_progress
|
|
158
|
-
|
|
159
|
-
Feature의 진행률을 업데이트합니다.
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
/project:aiwf:update_feature_progress <feature_id> <progress_percentage> [options]
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
#### Parameters
|
|
166
|
-
- `feature_id` (required): Feature ID
|
|
167
|
-
- `progress_percentage` (required): 진행률 (0-100)
|
|
168
|
-
|
|
169
|
-
#### Options
|
|
170
|
-
- `--update-checklist`: 체크리스트 항목 업데이트
|
|
171
|
-
- `--hours, -h`: 실제 작업 시간 추가
|
|
172
|
-
|
|
173
|
-
#### Example
|
|
174
|
-
```bash
|
|
175
|
-
/project:aiwf:update_feature_progress FL001 75 --hours 4
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### 6. feature_search
|
|
179
|
-
|
|
180
|
-
Feature를 검색합니다.
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
/project:aiwf:feature_search <query> [options]
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
#### Parameters
|
|
187
|
-
- `query` (required): 검색어
|
|
188
|
-
|
|
189
|
-
#### Options
|
|
190
|
-
- `--tags, -t`: 태그로 필터링
|
|
191
|
-
- `--date-range, -d`: 날짜 범위 (예: "2025-07-01:2025-07-31")
|
|
192
|
-
- `--include-archived`: 보관된 feature 포함
|
|
193
|
-
|
|
194
|
-
#### Example
|
|
195
|
-
```bash
|
|
196
|
-
/project:aiwf:feature_search "authentication" --tags "security" --date-range "2025-07-01:2025-07-31"
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### 7. feature_report
|
|
200
|
-
|
|
201
|
-
Feature 보고서를 생성합니다.
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
/project:aiwf:feature_report <report_type> [options]
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
#### Report Types
|
|
208
|
-
- `velocity`: 개발 속도 분석
|
|
209
|
-
- `burndown`: 번다운 차트
|
|
210
|
-
- `timeline`: 타임라인 뷰
|
|
211
|
-
- `dependencies`: 의존성 그래프
|
|
212
|
-
|
|
213
|
-
#### Options
|
|
214
|
-
- `--output, -o`: 출력 파일 경로
|
|
215
|
-
- `--format, -f`: 파일 형식 (pdf|html|markdown)
|
|
216
|
-
|
|
217
|
-
#### Example
|
|
218
|
-
```bash
|
|
219
|
-
/project:aiwf:feature_report velocity --milestone M02 --output "reports/velocity_M02.pdf"
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### 8. link_feature_pr
|
|
223
|
-
|
|
224
|
-
Pull Request를 Feature에 연결합니다.
|
|
225
|
-
|
|
226
|
-
```bash
|
|
227
|
-
/project:aiwf:link_feature_pr <feature_id> <pr_number> [options]
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
#### Parameters
|
|
231
|
-
- `feature_id` (required): Feature ID
|
|
232
|
-
- `pr_number` (required): PR 번호
|
|
233
|
-
|
|
234
|
-
#### Options
|
|
235
|
-
- `--auto-complete`: PR이 머지되면 자동으로 feature 완료 처리
|
|
236
|
-
|
|
237
|
-
#### Example
|
|
238
|
-
```bash
|
|
239
|
-
/project:aiwf:link_feature_pr FL001 42 --auto-complete
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
## Git Integration Commands
|
|
243
|
-
|
|
244
|
-
### 9. feature_branch
|
|
245
|
-
|
|
246
|
-
Feature 브랜치를 생성하거나 체크아웃합니다.
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
/project:aiwf:feature_branch <feature_id> [action]
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
#### Parameters
|
|
253
|
-
- `feature_id` (required): Feature ID
|
|
254
|
-
- `action` (optional): create|checkout|delete (기본값: create)
|
|
255
|
-
|
|
256
|
-
#### Example
|
|
257
|
-
```bash
|
|
258
|
-
/project:aiwf:feature_branch FL001 create
|
|
259
|
-
# Creates and checks out: feature/FL001-user-authentication
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### 10. feature_sync
|
|
263
|
-
|
|
264
|
-
Feature 정보를 Git과 동기화합니다.
|
|
265
|
-
|
|
266
|
-
```bash
|
|
267
|
-
/project:aiwf:feature_sync [options]
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
#### Options
|
|
271
|
-
- `--feature, -f`: 특정 feature만 동기화
|
|
272
|
-
- `--direction, -d`: sync 방향 (git-to-ledger|ledger-to-git|both)
|
|
273
|
-
|
|
274
|
-
#### Example
|
|
275
|
-
```bash
|
|
276
|
-
/project:aiwf:feature_sync --direction both
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
## Utility Commands
|
|
280
|
-
|
|
281
|
-
### 11. feature_template
|
|
282
|
-
|
|
283
|
-
Feature 템플릿을 관리합니다.
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
/project:aiwf:feature_template <action> [template_name]
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
#### Actions
|
|
290
|
-
- `list`: 사용 가능한 템플릿 목록
|
|
291
|
-
- `create`: 새 템플릿 생성
|
|
292
|
-
- `apply`: 템플릿 적용
|
|
293
|
-
|
|
294
|
-
#### Example
|
|
295
|
-
```bash
|
|
296
|
-
/project:aiwf:feature_template apply backend_api FL006
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
### 12. feature_archive
|
|
300
|
-
|
|
301
|
-
오래된 Feature를 보관합니다.
|
|
302
|
-
|
|
303
|
-
```bash
|
|
304
|
-
/project:aiwf:feature_archive [options]
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
#### Options
|
|
308
|
-
- `--days, -d`: N일 이상 된 completed feature 보관 (기본값: 90)
|
|
309
|
-
- `--dry-run`: 실제 실행 없이 대상 목록만 표시
|
|
310
|
-
|
|
311
|
-
#### Example
|
|
312
|
-
```bash
|
|
313
|
-
/project:aiwf:feature_archive --days 60 --dry-run
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
## Error Codes
|
|
317
|
-
|
|
318
|
-
| Code | Description | Solution |
|
|
319
|
-
|------|-------------|----------|
|
|
320
|
-
| E001 | Feature ID not found | Feature ID가 올바른지 확인 |
|
|
321
|
-
| E002 | Invalid status transition | 허용된 상태 전환 규칙 확인 |
|
|
322
|
-
| E003 | Duplicate feature ID | 다른 ID 사용 또는 기존 feature 업데이트 |
|
|
323
|
-
| E004 | Git integration failed | Git 저장소 상태 확인 |
|
|
324
|
-
| E005 | Permission denied | 파일 권한 확인 |
|
|
325
|
-
| E006 | Invalid parameter | 명령어 파라미터 형식 확인 |
|
|
326
|
-
|
|
327
|
-
## Environment Variables
|
|
328
|
-
|
|
329
|
-
| Variable | Description | Default |
|
|
330
|
-
|----------|-------------|---------|
|
|
331
|
-
| `AIWF_FEATURE_DIR` | Feature Ledger 디렉토리 경로 | `.aiwf/06_FEATURE_LEDGERS` |
|
|
332
|
-
| `AIWF_AUTO_COMMIT` | 변경사항 자동 커밋 여부 | `false` |
|
|
333
|
-
| `AIWF_DEFAULT_PRIORITY` | 기본 우선순위 | `medium` |
|
|
334
|
-
| `AIWF_DEFAULT_COMPLEXITY` | 기본 복잡도 | `moderate` |
|
|
335
|
-
|
|
336
|
-
## Best Practices
|
|
337
|
-
|
|
338
|
-
1. **Feature ID 관리**
|
|
339
|
-
- 순차적 번호 사용 (FL001, FL002, ...)
|
|
340
|
-
- 재사용 금지
|
|
341
|
-
- 의미 있는 이름 사용
|
|
342
|
-
|
|
343
|
-
2. **커밋 메시지**
|
|
344
|
-
- Feature ID 포함
|
|
345
|
-
- Conventional Commits 형식 사용
|
|
346
|
-
- 예: `feat(FL001): Add user login functionality`
|
|
347
|
-
|
|
348
|
-
3. **진행률 업데이트**
|
|
349
|
-
- 정기적으로 업데이트
|
|
350
|
-
- 체크리스트와 동기화
|
|
351
|
-
- 실제 작업 시간 기록
|
|
352
|
-
|
|
353
|
-
4. **상태 관리**
|
|
354
|
-
- 명확한 전환 이유 기록
|
|
355
|
-
- 완료 기준 명확히 정의
|
|
356
|
-
- 정기적인 상태 리뷰
|
|
357
|
-
|
|
358
|
-
5. **통합**
|
|
359
|
-
- Git 브랜치와 1:1 매핑
|
|
360
|
-
- PR과 연결
|
|
361
|
-
- 자동화 활용
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
# Feature Ledger 명령어 사용 가이드
|
|
2
|
-
|
|
3
|
-
Feature Ledger 시스템을 효과적으로 사용하기 위한 Claude Code 명령어 가이드입니다.
|
|
4
|
-
|
|
5
|
-
## 명령어 개요
|
|
6
|
-
|
|
7
|
-
Feature Ledger 시스템은 다음 5개의 핵심 명령어를 제공합니다:
|
|
8
|
-
|
|
9
|
-
1. **create_feature_ledger** - 새로운 Feature 생성
|
|
10
|
-
2. **update_feature_status** - Feature 상태 변경
|
|
11
|
-
3. **list_features** - Feature 목록 조회
|
|
12
|
-
4. **get_feature_details** - Feature 상세 정보 확인
|
|
13
|
-
5. **link_feature_to_milestone** - Feature를 마일스톤에 연결
|
|
14
|
-
|
|
15
|
-
## 명령어 상세 사용법
|
|
16
|
-
|
|
17
|
-
### 1. create_feature_ledger - Feature 생성
|
|
18
|
-
|
|
19
|
-
새로운 기능 개발을 시작할 때 Feature Ledger를 생성합니다.
|
|
20
|
-
|
|
21
|
-
**사용법:**
|
|
22
|
-
```
|
|
23
|
-
/project:aiwf:create_feature_ledger <feature_name>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**예시:**
|
|
27
|
-
```
|
|
28
|
-
/project:aiwf:create_feature_ledger user_authentication
|
|
29
|
-
/project:aiwf:create_feature_ledger "Dashboard Redesign"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**대화형 모드:**
|
|
33
|
-
인수 없이 실행하면 대화형으로 정보를 입력받습니다:
|
|
34
|
-
```
|
|
35
|
-
/project:aiwf:create_feature_ledger
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**생성 과정:**
|
|
39
|
-
1. 자동으로 다음 Feature ID 할당 (FL001, FL002...)
|
|
40
|
-
2. `.aiwf/06_FEATURE_LEDGERS/active/` 디렉토리에 파일 생성
|
|
41
|
-
3. FEATURE_LEDGER_INDEX.md 자동 업데이트
|
|
42
|
-
4. Git 브랜치 생성 명령어 제안
|
|
43
|
-
|
|
44
|
-
### 2. update_feature_status - 상태 업데이트
|
|
45
|
-
|
|
46
|
-
Feature의 개발 상태를 변경합니다.
|
|
47
|
-
|
|
48
|
-
**사용법:**
|
|
49
|
-
```
|
|
50
|
-
/project:aiwf:update_feature_status <feature_id> <new_status>
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
**지원 상태:**
|
|
54
|
-
- `active` - 현재 개발 중
|
|
55
|
-
- `completed` - 개발 완료
|
|
56
|
-
- `paused` - 일시 중지
|
|
57
|
-
- `archived` - 보관됨
|
|
58
|
-
|
|
59
|
-
**예시:**
|
|
60
|
-
```
|
|
61
|
-
/project:aiwf:update_feature_status FL001 completed
|
|
62
|
-
/project:aiwf:update_feature_status FL002 paused
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**상태 전이 규칙:**
|
|
66
|
-
- active → completed, paused, archived
|
|
67
|
-
- paused → active, archived
|
|
68
|
-
- completed → archived
|
|
69
|
-
- archived → (전이 불가)
|
|
70
|
-
|
|
71
|
-
### 3. list_features - Feature 목록 조회
|
|
72
|
-
|
|
73
|
-
Feature들을 다양한 필터로 조회합니다.
|
|
74
|
-
|
|
75
|
-
**사용법:**
|
|
76
|
-
```
|
|
77
|
-
/project:aiwf:list_features [옵션들]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**필터 옵션:**
|
|
81
|
-
- `--status=<status>` - 상태별 필터 (active, completed, paused, archived, all)
|
|
82
|
-
- `--milestone=<milestone>` - 마일스톤별 필터 (예: M02)
|
|
83
|
-
- `--assignee=<assignee>` - 담당자별 필터
|
|
84
|
-
- `--priority=<priority>` - 우선순위별 필터 (critical, high, medium, low)
|
|
85
|
-
- `--category=<category>` - 카테고리별 필터 (feature, enhancement, bugfix, refactor)
|
|
86
|
-
|
|
87
|
-
**출력 형식:**
|
|
88
|
-
- `--format=table` - 테이블 형식 (기본값)
|
|
89
|
-
- `--format=list` - 리스트 형식
|
|
90
|
-
- `--format=dashboard` - 대시보드 형식
|
|
91
|
-
|
|
92
|
-
**정렬 옵션:**
|
|
93
|
-
- `--sort=id` - Feature ID 순 (기본값)
|
|
94
|
-
- `--sort=title` - 제목 순
|
|
95
|
-
- `--sort=updated` - 최근 업데이트 순
|
|
96
|
-
- `--sort=priority` - 우선순위 순
|
|
97
|
-
- `--sort=progress` - 진행률 순
|
|
98
|
-
|
|
99
|
-
**예시:**
|
|
100
|
-
```
|
|
101
|
-
# 모든 active Feature 조회
|
|
102
|
-
/project:aiwf:list_features
|
|
103
|
-
|
|
104
|
-
# M02 마일스톤의 high 우선순위 Feature
|
|
105
|
-
/project:aiwf:list_features --milestone=M02 --priority=high
|
|
106
|
-
|
|
107
|
-
# 대시보드 형식으로 전체 현황 보기
|
|
108
|
-
/project:aiwf:list_features --status=all --format=dashboard
|
|
109
|
-
|
|
110
|
-
# 최근 업데이트 순으로 정렬
|
|
111
|
-
/project:aiwf:list_features --sort=updated
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### 4. get_feature_details - 상세 정보 조회
|
|
115
|
-
|
|
116
|
-
특정 Feature의 상세 정보를 확인합니다.
|
|
117
|
-
|
|
118
|
-
**사용법:**
|
|
119
|
-
```
|
|
120
|
-
/project:aiwf:get_feature_details <feature_id> [--format=<format>]
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
**출력 형식:**
|
|
124
|
-
- `--format=full` - 전체 정보 (기본값)
|
|
125
|
-
- `--format=summary` - 요약 정보
|
|
126
|
-
- `--format=technical` - 기술적 세부사항
|
|
127
|
-
- `--format=progress` - 진행 상황 중심
|
|
128
|
-
|
|
129
|
-
**예시:**
|
|
130
|
-
```
|
|
131
|
-
# 전체 상세 정보
|
|
132
|
-
/project:aiwf:get_feature_details FL001
|
|
133
|
-
|
|
134
|
-
# 요약 정보만 보기
|
|
135
|
-
/project:aiwf:get_feature_details FL001 --format=summary
|
|
136
|
-
|
|
137
|
-
# 기술적 세부사항 확인
|
|
138
|
-
/project:aiwf:get_feature_details FL001 --format=technical
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### 5. link_feature_to_milestone - 마일스톤 연결
|
|
142
|
-
|
|
143
|
-
Feature를 마일스톤 및 스프린트와 연결합니다.
|
|
144
|
-
|
|
145
|
-
**사용법:**
|
|
146
|
-
```
|
|
147
|
-
/project:aiwf:link_feature_to_milestone <feature_id> <milestone_id> [옵션]
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**옵션:**
|
|
151
|
-
- `--sprint=<sprint_id>` - 스프린트 연결 (복수 가능)
|
|
152
|
-
- `--tasks=<task_ids>` - 태스크 연결 (쉼표로 구분)
|
|
153
|
-
|
|
154
|
-
**예시:**
|
|
155
|
-
```
|
|
156
|
-
# 기본 마일스톤 연결
|
|
157
|
-
/project:aiwf:link_feature_to_milestone FL001 M02
|
|
158
|
-
|
|
159
|
-
# 스프린트와 함께 연결
|
|
160
|
-
/project:aiwf:link_feature_to_milestone FL001 M02 --sprint=S01_M02 --sprint=S02_M02
|
|
161
|
-
|
|
162
|
-
# 태스크까지 연결
|
|
163
|
-
/project:aiwf:link_feature_to_milestone FL001 M02 --tasks=T01_S01,T02_S01
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
## 워크플로우 예시
|
|
167
|
-
|
|
168
|
-
### 새 기능 개발 시작
|
|
169
|
-
|
|
170
|
-
1. Feature 생성:
|
|
171
|
-
```
|
|
172
|
-
/project:aiwf:create_feature_ledger authentication_system
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
2. Git 브랜치 생성:
|
|
176
|
-
```bash
|
|
177
|
-
git checkout -b feature/FL001-authentication-system
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
3. 마일스톤 연결:
|
|
181
|
-
```
|
|
182
|
-
/project:aiwf:link_feature_to_milestone FL001 M02 --sprint=S01_M02
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### 진행 상황 관리
|
|
186
|
-
|
|
187
|
-
1. Feature 목록 확인:
|
|
188
|
-
```
|
|
189
|
-
/project:aiwf:list_features --status=active --sort=progress
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
2. 상세 진행 상황 확인:
|
|
193
|
-
```
|
|
194
|
-
/project:aiwf:get_feature_details FL001 --format=progress
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
3. 완료 시 상태 업데이트:
|
|
198
|
-
```
|
|
199
|
-
/project:aiwf:update_feature_status FL001 completed
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### 프로젝트 현황 파악
|
|
203
|
-
|
|
204
|
-
1. 전체 대시보드 보기:
|
|
205
|
-
```
|
|
206
|
-
/project:aiwf:list_features --status=all --format=dashboard
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
2. 특정 마일스톤 현황:
|
|
210
|
-
```
|
|
211
|
-
/project:aiwf:list_features --milestone=M02 --format=list
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
3. 우선순위별 정렬:
|
|
215
|
-
```
|
|
216
|
-
/project:aiwf:list_features --sort=priority --status=active
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
## 팁과 모범 사례
|
|
220
|
-
|
|
221
|
-
### Feature 생성 시
|
|
222
|
-
- 명확하고 구체적인 이름 사용
|
|
223
|
-
- 적절한 우선순위 설정
|
|
224
|
-
- 관련 마일스톤과 즉시 연결
|
|
225
|
-
|
|
226
|
-
### 상태 관리
|
|
227
|
-
- 정기적으로 진행 상황 업데이트
|
|
228
|
-
- paused 상태 사용 시 이유 명시
|
|
229
|
-
- completed 전에 모든 체크리스트 확인
|
|
230
|
-
|
|
231
|
-
### 협업
|
|
232
|
-
- 담당자와 기여자 명확히 구분
|
|
233
|
-
- PR 생성 시 Feature ID 포함
|
|
234
|
-
- 커밋 메시지에 Feature ID 참조
|
|
235
|
-
|
|
236
|
-
### Git 통합
|
|
237
|
-
- 브랜치명 규칙 준수: `feature/FL###-feature-name`
|
|
238
|
-
- 커밋 메시지에 Feature ID 포함: `[FL001] Add login API`
|
|
239
|
-
- PR 제목에 Feature 참조: `FL001: Implement user authentication`
|
|
240
|
-
|
|
241
|
-
## 문제 해결
|
|
242
|
-
|
|
243
|
-
### Feature를 찾을 수 없을 때
|
|
244
|
-
```
|
|
245
|
-
/project:aiwf:list_features --status=all
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### 상태 전이가 거부될 때
|
|
249
|
-
- 상태 전이 규칙 확인
|
|
250
|
-
- 필수 조건 충족 여부 검증
|
|
251
|
-
|
|
252
|
-
### 인덱스 불일치 시
|
|
253
|
-
- 수동으로 인덱스 재생성 필요
|
|
254
|
-
- 백업 후 진행 권장
|