aiwf 0.3.16 → 0.3.18
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 +1 -1
- package/README.md +88 -229
- package/docs/ADR_MANAGEMENT_GUIDE.ko.md +602 -0
- package/docs/ADR_MANAGEMENT_GUIDE.md +602 -0
- package/docs/API_REFERENCE_FULL.ko.md +160 -4
- package/docs/API_REFERENCE_FULL.md +160 -4
- package/docs/EXAMPLES.ko.md +695 -0
- package/docs/EXAMPLES.md +12 -12
- package/docs/GETTING_STARTED.md +19 -25
- package/docs/MODULE_MANAGEMENT_GUIDE.ko.md +289 -0
- package/docs/MODULE_MANAGEMENT_GUIDE.md +289 -0
- package/docs/PRD.ko.md +2 -2
- package/docs/PRD.md +2 -2
- package/docs/YOLO_SYSTEM_GUIDE.ko.md +542 -0
- package/docs/YOLO_SYSTEM_GUIDE.md +542 -0
- package/package.json +1 -1
- package/src/config/file-lists.js +5 -5
- package/templates/README.md +0 -78
- package/templates/api-server/config.json +0 -64
- package/templates/api-server/template/.aiwf/config.json +0 -56
- package/templates/api-server/template/.aiwf/feature-ledger.json +0 -42
- package/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -40
- package/templates/api-server/template/.aiwf/scripts/cli.js +0 -111
- package/templates/api-server/template/.env.example +0 -29
- package/templates/api-server/template/.eslintrc.json +0 -23
- package/templates/api-server/template/README.md +0 -171
- package/templates/api-server/template/jest.config.js +0 -26
- package/templates/api-server/template/nodemon.json +0 -9
- package/templates/api-server/template/package.json +0 -61
- package/templates/api-server/template/src/app.ts +0 -60
- package/templates/api-server/template/src/config/swagger.ts +0 -38
- package/templates/api-server/template/src/controllers/aiwfController.ts +0 -54
- package/templates/api-server/template/src/controllers/authController.ts +0 -128
- package/templates/api-server/template/src/controllers/statusController.ts +0 -28
- package/templates/api-server/template/src/index.ts +0 -28
- package/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -50
- package/templates/api-server/template/src/middleware/authMiddleware.ts +0 -41
- package/templates/api-server/template/src/middleware/errorHandler.ts +0 -42
- package/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -14
- package/templates/api-server/template/src/middleware/requestLogger.ts +0 -20
- package/templates/api-server/template/src/routes/aiwf.ts +0 -31
- package/templates/api-server/template/src/routes/index.ts +0 -13
- package/templates/api-server/template/src/routes/v1/index.ts +0 -67
- package/templates/api-server/template/src/utils/logger.ts +0 -37
- package/templates/api-server/template/tests/app.test.ts +0 -40
- package/templates/api-server/template/tsconfig.json +0 -43
- package/templates/npm-library/config.json +0 -61
- package/templates/npm-library/template/LICENSE +0 -21
- package/templates/npm-library/template/README.md +0 -201
- package/templates/npm-library/template/package.json +0 -78
- package/templates/web-app/config.json +0 -53
- package/templates/web-app/template/.aiwf/config.json +0 -54
- package/templates/web-app/template/.aiwf/feature-ledger.json +0 -37
- package/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -40
- package/templates/web-app/template/.aiwf/scripts/cli.js +0 -110
- package/templates/web-app/template/.eslintrc.cjs +0 -20
- package/templates/web-app/template/README.md +0 -151
- package/templates/web-app/template/index.html +0 -14
- package/templates/web-app/template/package.json +0 -44
- package/templates/web-app/template/postcss.config.js +0 -6
- package/templates/web-app/template/public/vite.svg +0 -1
- package/templates/web-app/template/src/App.tsx +0 -21
- package/templates/web-app/template/src/components/Layout.tsx +0 -57
- package/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -107
- package/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -71
- package/templates/web-app/template/src/index.css +0 -60
- package/templates/web-app/template/src/main.tsx +0 -10
- package/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -57
- package/templates/web-app/template/src/pages/HomePage.tsx +0 -89
- package/templates/web-app/template/src/pages/NotFound.tsx +0 -25
- package/templates/web-app/template/src/stores/aiwfStore.ts +0 -126
- package/templates/web-app/template/src/types/global.d.ts +0 -9
- package/templates/web-app/template/src/vite-env.d.ts +0 -1
- package/templates/web-app/template/tailwind.config.js +0 -30
- package/templates/web-app/template/tsconfig.json +0 -37
- package/templates/web-app/template/tsconfig.node.json +0 -10
- package/templates/web-app/template/vite.config.ts +0 -23
- /package/rules/global/{code-style-guide.md → aiwf-code-style-guide.md} +0 -0
- /package/rules/global/{coding-principles.md → aiwf-coding-principles.md} +0 -0
- /package/rules/global/{development-process.md → aiwf-development-process.md} +0 -0
- /package/rules/global/{global-rules.md → aiwf-global-rules.md} +0 -0
- /package/rules/manual/{generate-plan-docs.md → aiwf-generate-plan-docs.md} +0 -0
package/docs/EXAMPLES.md
CHANGED
|
@@ -38,13 +38,13 @@ aiwf install
|
|
|
38
38
|
#### Step 2: Define Project Vision
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
/project:aiwf:
|
|
41
|
+
/project:aiwf:aiwf_create_prd "E-commerce Platform" "Modern e-commerce solution with AI-powered recommendations"
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
#### Step 3: Plan First Milestone
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
/project:aiwf:
|
|
47
|
+
/project:aiwf:aiwf_create_milestone_plan "MVP Core Features"
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
**Claude Code will help you define:**
|
|
@@ -75,7 +75,7 @@ aiwf install
|
|
|
75
75
|
"Please design the overall architecture for our e-commerce platform"
|
|
76
76
|
|
|
77
77
|
# Create feature for authentication
|
|
78
|
-
/project:aiwf:
|
|
78
|
+
/project:aiwf:aiwf_create_general_task "User Authentication System"
|
|
79
79
|
# Returns: FL001
|
|
80
80
|
|
|
81
81
|
# Create Git branch
|
|
@@ -94,7 +94,7 @@ git checkout -b feature/FL001-user-authentication
|
|
|
94
94
|
#### Step 1: Create Feature Entry
|
|
95
95
|
|
|
96
96
|
```bash
|
|
97
|
-
/project:aiwf:
|
|
97
|
+
/project:aiwf:aiwf_create_general_task "Real-time Notification System"
|
|
98
98
|
# Returns: FL002
|
|
99
99
|
|
|
100
100
|
# Create detailed feature specification
|
|
@@ -159,7 +159,7 @@ npm test
|
|
|
159
159
|
"Create API documentation for the notification endpoints"
|
|
160
160
|
|
|
161
161
|
# Generate feature changelog
|
|
162
|
-
|
|
162
|
+
# Feature changelog command has been removed - use aiwf_project_review instead
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
#### Step 7: Complete Feature
|
|
@@ -174,7 +174,7 @@ gh pr create --title "[FL002] Real-time Notification System" \
|
|
|
174
174
|
--body "Implements WebSocket-based real-time notifications"
|
|
175
175
|
|
|
176
176
|
# Update feature status
|
|
177
|
-
|
|
177
|
+
# Feature status commands have been removed - use aiwf_smart_complete instead
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
---
|
|
@@ -219,7 +219,7 @@ EOF
|
|
|
219
219
|
**Developer A: Authentication Service**
|
|
220
220
|
```bash
|
|
221
221
|
# Create feature
|
|
222
|
-
/project:aiwf:
|
|
222
|
+
/project:aiwf:aiwf_create_general_task "Authentication Microservice"
|
|
223
223
|
# FL003
|
|
224
224
|
|
|
225
225
|
# Work on auth service
|
|
@@ -231,7 +231,7 @@ git checkout -b feature/FL003-auth-service
|
|
|
231
231
|
**Developer B: Product Service**
|
|
232
232
|
```bash
|
|
233
233
|
# Create feature
|
|
234
|
-
/project:aiwf:
|
|
234
|
+
/project:aiwf:aiwf_create_general_task "Product Catalog Microservice"
|
|
235
235
|
# FL004
|
|
236
236
|
|
|
237
237
|
# Work on product service
|
|
@@ -375,12 +375,12 @@ if (regression.hasRegression) {
|
|
|
375
375
|
|
|
376
376
|
```bash
|
|
377
377
|
# Create milestone for modernization
|
|
378
|
-
/project:aiwf:
|
|
378
|
+
/project:aiwf:aiwf_create_milestone_plan "Legacy System Modernization"
|
|
379
379
|
|
|
380
380
|
# Break down into features
|
|
381
|
-
/project:aiwf:
|
|
382
|
-
/project:aiwf:
|
|
383
|
-
/project:aiwf:
|
|
381
|
+
/project:aiwf:aiwf_create_general_task "Database Migration" # T001
|
|
382
|
+
/project:aiwf:aiwf_create_general_task "API Modernization" # T002
|
|
383
|
+
/project:aiwf:aiwf_create_general_task "Frontend Refactoring" # T003
|
|
384
384
|
```
|
|
385
385
|
|
|
386
386
|
#### Step 3: Incremental Refactoring
|
package/docs/GETTING_STARTED.md
CHANGED
|
@@ -92,7 +92,7 @@ Claude will help you set up the project structure and create initial documentati
|
|
|
92
92
|
### Step 2: Define Your Project Vision
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
|
-
/project:aiwf:
|
|
95
|
+
/project:aiwf:aiwf_create_prd "Task Manager" "A simple task management app with CRUD operations"
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
This creates:
|
|
@@ -102,7 +102,7 @@ This creates:
|
|
|
102
102
|
### Step 3: Plan Your First Milestone
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
/project:aiwf:
|
|
105
|
+
/project:aiwf:aiwf_create_milestone_plan "Basic Task Management"
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
Claude will guide you through:
|
|
@@ -197,7 +197,7 @@ my-project/
|
|
|
197
197
|
|
|
198
198
|
| Command | Description |
|
|
199
199
|
|---------|-------------|
|
|
200
|
-
| `/project:aiwf:
|
|
200
|
+
| `/project:aiwf:aiwf_create_milestone_plan` | Create a new milestone |
|
|
201
201
|
| `/project:aiwf:create_sprints_from_milestone` | Generate sprints |
|
|
202
202
|
| `/project:aiwf:sprint_status` | Check sprint progress |
|
|
203
203
|
|
|
@@ -210,13 +210,12 @@ my-project/
|
|
|
210
210
|
| `/project:aiwf:list_tasks` | List tasks in sprint |
|
|
211
211
|
| `/project:aiwf:complete_task` | Mark task as done |
|
|
212
212
|
|
|
213
|
-
###
|
|
213
|
+
### GitHub Integration
|
|
214
214
|
|
|
215
215
|
| Command | Description |
|
|
216
216
|
|---------|-------------|
|
|
217
|
-
| `/project:aiwf:
|
|
218
|
-
| `/project:aiwf:
|
|
219
|
-
| `/project:aiwf:feature_changelog` | Generate feature changelog |
|
|
217
|
+
| `/project:aiwf:aiwf_issue_create` | Create GitHub issue |
|
|
218
|
+
| `/project:aiwf:aiwf_pr_create` | Create pull request |
|
|
220
219
|
|
|
221
220
|
### AI Personas
|
|
222
221
|
|
|
@@ -224,25 +223,20 @@ AIWF includes an AI Persona system that optimizes Claude Code's behavior for dif
|
|
|
224
223
|
|
|
225
224
|
| Command | Description |
|
|
226
225
|
|---------|-------------|
|
|
227
|
-
| `/project:aiwf:
|
|
228
|
-
| `/project:aiwf:
|
|
229
|
-
| `/project:aiwf:
|
|
230
|
-
| `/project:aiwf:
|
|
231
|
-
| `/project:aiwf:
|
|
232
|
-
| `/project:aiwf:ai_persona:developer` | General development (default) |
|
|
226
|
+
| `/project:aiwf:aiwf_persona_architect` | System design and architecture |
|
|
227
|
+
| `/project:aiwf:aiwf_persona_security` | Security-focused development |
|
|
228
|
+
| `/project:aiwf:aiwf_persona_frontend` | Frontend development |
|
|
229
|
+
| `/project:aiwf:aiwf_persona_backend` | Backend development |
|
|
230
|
+
| `/project:aiwf:aiwf_persona_data_analyst` | Data analysis and insights |
|
|
233
231
|
|
|
234
|
-
####
|
|
232
|
+
#### Core Workflow Commands
|
|
235
233
|
|
|
236
234
|
| Command | Description |
|
|
237
235
|
|---------|-------------|
|
|
238
|
-
| `/project:aiwf:
|
|
239
|
-
| `/project:aiwf:
|
|
240
|
-
| `/project:aiwf:
|
|
241
|
-
| `/project:aiwf:
|
|
242
|
-
| `/project:aiwf:ai_persona:detect <task>` | Detect optimal persona for task |
|
|
243
|
-
| `/project:aiwf:ai_persona:report` | Generate performance report |
|
|
244
|
-
| `/project:aiwf:ai_persona:stats [persona]` | View persona statistics |
|
|
245
|
-
| `/project:aiwf:ai_persona:reset` | Reset to default persona |
|
|
236
|
+
| `/project:aiwf:aiwf_yolo` | Autonomous task execution |
|
|
237
|
+
| `/project:aiwf:aiwf_code_review` | Automated code review |
|
|
238
|
+
| `/project:aiwf:aiwf_test` | Run project tests |
|
|
239
|
+
| `/project:aiwf:aiwf_validate_state` | Validate workflow state |
|
|
246
240
|
|
|
247
241
|
See the [AI Personas Guide](guides/ai-personas-guide.md) for detailed information.
|
|
248
242
|
|
|
@@ -436,9 +430,9 @@ echo "Custom rules" > .aiwf/personas/custom.json
|
|
|
436
430
|
## Quick Reference Card
|
|
437
431
|
|
|
438
432
|
```bash
|
|
439
|
-
# Start new
|
|
440
|
-
/project:aiwf:
|
|
441
|
-
git checkout -b feature/
|
|
433
|
+
# Start new task
|
|
434
|
+
/project:aiwf:aiwf_create_general_task "Feature Name" # → T001
|
|
435
|
+
git checkout -b feature/T001-feature-name
|
|
442
436
|
|
|
443
437
|
# Work on tasks
|
|
444
438
|
/project:aiwf:list_tasks S01
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# AIWF 모듈 관리 가이드
|
|
2
|
+
|
|
3
|
+
> AIWF의 모듈러 아키텍처와 의존성을 이해하고 관리하기 위한 종합 가이드
|
|
4
|
+
|
|
5
|
+
[한국어](MODULE_MANAGEMENT_GUIDE.ko.md) | [English](MODULE_MANAGEMENT_GUIDE.md)
|
|
6
|
+
|
|
7
|
+
## 목차
|
|
8
|
+
|
|
9
|
+
1. [개요](#개요)
|
|
10
|
+
2. [모듈 분류](#모듈-분류)
|
|
11
|
+
3. [의존성 매트릭스](#의존성-매트릭스)
|
|
12
|
+
4. [중요 모듈](#중요-모듈)
|
|
13
|
+
5. [안전한 모듈 관리](#안전한-모듈-관리)
|
|
14
|
+
6. [문제 해결](#문제-해결)
|
|
15
|
+
7. [모범 사례](#모범-사례)
|
|
16
|
+
|
|
17
|
+
## 개요
|
|
18
|
+
|
|
19
|
+
AIWF는 기능이 전문화된 모듈들에 분산되어 있는 모듈러 아키텍처를 따릅니다. 이러한 모듈들 간의 의존성 관계를 이해하는 것은 다음과 같은 작업에 중요합니다:
|
|
20
|
+
|
|
21
|
+
- **안전한 리팩토링**: 다른 모듈을 깨뜨리지 않고 수정할 수 있는 모듈 파악
|
|
22
|
+
- **기능 개발**: 새로운 기능을 어디에 배치할지 이해
|
|
23
|
+
- **디버깅**: 의존성 체인을 통한 문제 추적
|
|
24
|
+
- **성능 최적화**: 모듈 로딩의 병목 지점 식별
|
|
25
|
+
|
|
26
|
+
## 모듈 분류
|
|
27
|
+
|
|
28
|
+
### 🔧 핵심 유틸리티 (중요 - 절대 삭제 금지)
|
|
29
|
+
|
|
30
|
+
시스템 전체에서 사용되는 기반 모듈들:
|
|
31
|
+
|
|
32
|
+
#### `utils/paths.js`
|
|
33
|
+
- **사용처**: CLI 및 명령어 전반 8개 이상 위치
|
|
34
|
+
- **목적**: 크로스 플랫폼 호환을 위한 중앙화된 경로 관리
|
|
35
|
+
- **의존성**: 없음
|
|
36
|
+
- **중요한 이유**: 모든 파일 작업, 템플릿 해결, 리소스 로딩
|
|
37
|
+
|
|
38
|
+
#### `utils/messages.js`
|
|
39
|
+
- **사용처**: CLI 및 사용자 대면 명령어 5개 이상 위치
|
|
40
|
+
- **목적**: 다국어 메시지 시스템
|
|
41
|
+
- **의존성**: `language-utils.js`
|
|
42
|
+
- **중요한 이유**: 사용자 인터페이스, 오류 메시지, 국제화
|
|
43
|
+
|
|
44
|
+
#### `utils/language-utils.js`
|
|
45
|
+
- **사용처**: 언어 관리 3개 이상 위치
|
|
46
|
+
- **목적**: 언어 감지 및 설정
|
|
47
|
+
- **의존성**: `paths.js`
|
|
48
|
+
- **중요한 이유**: 언어 전환, 로케일 감지
|
|
49
|
+
|
|
50
|
+
### 🚀 YOLO 시스템 (중요 - 절대 삭제 금지)
|
|
51
|
+
|
|
52
|
+
자율 실행을 위한 전문 모듈들:
|
|
53
|
+
|
|
54
|
+
#### `utils/engineering-guard.js`
|
|
55
|
+
- **사용처**: YOLO 템플릿에서 동적 import
|
|
56
|
+
- **목적**: 자율 실행 중 오버엔지니어링 방지
|
|
57
|
+
- **의존성**: 없음 (자체 포함)
|
|
58
|
+
- **중요한 이유**: YOLO 모드 품질 제어
|
|
59
|
+
- **⚠️ 경고**: 동적 로딩 - 정적 분석에서 보이지 않음
|
|
60
|
+
|
|
61
|
+
#### `utils/checkpoint-manager.js`
|
|
62
|
+
- **사용처**: YOLO 명령어 및 복구 시스템
|
|
63
|
+
- **목적**: 자율 실행을 위한 진행률 추적 및 복구
|
|
64
|
+
- **의존성**: 없음
|
|
65
|
+
- **중요한 이유**: YOLO 세션 관리, 진행률 복구
|
|
66
|
+
|
|
67
|
+
### 🎯 명령어별 전용 모듈
|
|
68
|
+
|
|
69
|
+
#### AI 페르소나 시스템
|
|
70
|
+
```
|
|
71
|
+
ai-persona-manager.js (메인)
|
|
72
|
+
├── context-engine.js
|
|
73
|
+
├── metrics-collector.js
|
|
74
|
+
├── task-analyzer.js
|
|
75
|
+
└── token-optimizer.js (context-engine에서 사용)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### 설치 및 백업 시스템
|
|
79
|
+
```
|
|
80
|
+
installer.js (메인)
|
|
81
|
+
├── backup-manager.js
|
|
82
|
+
├── file-downloader.js
|
|
83
|
+
├── rollback-manager.js
|
|
84
|
+
└── validator.js
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### 캐시 시스템
|
|
88
|
+
```
|
|
89
|
+
template-cache-system.js (메인)
|
|
90
|
+
├── offline-detector.js
|
|
91
|
+
├── template-downloader.js
|
|
92
|
+
└── template-version-manager.js
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### GitHub 통합
|
|
96
|
+
```
|
|
97
|
+
github-integration.js (메인)
|
|
98
|
+
├── state/state-index.js
|
|
99
|
+
├── state/priority-calculator.js
|
|
100
|
+
└── state/task-scanner.js
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 🌐 공유 리소스
|
|
104
|
+
|
|
105
|
+
#### `lib/resource-loader.js`
|
|
106
|
+
- **사용처**: 5개 이상 명령어 (compress, token, evaluate 등)
|
|
107
|
+
- **목적**: 번들 및 사용자 리소스를 위한 통합 리소스 관리
|
|
108
|
+
- **의존성**: `paths.js`
|
|
109
|
+
- **중요한 이유**: 템플릿 로딩, 페르소나 관리, 리소스 해결
|
|
110
|
+
|
|
111
|
+
## 의존성 매트릭스
|
|
112
|
+
|
|
113
|
+
### CLI 명령어 의존성
|
|
114
|
+
|
|
115
|
+
| 명령어 | 직접 의존성 | 간접 의존성 | 특수 사항 |
|
|
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 전용 |
|
|
123
|
+
| `aiwf-checkpoint` | checkpoint-manager.js | - | ⚠️ YOLO 전용 |
|
|
124
|
+
| `aiwf cache` | cache-cli.js | template-cache-system.js, offline-detector.js, template-downloader.js, template-version-manager.js | - |
|
|
125
|
+
| `YOLO 모드` | engineering-guard.js | - | ⚠️ 동적 import |
|
|
126
|
+
|
|
127
|
+
## 중요 모듈
|
|
128
|
+
|
|
129
|
+
### ⚠️ 동적 로딩 모듈
|
|
130
|
+
|
|
131
|
+
런타임에 로드되며 정적 의존성 분석에서 나타나지 않는 모듈들:
|
|
132
|
+
|
|
133
|
+
1. **`engineering-guard.js`**: YOLO 템플릿에서 `import()` 사용
|
|
134
|
+
2. **상태 시스템 모듈들**: GitHub 통합에서 사용
|
|
135
|
+
3. **페르소나 하위 모듈들**: 활성 페르소나에 따라 로드
|
|
136
|
+
|
|
137
|
+
### 삭제 위험도 평가
|
|
138
|
+
|
|
139
|
+
#### ❌ 절대 삭제 금지
|
|
140
|
+
- `paths.js`, `messages.js`, `language-utils.js` (핵심 유틸리티)
|
|
141
|
+
- `engineering-guard.js`, `checkpoint-manager.js` (YOLO 시스템)
|
|
142
|
+
- `resource-loader.js` (여러 명령어에서 공유)
|
|
143
|
+
|
|
144
|
+
#### ⚠️ 주의해서 삭제
|
|
145
|
+
- AI 페르소나 시스템 모듈들 (페르소나 명령어 사용 여부 확인)
|
|
146
|
+
- 캐시 시스템 모듈들 (오프라인 기능에 영향)
|
|
147
|
+
- GitHub 통합 모듈들 (GitHub 명령어에 영향)
|
|
148
|
+
|
|
149
|
+
#### ✅ 조건부 삭제 가능
|
|
150
|
+
- 명령어별 전용 모듈들 (해당 명령어가 사용되지 않는 경우)
|
|
151
|
+
- 템플릿별 리소스들 (템플릿이 필요하지 않은 경우)
|
|
152
|
+
|
|
153
|
+
## 안전한 모듈 관리
|
|
154
|
+
|
|
155
|
+
### 모듈 수정 전 확인 사항
|
|
156
|
+
|
|
157
|
+
1. **의존성 맵 확인**: `src/DEPENDENCY_MAP.md` 검토
|
|
158
|
+
2. **사용처 검색**: `grep -r "모듈명" src/`로 모든 참조 확인
|
|
159
|
+
3. **동적 import 확인**: `import()` 구문 검색
|
|
160
|
+
4. **CLI 통합 확인**: CLI 명령어에서의 모듈 사용 여부 확인
|
|
161
|
+
5. **YOLO 기능 검증**: YOLO 모듈 수정 시 YOLO 모드 작동 확인
|
|
162
|
+
|
|
163
|
+
### 안전한 수정 단계
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# 1. 정적 의존성 확인
|
|
167
|
+
grep -r "your-module.js" src/
|
|
168
|
+
|
|
169
|
+
# 2. 동적 import 확인
|
|
170
|
+
grep -r "import.*your-module" src/
|
|
171
|
+
|
|
172
|
+
# 3. YOLO 통합 확인
|
|
173
|
+
grep -r "your-module" claude-code/
|
|
174
|
+
|
|
175
|
+
# 4. CLI 명령어 매핑 확인
|
|
176
|
+
grep -r "your-module" src/cli/
|
|
177
|
+
|
|
178
|
+
# 5. 중요 기능 테스트
|
|
179
|
+
npm test
|
|
180
|
+
aiwf install --force
|
|
181
|
+
aiwf-checkpoint list
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 모듈 추가 가이드라인
|
|
185
|
+
|
|
186
|
+
새 모듈 추가 시:
|
|
187
|
+
|
|
188
|
+
1. **의존성 맵 업데이트**: `src/DEPENDENCY_MAP.md`에 항목 추가
|
|
189
|
+
2. **경고 주석 추가**: 중요 모듈에 `@warning` 주석 포함
|
|
190
|
+
3. **사용처 문서화**: 어떤 명령어나 시스템에서 사용하는지 명시
|
|
191
|
+
4. **동적 로딩 고려**: `import()` 지연 로딩 사용 시 표시
|
|
192
|
+
5. **통합 테스트**: 개발 및 프로덕션 환경에서 모듈 작동 확인
|
|
193
|
+
|
|
194
|
+
## 문제 해결
|
|
195
|
+
|
|
196
|
+
### 일반적인 문제들
|
|
197
|
+
|
|
198
|
+
#### "Module not found" 오류
|
|
199
|
+
```bash
|
|
200
|
+
# 모듈 존재 확인
|
|
201
|
+
ls -la src/utils/your-module.js
|
|
202
|
+
|
|
203
|
+
# import 경로 정확성 확인
|
|
204
|
+
grep -r "your-module" src/
|
|
205
|
+
|
|
206
|
+
# 모듈 export 확인
|
|
207
|
+
node -e "console.log(require('./src/utils/your-module.js'))"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### YOLO 모드 실패
|
|
211
|
+
```bash
|
|
212
|
+
# engineering-guard 가용성 확인
|
|
213
|
+
ls -la src/utils/engineering-guard.js
|
|
214
|
+
|
|
215
|
+
# 동적 import 테스트
|
|
216
|
+
node -e "import('./src/utils/engineering-guard.js').then(m => console.log('OK'))"
|
|
217
|
+
|
|
218
|
+
# 체크포인트 시스템 확인
|
|
219
|
+
aiwf checkpoint status
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### 순환 의존성
|
|
223
|
+
```bash
|
|
224
|
+
# 순환 의존성 감지
|
|
225
|
+
npm install -g madge
|
|
226
|
+
madge --circular src/
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### 복구 절차
|
|
230
|
+
|
|
231
|
+
#### 핵심 유틸리티 실수로 삭제한 경우
|
|
232
|
+
1. git에서 복원: `git checkout HEAD -- src/utils/paths.js`
|
|
233
|
+
2. AIWF 재설치: `aiwf install --force`
|
|
234
|
+
3. 기능 확인: `aiwf --version`
|
|
235
|
+
|
|
236
|
+
#### YOLO 시스템이 손상된 경우
|
|
237
|
+
1. YOLO 설정 확인: `cat .aiwf/yolo-config.yaml`
|
|
238
|
+
2. 체크포인트 매니저 복원: `git checkout HEAD -- src/utils/checkpoint-manager.js`
|
|
239
|
+
3. YOLO 모드 테스트: `aiwf-checkpoint status`
|
|
240
|
+
|
|
241
|
+
## 모범 사례
|
|
242
|
+
|
|
243
|
+
### 모듈 개발
|
|
244
|
+
|
|
245
|
+
1. **단일 책임**: 각 모듈은 하나의 명확한 목적을 가져야 함
|
|
246
|
+
2. **최소 의존성**: 결합도를 줄이기 위해 불필요한 의존성 피하기
|
|
247
|
+
3. **명확한 인터페이스**: 필요한 함수/클래스만 export
|
|
248
|
+
4. **문서화**: 사용법 주석 및 의존성 정보 포함
|
|
249
|
+
5. **오류 처리**: 누락된 의존성을 우아하게 처리
|
|
250
|
+
|
|
251
|
+
### 의존성 관리
|
|
252
|
+
|
|
253
|
+
1. **정기 감사**: 의존성 맵을 주기적으로 검토하고 업데이트
|
|
254
|
+
2. **영향 분석**: 변경 전 종속 모듈에 대한 잠재적 영향 분석
|
|
255
|
+
3. **테스트 전략**: 직접 및 간접 의존성 모두 테스트
|
|
256
|
+
4. **버전 제어**: git을 사용하여 모듈 변경 및 의존성 추적
|
|
257
|
+
5. **문서화**: 의존성 문서를 최신 상태로 유지
|
|
258
|
+
|
|
259
|
+
### 성능 고려사항
|
|
260
|
+
|
|
261
|
+
1. **지연 로딩**: 중요하지 않은 모듈에 동적 import 사용
|
|
262
|
+
2. **캐싱**: 자주 액세스하는 모듈 캐시
|
|
263
|
+
3. **번들 최적화**: 의존성 추가 시 모듈 크기 고려
|
|
264
|
+
4. **트리 셰이킹**: 모듈이 데드 코드 제거를 지원하는지 확인
|
|
265
|
+
|
|
266
|
+
## 모듈 통합 체크리스트
|
|
267
|
+
|
|
268
|
+
새 모듈 통합 또는 기존 모듈 수정 시:
|
|
269
|
+
|
|
270
|
+
- [ ] `src/DEPENDENCY_MAP.md` 업데이트
|
|
271
|
+
- [ ] 적절한 경고 주석 추가
|
|
272
|
+
- [ ] 사용 패턴 문서화
|
|
273
|
+
- [ ] CLI 및 YOLO 모드에서 테스트
|
|
274
|
+
- [ ] 리소스 로딩 작동 확인
|
|
275
|
+
- [ ] 순환 의존성 확인
|
|
276
|
+
- [ ] 관련 문서 업데이트
|
|
277
|
+
- [ ] 필요 시 통합 테스트 추가
|
|
278
|
+
|
|
279
|
+
## 관련 문서
|
|
280
|
+
|
|
281
|
+
- [DEPENDENCY_MAP.md](../src/DEPENDENCY_MAP.md) - 상세 의존성 매트릭스
|
|
282
|
+
- [ARCHITECTURE.md](ARCHITECTURE.ko.md) - 전체 시스템 아키텍처
|
|
283
|
+
- [DEVELOPMENT_GUIDE.md](DEVELOPMENT_GUIDE.ko.md) - 개발 가이드라인
|
|
284
|
+
- [YOLO_SYSTEM_GUIDE.md](YOLO_SYSTEM_GUIDE.ko.md) - YOLO 시스템 세부사항
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
**마지막 업데이트**: 2025-01-27
|
|
289
|
+
**검증 방법**: `grep -r "모듈명" src/`를 사용하여 사용 패턴 확인
|