aiwf 0.3.15 β 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.
- package/README.ko.md +3 -4
- package/README.md +38 -3
- package/docs/API_REFERENCE_FULL.ko.md +979 -0
- package/docs/API_REFERENCE_FULL.md +979 -0
- package/docs/ARCHITECTURE.ko.md +314 -0
- package/docs/ARCHITECTURE.md +314 -0
- package/docs/GETTING_STARTED.ko.md +219 -0
- package/docs/GETTING_STARTED.md +0 -1
- package/docs/PERFORMANCE_GUIDELINES.ko.md +388 -0
- package/docs/TROUBLESHOOTING.ko.md +366 -0
- package/package.json +50 -2
- package/src/DEPENDENCY_MAP.md +90 -0
- package/src/lib/installer.js +1 -0
- package/src/lib/resources/templates/api-server/template/src/controllers/aiwfController.ts +0 -14
- package/src/lib/resources/templates/api-server/template/src/routes/aiwf.ts +0 -11
- package/src/lib/resources/templates/web-app/template/src/pages/AiwfDashboard.tsx +2 -5
- package/src/lib/resources/utils/token-reporter.js +2 -3
- package/src/utils/checkpoint-manager.js +11 -1
- package/src/utils/engineering-guard.js +11 -1
- package/templates/api-server/template/src/controllers/aiwfController.ts +0 -14
- package/templates/api-server/template/src/routes/aiwf.ts +0 -11
- package/templates/web-app/template/src/pages/AiwfDashboard.tsx +2 -5
- package/docs/guides/feature-git-integration-guide-ko.md +0 -481
- package/docs/guides/feature-git-integration-guide.md +0 -481
- package/src/commands/cache-templates.js +0 -209
- package/src/commands/create-offline.js +0 -86
- package/src/commands/state-refactored.js +0 -419
- package/src/lib/resources/commands/feature-ledger.js +0 -565
- package/src/lib/resources/commands/feature_commit_report.js +0 -370
- package/src/lib/resources/commands/scan_git_history.js +0 -234
- package/src/lib/resources/commands/sync_feature_commits.js +0 -154
- package/src/lib/resources/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
- package/src/lib/resources/utils/feature-updater.js +0 -271
- package/src/utils/git-integration.js +0 -173
- package/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -93
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react'
|
|
2
2
|
import { useAiwfStore } from '@/stores/aiwfStore'
|
|
3
|
-
import FeatureLedger from '@/components/aiwf/FeatureLedger'
|
|
4
3
|
import TokenUsage from '@/components/aiwf/TokenUsage'
|
|
5
4
|
import ContextStatus from '@/components/aiwf/ContextStatus'
|
|
6
5
|
|
|
7
6
|
export default function AiwfDashboard() {
|
|
8
|
-
const {
|
|
9
|
-
const [activeTab, setActiveTab] = useState('
|
|
7
|
+
const { tokenUsage, contextStatus, loadDashboardData } = useAiwfStore()
|
|
8
|
+
const [activeTab, setActiveTab] = useState('tokens')
|
|
10
9
|
|
|
11
10
|
useEffect(() => {
|
|
12
11
|
loadDashboardData()
|
|
13
12
|
}, [loadDashboardData])
|
|
14
13
|
|
|
15
14
|
const tabs = [
|
|
16
|
-
{ id: 'features', name: 'Feature Ledger', icon: 'π' },
|
|
17
15
|
{ id: 'tokens', name: 'ν ν° μ¬μ©λ', icon: 'πͺ' },
|
|
18
16
|
{ id: 'context', name: 'Context μν', icon: 'π' },
|
|
19
17
|
]
|
|
@@ -51,7 +49,6 @@ export default function AiwfDashboard() {
|
|
|
51
49
|
</div>
|
|
52
50
|
|
|
53
51
|
<div className="mt-8">
|
|
54
|
-
{activeTab === 'features' && <FeatureLedger features={features} />}
|
|
55
52
|
{activeTab === 'tokens' && <TokenUsage usage={tokenUsage} />}
|
|
56
53
|
{activeTab === 'context' && <ContextStatus status={contextStatus} />}
|
|
57
54
|
</div>
|
|
@@ -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
|
-
μ§μμ μΈ μ¬μ©κ³Ό ν νΌλλ°±μ ν΅ν΄ μν¬νλ‘μ°λ₯Ό κ°μ νκ³ μ΅μ ννμκΈ° λ°λλλ€.
|