aiwf 0.3.15 → 0.3.17
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 +4 -5
- package/README.md +90 -196
- package/docs/ADR_MANAGEMENT_GUIDE.ko.md +602 -0
- package/docs/ADR_MANAGEMENT_GUIDE.md +602 -0
- package/docs/API_REFERENCE_FULL.ko.md +1135 -0
- package/docs/API_REFERENCE_FULL.md +1135 -0
- package/docs/ARCHITECTURE.ko.md +314 -0
- package/docs/ARCHITECTURE.md +314 -0
- package/docs/EXAMPLES.ko.md +695 -0
- package/docs/EXAMPLES.md +12 -12
- package/docs/GETTING_STARTED.ko.md +219 -0
- package/docs/GETTING_STARTED.md +19 -26
- package/docs/MODULE_MANAGEMENT_GUIDE.ko.md +289 -0
- package/docs/MODULE_MANAGEMENT_GUIDE.md +289 -0
- package/docs/PERFORMANCE_GUIDELINES.ko.md +388 -0
- package/docs/PRD.ko.md +2 -2
- package/docs/PRD.md +2 -2
- package/docs/TROUBLESHOOTING.ko.md +366 -0
- package/docs/YOLO_SYSTEM_GUIDE.ko.md +542 -0
- package/docs/YOLO_SYSTEM_GUIDE.md +542 -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
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# AIWF Module Management Guide
|
|
2
|
+
|
|
3
|
+
> A comprehensive guide to understanding and managing AIWF's modular architecture and dependencies
|
|
4
|
+
|
|
5
|
+
[한국어](MODULE_MANAGEMENT_GUIDE.ko.md) | [English](MODULE_MANAGEMENT_GUIDE.md)
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Overview](#overview)
|
|
10
|
+
2. [Module Classification](#module-classification)
|
|
11
|
+
3. [Dependency Matrix](#dependency-matrix)
|
|
12
|
+
4. [Critical Modules](#critical-modules)
|
|
13
|
+
5. [Safe Module Management](#safe-module-management)
|
|
14
|
+
6. [Troubleshooting](#troubleshooting)
|
|
15
|
+
7. [Best Practices](#best-practices)
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
AIWF follows a modular architecture where functionality is distributed across specialized modules. Understanding the dependency relationships between these modules is crucial for:
|
|
20
|
+
|
|
21
|
+
- **Safe refactoring**: Knowing which modules can be modified without breaking others
|
|
22
|
+
- **Feature development**: Understanding where to place new functionality
|
|
23
|
+
- **Debugging**: Tracing issues through the dependency chain
|
|
24
|
+
- **Performance optimization**: Identifying bottlenecks in module loading
|
|
25
|
+
|
|
26
|
+
## Module Classification
|
|
27
|
+
|
|
28
|
+
### 🔧 Core Utilities (Critical - Never Delete)
|
|
29
|
+
|
|
30
|
+
These modules are foundational and used throughout the system:
|
|
31
|
+
|
|
32
|
+
#### `utils/paths.js`
|
|
33
|
+
- **Usage**: 8+ locations across CLI and commands
|
|
34
|
+
- **Purpose**: Centralized path management for cross-platform compatibility
|
|
35
|
+
- **Dependencies**: None
|
|
36
|
+
- **Critical for**: All file operations, template resolution, resource loading
|
|
37
|
+
|
|
38
|
+
#### `utils/messages.js`
|
|
39
|
+
- **Usage**: 5+ locations in CLI and user-facing commands
|
|
40
|
+
- **Purpose**: Multi-language message system
|
|
41
|
+
- **Dependencies**: `language-utils.js`
|
|
42
|
+
- **Critical for**: User interface, error messages, internationalization
|
|
43
|
+
|
|
44
|
+
#### `utils/language-utils.js`
|
|
45
|
+
- **Usage**: 3+ locations in language management
|
|
46
|
+
- **Purpose**: Language detection and configuration
|
|
47
|
+
- **Dependencies**: `paths.js`
|
|
48
|
+
- **Critical for**: Language switching, locale detection
|
|
49
|
+
|
|
50
|
+
### 🚀 YOLO System (Critical - Never Delete)
|
|
51
|
+
|
|
52
|
+
Specialized modules for autonomous execution:
|
|
53
|
+
|
|
54
|
+
#### `utils/engineering-guard.js`
|
|
55
|
+
- **Usage**: Dynamic import in YOLO templates
|
|
56
|
+
- **Purpose**: Prevents over-engineering during autonomous execution
|
|
57
|
+
- **Dependencies**: None (self-contained)
|
|
58
|
+
- **Critical for**: YOLO mode quality control
|
|
59
|
+
- **⚠️ Warning**: Loaded dynamically - won't show in static analysis
|
|
60
|
+
|
|
61
|
+
#### `utils/checkpoint-manager.js`
|
|
62
|
+
- **Usage**: YOLO commands and recovery systems
|
|
63
|
+
- **Purpose**: Progress tracking and recovery for autonomous execution
|
|
64
|
+
- **Dependencies**: None
|
|
65
|
+
- **Critical for**: YOLO session management, progress recovery
|
|
66
|
+
|
|
67
|
+
### 🎯 Command-Specific Modules
|
|
68
|
+
|
|
69
|
+
#### AI Persona System
|
|
70
|
+
```
|
|
71
|
+
ai-persona-manager.js (main)
|
|
72
|
+
├── context-engine.js
|
|
73
|
+
├── metrics-collector.js
|
|
74
|
+
├── task-analyzer.js
|
|
75
|
+
└── token-optimizer.js (used by context-engine)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### Installation & Backup System
|
|
79
|
+
```
|
|
80
|
+
installer.js (main)
|
|
81
|
+
├── backup-manager.js
|
|
82
|
+
├── file-downloader.js
|
|
83
|
+
├── rollback-manager.js
|
|
84
|
+
└── validator.js
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### Cache System
|
|
88
|
+
```
|
|
89
|
+
template-cache-system.js (main)
|
|
90
|
+
├── offline-detector.js
|
|
91
|
+
├── template-downloader.js
|
|
92
|
+
└── template-version-manager.js
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### GitHub Integration
|
|
96
|
+
```
|
|
97
|
+
github-integration.js (main)
|
|
98
|
+
├── state/state-index.js
|
|
99
|
+
├── state/priority-calculator.js
|
|
100
|
+
└── state/task-scanner.js
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 🌐 Shared Resources
|
|
104
|
+
|
|
105
|
+
#### `lib/resource-loader.js`
|
|
106
|
+
- **Usage**: 5+ commands (compress, token, evaluate, etc.)
|
|
107
|
+
- **Purpose**: Unified resource management for bundled and user resources
|
|
108
|
+
- **Dependencies**: `paths.js`
|
|
109
|
+
- **Critical for**: Template loading, persona management, resource resolution
|
|
110
|
+
|
|
111
|
+
## Dependency Matrix
|
|
112
|
+
|
|
113
|
+
### CLI Command Dependencies
|
|
114
|
+
|
|
115
|
+
| Command | Direct Dependencies | Indirect Dependencies | Special Notes |
|
|
116
|
+
|---------|-------------------|---------------------|---------------|
|
|
117
|
+
| `aiwf install` | installer.js | backup-manager.js, file-downloader.js, rollback-manager.js, validator.js | - |
|
|
118
|
+
| `aiwf persona` | persona.js, ai-persona-manager.js | context-engine.js, metrics-collector.js, task-analyzer.js, token-optimizer.js | - |
|
|
119
|
+
| `aiwf compress` | compress.js, resource-loader.js | - | - |
|
|
120
|
+
| `aiwf token` | token.js, resource-loader.js | - | - |
|
|
121
|
+
| `aiwf evaluate` | evaluate.js, resource-loader.js | - | - |
|
|
122
|
+
| `aiwf checkpoint` | checkpoint-manager.js | - | ⚠️ YOLO only |
|
|
123
|
+
| `aiwf-checkpoint` | checkpoint-manager.js | - | ⚠️ YOLO only |
|
|
124
|
+
| `aiwf cache` | cache-cli.js | template-cache-system.js, offline-detector.js, template-downloader.js, template-version-manager.js | - |
|
|
125
|
+
| `YOLO Mode` | engineering-guard.js | - | ⚠️ Dynamic import |
|
|
126
|
+
|
|
127
|
+
## Critical Modules
|
|
128
|
+
|
|
129
|
+
### Modules with ⚠️ Dynamic Loading
|
|
130
|
+
|
|
131
|
+
These modules are loaded at runtime and won't appear in static dependency analysis:
|
|
132
|
+
|
|
133
|
+
1. **`engineering-guard.js`**: Loaded by YOLO templates using `import()`
|
|
134
|
+
2. **State system modules**: Used by GitHub integration
|
|
135
|
+
3. **Persona sub-modules**: Loaded based on active persona
|
|
136
|
+
|
|
137
|
+
### Deletion Risk Assessment
|
|
138
|
+
|
|
139
|
+
#### ❌ Never Delete
|
|
140
|
+
- `paths.js`, `messages.js`, `language-utils.js` (core utilities)
|
|
141
|
+
- `engineering-guard.js`, `checkpoint-manager.js` (YOLO system)
|
|
142
|
+
- `resource-loader.js` (shared by multiple commands)
|
|
143
|
+
|
|
144
|
+
#### ⚠️ Delete with Caution
|
|
145
|
+
- AI Persona system modules (check if persona commands are used)
|
|
146
|
+
- Cache system modules (affects offline functionality)
|
|
147
|
+
- GitHub integration modules (affects GitHub commands)
|
|
148
|
+
|
|
149
|
+
#### ✅ Conditional Deletion
|
|
150
|
+
- Command-specific modules can be deleted if the corresponding command is unused
|
|
151
|
+
- Template-specific resources can be removed if templates are not needed
|
|
152
|
+
|
|
153
|
+
## Safe Module Management
|
|
154
|
+
|
|
155
|
+
### Before Modifying Any Module
|
|
156
|
+
|
|
157
|
+
1. **Check the Dependency Map**: Review `src/DEPENDENCY_MAP.md`
|
|
158
|
+
2. **Search for Usage**: Use `grep -r "module-name" src/` to find all references
|
|
159
|
+
3. **Check for Dynamic Imports**: Search for `import()` statements
|
|
160
|
+
4. **Verify CLI Integration**: Check if module is used in CLI commands
|
|
161
|
+
5. **Test YOLO Functionality**: Ensure YOLO mode still works if modifying YOLO modules
|
|
162
|
+
|
|
163
|
+
### Safe Modification Steps
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# 1. Check static dependencies
|
|
167
|
+
grep -r "your-module.js" src/
|
|
168
|
+
|
|
169
|
+
# 2. Check dynamic imports
|
|
170
|
+
grep -r "import.*your-module" src/
|
|
171
|
+
|
|
172
|
+
# 3. Check YOLO integration
|
|
173
|
+
grep -r "your-module" claude-code/
|
|
174
|
+
|
|
175
|
+
# 4. Verify CLI command mapping
|
|
176
|
+
grep -r "your-module" src/cli/
|
|
177
|
+
|
|
178
|
+
# 5. Test critical functionality
|
|
179
|
+
npm test
|
|
180
|
+
aiwf install --force
|
|
181
|
+
aiwf-checkpoint list
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Module Addition Guidelines
|
|
185
|
+
|
|
186
|
+
When adding new modules:
|
|
187
|
+
|
|
188
|
+
1. **Update Dependency Map**: Add entry to `src/DEPENDENCY_MAP.md`
|
|
189
|
+
2. **Add Warning Comments**: Include `@warning` comments for critical modules
|
|
190
|
+
3. **Document Usage**: Specify which commands or systems use the module
|
|
191
|
+
4. **Consider Dynamic Loading**: Mark if module uses `import()` for lazy loading
|
|
192
|
+
5. **Test Integration**: Verify module works in both development and production
|
|
193
|
+
|
|
194
|
+
## Troubleshooting
|
|
195
|
+
|
|
196
|
+
### Common Issues
|
|
197
|
+
|
|
198
|
+
#### "Module not found" Errors
|
|
199
|
+
```bash
|
|
200
|
+
# Check if module exists
|
|
201
|
+
ls -la src/utils/your-module.js
|
|
202
|
+
|
|
203
|
+
# Check if path is correct in imports
|
|
204
|
+
grep -r "your-module" src/
|
|
205
|
+
|
|
206
|
+
# Verify module exports
|
|
207
|
+
node -e "console.log(require('./src/utils/your-module.js'))"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### YOLO Mode Failures
|
|
211
|
+
```bash
|
|
212
|
+
# Check engineering-guard availability
|
|
213
|
+
ls -la src/utils/engineering-guard.js
|
|
214
|
+
|
|
215
|
+
# Test dynamic import
|
|
216
|
+
node -e "import('./src/utils/engineering-guard.js').then(m => console.log('OK'))"
|
|
217
|
+
|
|
218
|
+
# Verify checkpoint system
|
|
219
|
+
aiwf checkpoint status
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### Circular Dependencies
|
|
223
|
+
```bash
|
|
224
|
+
# Detect circular dependencies
|
|
225
|
+
npm install -g madge
|
|
226
|
+
madge --circular src/
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Recovery Procedures
|
|
230
|
+
|
|
231
|
+
#### If Core Utility is Accidentally Deleted
|
|
232
|
+
1. Restore from git: `git checkout HEAD -- src/utils/paths.js`
|
|
233
|
+
2. Reinstall AIWF: `aiwf install --force`
|
|
234
|
+
3. Verify functionality: `aiwf --version`
|
|
235
|
+
|
|
236
|
+
#### If YOLO System is Broken
|
|
237
|
+
1. Check YOLO config: `cat .aiwf/yolo-config.yaml`
|
|
238
|
+
2. Restore checkpoint manager: `git checkout HEAD -- src/utils/checkpoint-manager.js`
|
|
239
|
+
3. Test YOLO mode: `aiwf-checkpoint status`
|
|
240
|
+
|
|
241
|
+
## Best Practices
|
|
242
|
+
|
|
243
|
+
### Module Development
|
|
244
|
+
|
|
245
|
+
1. **Single Responsibility**: Each module should have one clear purpose
|
|
246
|
+
2. **Minimal Dependencies**: Avoid unnecessary dependencies to reduce coupling
|
|
247
|
+
3. **Clear Interfaces**: Export only necessary functions/classes
|
|
248
|
+
4. **Documentation**: Include usage comments and dependency information
|
|
249
|
+
5. **Error Handling**: Gracefully handle missing dependencies
|
|
250
|
+
|
|
251
|
+
### Dependency Management
|
|
252
|
+
|
|
253
|
+
1. **Regular Audits**: Periodically review and update dependency map
|
|
254
|
+
2. **Impact Analysis**: Before changes, analyze potential impact on dependent modules
|
|
255
|
+
3. **Testing Strategy**: Test both direct and indirect dependencies
|
|
256
|
+
4. **Version Control**: Use git to track module changes and dependencies
|
|
257
|
+
5. **Documentation**: Keep dependency documentation up-to-date
|
|
258
|
+
|
|
259
|
+
### Performance Considerations
|
|
260
|
+
|
|
261
|
+
1. **Lazy Loading**: Use dynamic imports for non-critical modules
|
|
262
|
+
2. **Caching**: Cache frequently accessed modules
|
|
263
|
+
3. **Bundle Optimization**: Consider module size when adding dependencies
|
|
264
|
+
4. **Tree Shaking**: Ensure modules support dead code elimination
|
|
265
|
+
|
|
266
|
+
## Module Integration Checklist
|
|
267
|
+
|
|
268
|
+
When integrating new modules or modifying existing ones:
|
|
269
|
+
|
|
270
|
+
- [ ] Updated `src/DEPENDENCY_MAP.md`
|
|
271
|
+
- [ ] Added appropriate warning comments
|
|
272
|
+
- [ ] Documented usage patterns
|
|
273
|
+
- [ ] Tested in both CLI and YOLO modes
|
|
274
|
+
- [ ] Verified resource loading works
|
|
275
|
+
- [ ] Checked for circular dependencies
|
|
276
|
+
- [ ] Updated relevant documentation
|
|
277
|
+
- [ ] Added integration tests if needed
|
|
278
|
+
|
|
279
|
+
## Related Documents
|
|
280
|
+
|
|
281
|
+
- [DEPENDENCY_MAP.md](../src/DEPENDENCY_MAP.md) - Detailed dependency matrix
|
|
282
|
+
- [ARCHITECTURE.md](ARCHITECTURE.md) - Overall system architecture
|
|
283
|
+
- [DEVELOPMENT_GUIDE.md](DEVELOPMENT_GUIDE.md) - Development guidelines
|
|
284
|
+
- [YOLO_SYSTEM_GUIDE.md](YOLO_SYSTEM_GUIDE.md) - YOLO system specifics
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
**Last Updated**: 2025-01-27
|
|
289
|
+
**Verification Method**: Use `grep -r "module-name" src/` to verify usage patterns
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
# AIWF 성능 가이드라인
|
|
2
|
+
|
|
3
|
+
[한국어](PERFORMANCE_GUIDELINES.ko.md) | [English](PERFORMANCE_GUIDELINES.md)
|
|
4
|
+
|
|
5
|
+
> AIWF 프로젝트의 성능을 최적화하기 위한 모범 사례와 가이드라인
|
|
6
|
+
|
|
7
|
+
## 📋 목차
|
|
8
|
+
|
|
9
|
+
1. [개요](#개요)
|
|
10
|
+
2. [토큰 최적화](#토큰-최적화)
|
|
11
|
+
3. [파일 시스템 성능](#파일-시스템-성능)
|
|
12
|
+
4. [상태 관리 최적화](#상태-관리-최적화)
|
|
13
|
+
5. [메모리 관리](#메모리-관리)
|
|
14
|
+
6. [명령어 실행 최적화](#명령어-실행-최적화)
|
|
15
|
+
7. [AI 상호작용 최적화](#ai-상호작용-최적화)
|
|
16
|
+
8. [모니터링과 프로파일링](#모니터링과-프로파일링)
|
|
17
|
+
|
|
18
|
+
## 개요
|
|
19
|
+
|
|
20
|
+
AIWF의 성능은 다음 요소들에 의해 결정됩니다:
|
|
21
|
+
- AI 모델과의 토큰 교환량
|
|
22
|
+
- 파일 시스템 작업 효율성
|
|
23
|
+
- 상태 관리 오버헤드
|
|
24
|
+
- 메모리 사용량
|
|
25
|
+
- 명령어 실행 시간
|
|
26
|
+
|
|
27
|
+
이 가이드는 각 영역에서 성능을 최적화하는 방법을 설명합니다.
|
|
28
|
+
|
|
29
|
+
## 토큰 최적화
|
|
30
|
+
|
|
31
|
+
### 컨텍스트 압축 전략
|
|
32
|
+
|
|
33
|
+
토큰 사용량을 줄이는 것은 비용과 성능 모두에 중요합니다.
|
|
34
|
+
|
|
35
|
+
#### 1. 적절한 압축 레벨 선택
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# 최소 압축 (중요 정보 보존)
|
|
39
|
+
aiwf compress minimal
|
|
40
|
+
|
|
41
|
+
# 균형 압축 (권장)
|
|
42
|
+
aiwf compress balanced
|
|
43
|
+
|
|
44
|
+
# 공격적 압축 (최대 토큰 절약)
|
|
45
|
+
aiwf compress aggressive
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### 2. 페르소나 기반 압축
|
|
49
|
+
|
|
50
|
+
활성 페르소나에 맞춰 관련 정보만 보존:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# 백엔드 작업 시
|
|
54
|
+
aiwf persona apply backend
|
|
55
|
+
aiwf compress with-persona
|
|
56
|
+
|
|
57
|
+
# 프론트엔드 작업 시
|
|
58
|
+
aiwf persona apply frontend
|
|
59
|
+
aiwf compress with-persona
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### 3. 파일 필터링
|
|
63
|
+
|
|
64
|
+
불필요한 파일 제외:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# .aiwfignore 파일 생성
|
|
68
|
+
cat > .aiwfignore << EOF
|
|
69
|
+
# 빌드 산출물
|
|
70
|
+
dist/
|
|
71
|
+
build/
|
|
72
|
+
*.min.js
|
|
73
|
+
*.map
|
|
74
|
+
|
|
75
|
+
# 의존성
|
|
76
|
+
node_modules/
|
|
77
|
+
vendor/
|
|
78
|
+
|
|
79
|
+
# 로그 및 캐시
|
|
80
|
+
*.log
|
|
81
|
+
.cache/
|
|
82
|
+
coverage/
|
|
83
|
+
|
|
84
|
+
# 대용량 파일
|
|
85
|
+
*.jpg
|
|
86
|
+
*.png
|
|
87
|
+
*.mp4
|
|
88
|
+
*.zip
|
|
89
|
+
EOF
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 토큰 사용량 모니터링
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# 현재 세션 토큰 사용량
|
|
96
|
+
aiwf token status
|
|
97
|
+
|
|
98
|
+
# 일일 리포트
|
|
99
|
+
aiwf token report daily
|
|
100
|
+
|
|
101
|
+
# 주간 리포트
|
|
102
|
+
aiwf token report weekly
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 토큰 한도 설정
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# 세션당 한도 설정
|
|
109
|
+
aiwf token limit session 50000
|
|
110
|
+
|
|
111
|
+
# 일일 한도 설정
|
|
112
|
+
aiwf token limit daily 200000
|
|
113
|
+
|
|
114
|
+
# 경고 임계값 설정
|
|
115
|
+
aiwf token limit warning 0.8
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 파일 시스템 성능
|
|
119
|
+
|
|
120
|
+
### 인덱싱 최적화
|
|
121
|
+
|
|
122
|
+
#### 1. 선택적 인덱싱
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# 특정 디렉토리만 인덱싱
|
|
126
|
+
aiwf index --include src/ docs/
|
|
127
|
+
|
|
128
|
+
# 특정 파일 타입만 인덱싱
|
|
129
|
+
aiwf index --types js,ts,md
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### 2. 인덱스 캐싱
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# 인덱스 캐시 활성화
|
|
136
|
+
aiwf config set index.cache true
|
|
137
|
+
|
|
138
|
+
# 캐시 TTL 설정 (초 단위)
|
|
139
|
+
aiwf config set index.cacheTTL 3600
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 파일 감시 최적화
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# 감시 제외 패턴 설정
|
|
146
|
+
aiwf config set watch.ignore "node_modules/**,dist/**"
|
|
147
|
+
|
|
148
|
+
# 디바운스 시간 설정 (밀리초)
|
|
149
|
+
aiwf config set watch.debounce 500
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 상태 관리 최적화
|
|
153
|
+
|
|
154
|
+
### 상태 파일 크기 관리
|
|
155
|
+
|
|
156
|
+
#### 1. 정기적인 정리
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# 완료된 태스크 아카이브
|
|
160
|
+
aiwf state archive --older-than 30d
|
|
161
|
+
|
|
162
|
+
# 상태 파일 압축
|
|
163
|
+
aiwf state compact
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### 2. 증분 업데이트
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# 전체 업데이트 대신 증분 업데이트 사용
|
|
170
|
+
aiwf state update --incremental
|
|
171
|
+
|
|
172
|
+
# 특정 스프린트만 업데이트
|
|
173
|
+
aiwf state update --sprint S01
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 상태 검증 최적화
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# 빠른 검증 (기본 체크만)
|
|
180
|
+
aiwf state validate --quick
|
|
181
|
+
|
|
182
|
+
# 비동기 검증
|
|
183
|
+
aiwf state validate --async
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## 메모리 관리
|
|
187
|
+
|
|
188
|
+
### Node.js 메모리 설정
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# 힙 메모리 증가
|
|
192
|
+
export NODE_OPTIONS="--max-old-space-size=4096"
|
|
193
|
+
|
|
194
|
+
# 또는 .aiwf/config.json에 설정
|
|
195
|
+
{
|
|
196
|
+
"performance": {
|
|
197
|
+
"nodeOptions": "--max-old-space-size=4096"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 메모리 누수 방지
|
|
203
|
+
|
|
204
|
+
#### 1. 리소스 정리
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# 임시 파일 정리
|
|
208
|
+
aiwf cleanup temp
|
|
209
|
+
|
|
210
|
+
# 오래된 체크포인트 제거
|
|
211
|
+
aiwf checkpoint prune --keep-last 5
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
#### 2. 캐시 관리
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
# 캐시 크기 제한
|
|
218
|
+
aiwf config set cache.maxSize "100MB"
|
|
219
|
+
|
|
220
|
+
# 캐시 정리
|
|
221
|
+
aiwf cache clear
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## 명령어 실행 최적화
|
|
225
|
+
|
|
226
|
+
### 병렬 처리
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# 병렬 태스크 실행
|
|
230
|
+
aiwf task run --parallel 4
|
|
231
|
+
|
|
232
|
+
# 독립적인 스프린트 병렬 실행
|
|
233
|
+
aiwf sprint run S01 S02 --parallel
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 배치 작업
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# 여러 태스크 일괄 생성
|
|
240
|
+
aiwf task create-batch tasks.json
|
|
241
|
+
|
|
242
|
+
# 일괄 상태 업데이트
|
|
243
|
+
aiwf state update-batch
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### 지연 로딩
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# 필요시에만 리소스 로드
|
|
250
|
+
aiwf config set lazy.loading true
|
|
251
|
+
|
|
252
|
+
# 명령어별 지연 로딩
|
|
253
|
+
aiwf config set lazy.commands true
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## AI 상호작용 최적화
|
|
257
|
+
|
|
258
|
+
### 효율적인 프롬프트
|
|
259
|
+
|
|
260
|
+
#### 1. 프롬프트 템플릿 사용
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
# 프롬프트 템플릿 생성
|
|
264
|
+
aiwf prompt create backend-api
|
|
265
|
+
|
|
266
|
+
# 템플릿 재사용
|
|
267
|
+
aiwf task create --prompt-template backend-api
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
#### 2. 컨텍스트 재사용
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# 컨텍스트 캐싱 활성화
|
|
274
|
+
aiwf config set ai.contextCache true
|
|
275
|
+
|
|
276
|
+
# 캐시 수명 설정
|
|
277
|
+
aiwf config set ai.contextCacheTTL 1800
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### 응답 최적화
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# 응답 길이 제한
|
|
284
|
+
aiwf config set ai.maxResponseTokens 2000
|
|
285
|
+
|
|
286
|
+
# 스트리밍 응답 활성화
|
|
287
|
+
aiwf config set ai.streaming true
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## 모니터링과 프로파일링
|
|
291
|
+
|
|
292
|
+
### 성능 메트릭
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
# 성능 모니터링 활성화
|
|
296
|
+
aiwf monitor start
|
|
297
|
+
|
|
298
|
+
# 실시간 메트릭 보기
|
|
299
|
+
aiwf monitor status
|
|
300
|
+
|
|
301
|
+
# 성능 리포트 생성
|
|
302
|
+
aiwf monitor report
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### 프로파일링
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
# CPU 프로파일링
|
|
309
|
+
aiwf profile cpu --duration 30s
|
|
310
|
+
|
|
311
|
+
# 메모리 프로파일링
|
|
312
|
+
aiwf profile memory
|
|
313
|
+
|
|
314
|
+
# 프로파일 분석
|
|
315
|
+
aiwf profile analyze
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 벤치마크
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# 기본 벤치마크 실행
|
|
322
|
+
aiwf benchmark
|
|
323
|
+
|
|
324
|
+
# 특정 명령어 벤치마크
|
|
325
|
+
aiwf benchmark --command "state update"
|
|
326
|
+
|
|
327
|
+
# 비교 벤치마크
|
|
328
|
+
aiwf benchmark --compare v0.3.0
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
## 모범 사례 체크리스트
|
|
332
|
+
|
|
333
|
+
### 일일 최적화
|
|
334
|
+
- [ ] 토큰 사용량 확인
|
|
335
|
+
- [ ] 임시 파일 정리
|
|
336
|
+
- [ ] 캐시 상태 확인
|
|
337
|
+
|
|
338
|
+
### 주간 최적화
|
|
339
|
+
- [ ] 상태 파일 압축
|
|
340
|
+
- [ ] 오래된 체크포인트 정리
|
|
341
|
+
- [ ] 성능 리포트 검토
|
|
342
|
+
|
|
343
|
+
### 월간 최적화
|
|
344
|
+
- [ ] 전체 인덱스 재구축
|
|
345
|
+
- [ ] 완료된 태스크 아카이브
|
|
346
|
+
- [ ] 성능 벤치마크 실행
|
|
347
|
+
|
|
348
|
+
## 성능 문제 해결
|
|
349
|
+
|
|
350
|
+
### 느린 시작 시간
|
|
351
|
+
|
|
352
|
+
1. **원인 파악**:
|
|
353
|
+
```bash
|
|
354
|
+
aiwf debug startup
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
2. **해결책**:
|
|
358
|
+
- 지연 로딩 활성화
|
|
359
|
+
- 불필요한 플러그인 제거
|
|
360
|
+
- 캐시 프리로드
|
|
361
|
+
|
|
362
|
+
### 높은 메모리 사용
|
|
363
|
+
|
|
364
|
+
1. **메모리 프로파일**:
|
|
365
|
+
```bash
|
|
366
|
+
aiwf profile memory --heap-snapshot
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
2. **해결책**:
|
|
370
|
+
- 캐시 크기 제한
|
|
371
|
+
- 리소스 풀 크기 조정
|
|
372
|
+
- 가비지 컬렉션 튜닝
|
|
373
|
+
|
|
374
|
+
### 느린 파일 작업
|
|
375
|
+
|
|
376
|
+
1. **I/O 분석**:
|
|
377
|
+
```bash
|
|
378
|
+
aiwf debug io
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
2. **해결책**:
|
|
382
|
+
- SSD 사용
|
|
383
|
+
- 파일 감시 최적화
|
|
384
|
+
- 배치 I/O 작업
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
💡 **프로 팁**: 성능 최적화는 지속적인 과정입니다. 정기적으로 모니터링하고 조정하세요!
|
package/docs/PRD.ko.md
CHANGED
|
@@ -88,7 +88,7 @@ your_project/
|
|
|
88
88
|
├── .claude/commands/aiwf/ # Claude Code 사용자 정의 명령어
|
|
89
89
|
│ ├── initialize.md # 프로젝트 초기화
|
|
90
90
|
│ ├── prime_context.md # 컨텍스트 로딩
|
|
91
|
-
│ ├──
|
|
91
|
+
│ ├── aiwf_create_milestone_plan.md # 마일스톤 계획
|
|
92
92
|
│ ├── create_sprints_from_milestone.md # 스프린트 생성
|
|
93
93
|
│ ├── do_task.md # 태스크 실행
|
|
94
94
|
│ ├── commit.md # Git 커밋 워크플로우
|
|
@@ -115,7 +115,7 @@ your_project/
|
|
|
115
115
|
### 명령어 시스템
|
|
116
116
|
이 프레임워크는 AI 지원 개발을 위한 25개 이상의 전문 명령어를 포함합니다:
|
|
117
117
|
- **설정**: `initialize`, `prime`, `prime_context`
|
|
118
|
-
- **계획**: `
|
|
118
|
+
- **계획**: `aiwf_create_milestone_plan`, `aiwf_create_sprints_from_milestone`, `aiwf_create_sprint_tasks`
|
|
119
119
|
- **개발**: `do_task`, `commit`, `test`, `code_review`
|
|
120
120
|
- **자동화**: `yolo` (자율 태스크 실행)
|
|
121
121
|
- **GitHub 통합**: `issue_create`, `pr_create`
|
package/docs/PRD.md
CHANGED
|
@@ -90,7 +90,7 @@ your_project/
|
|
|
90
90
|
├── .claude/commands/aiwf/ # Claude Code custom commands
|
|
91
91
|
│ ├── initialize.md # Project initialization
|
|
92
92
|
│ ├── prime_context.md # Context loading
|
|
93
|
-
│ ├──
|
|
93
|
+
│ ├── aiwf_create_milestone_plan.md # Milestone planning
|
|
94
94
|
│ ├── create_sprints_from_milestone.md # Sprint creation
|
|
95
95
|
│ ├── do_task.md # Task execution
|
|
96
96
|
│ ├── commit.md # Git commit workflow
|
|
@@ -117,7 +117,7 @@ your_project/
|
|
|
117
117
|
### Command System
|
|
118
118
|
The framework includes 25+ specialized commands for AI-assisted development:
|
|
119
119
|
- **Setup**: `initialize`, `prime`, `prime_context`
|
|
120
|
-
- **Planning**: `
|
|
120
|
+
- **Planning**: `aiwf_create_milestone_plan`, `aiwf_create_sprints_from_milestone`, `aiwf_create_sprint_tasks`
|
|
121
121
|
- **Development**: `do_task`, `commit`, `test`, `code_review`
|
|
122
122
|
- **Automation**: `yolo` (autonomous task execution)
|
|
123
123
|
- **GitHub Integration**: `issue_create`, `pr_create`
|