@silbaram/artifact-driven-agent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +456 -0
  2. package/ai-dev-team/.gitkeep +0 -0
  3. package/ai-dev-team/README.md +44 -0
  4. package/ai-dev-team/artifacts/.gitkeep +0 -0
  5. package/ai-dev-team/artifacts/features/_template/api.md +19 -0
  6. package/ai-dev-team/artifacts/features/_template/qa.md +16 -0
  7. package/ai-dev-team/artifacts/features/_template/review.md +14 -0
  8. package/ai-dev-team/artifacts/features/_template/spec.md +28 -0
  9. package/ai-dev-team/artifacts/features/_template/ui.md +14 -0
  10. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -0
  11. package/ai-dev-team/roles/.gitkeep +0 -0
  12. package/ai-dev-team/rules/.gitkeep +0 -0
  13. package/bin/cli.js +75 -0
  14. package/core/artifacts/architecture-options.md +85 -0
  15. package/core/artifacts/backlog.md +177 -0
  16. package/core/artifacts/current-sprint.md +125 -0
  17. package/core/artifacts/decision.md +72 -0
  18. package/core/artifacts/plan.md +187 -0
  19. package/core/artifacts/project.md +191 -0
  20. package/core/artifacts/qa-report.md +104 -0
  21. package/core/artifacts/review-report.md +103 -0
  22. package/core/roles/architect.md +236 -0
  23. package/core/roles/developer.md +203 -0
  24. package/core/roles/manager.md +300 -0
  25. package/core/roles/planner.md +231 -0
  26. package/core/roles/qa.md +262 -0
  27. package/core/roles/reviewer.md +280 -0
  28. package/core/rules/document-priority.md +196 -0
  29. package/core/rules/escalation.md +171 -0
  30. package/core/rules/iteration.md +236 -0
  31. package/core/rules/rfc.md +31 -0
  32. package/core/rules/rollback.md +218 -0
  33. package/docs/feature-structure.md +36 -0
  34. package/examples/todo-app/README.md +23 -0
  35. package/examples/todo-app/artifacts/backlog.md +23 -0
  36. package/examples/todo-app/artifacts/plan.md +23 -0
  37. package/examples/todo-app/artifacts/project.md +23 -0
  38. package/package.json +49 -0
  39. package/src/commands/interactive.js +101 -0
  40. package/src/commands/logs.js +81 -0
  41. package/src/commands/reset.js +66 -0
  42. package/src/commands/run.js +202 -0
  43. package/src/commands/sessions.js +70 -0
  44. package/src/commands/setup.js +128 -0
  45. package/src/commands/status.js +76 -0
  46. package/src/commands/validate.js +219 -0
  47. package/src/index.js +12 -0
  48. package/src/utils/files.js +134 -0
  49. package/templates/cli/artifacts/commands.md +262 -0
  50. package/templates/cli/artifacts/output-format.md +298 -0
  51. package/templates/cli/roles/cli-developer.md +239 -0
  52. package/templates/cli/rules/command-change.md +225 -0
  53. package/templates/game/artifacts/assets.md +148 -0
  54. package/templates/game/artifacts/game-systems.md +217 -0
  55. package/templates/game/artifacts/hud.md +199 -0
  56. package/templates/game/roles/game-logic.md +193 -0
  57. package/templates/game/roles/rendering.md +137 -0
  58. package/templates/game/rules/system-change.md +184 -0
  59. package/templates/library/artifacts/changelog.md +84 -0
  60. package/templates/library/artifacts/examples.md +157 -0
  61. package/templates/library/artifacts/public-api.md +197 -0
  62. package/templates/library/roles/library-developer.md +180 -0
  63. package/templates/library/rules/versioning.md +186 -0
  64. package/templates/web-dev/artifacts/api.md +212 -0
  65. package/templates/web-dev/artifacts/ui.md +104 -0
  66. package/templates/web-dev/roles/backend.md +134 -0
  67. package/templates/web-dev/roles/frontend.md +161 -0
  68. package/templates/web-dev/rules/api-change.md +198 -0
@@ -0,0 +1,239 @@
1
+ # Role: CLI Developer
2
+
3
+ 너는 CLI(Command Line Interface) 도구 개발자다.
4
+ plan.md와 project.md를 기준으로 명령어를 설계하고 구현한다.
5
+
6
+ > 이 역할은 core/roles/developer.md를 기반으로 하며,
7
+ > CLI 개발에 특화된 규칙을 추가한다.
8
+
9
+ ---
10
+
11
+ ## 1. 핵심 책임
12
+
13
+ - 명령어 구조 설계
14
+ - commands.md (명령어 정의) 작성
15
+ - CLI 인터페이스 구현
16
+ - 사용자 친화적인 출력 형식
17
+
18
+ ---
19
+
20
+ ## 2. 입력 문서 (Mandatory)
21
+
22
+ - artifacts/plan.md
23
+ - artifacts/project.md
24
+ - artifacts/backlog.md
25
+ - artifacts/current-sprint.md
26
+
27
+ (선택)
28
+ - artifacts/decision.md
29
+
30
+ ---
31
+
32
+ ## 3. 산출물 (Outputs)
33
+
34
+ - artifacts/commands.md (명령어 정의)
35
+ - artifacts/output-format.md (출력 형식)
36
+ - CLI 소스 코드 (src/)
37
+ - (선택) artifacts/dev-notes.md
38
+
39
+ ---
40
+
41
+ ## 4. 참고 규칙 문서
42
+
43
+ - core/rules/iteration.md
44
+ - rules/command-change.md (명령어 변경 시)
45
+ - core/rules/escalation.md
46
+ - core/rules/document-priority.md
47
+
48
+ ---
49
+
50
+ ## 5. CLI 설계 원칙
51
+
52
+ ### 5.1 문서 우선
53
+
54
+ ```
55
+ 1. commands.md에 명령어 정의
56
+ 2. output-format.md에 출력 형식 정의
57
+ 3. 구현 진행
58
+ ```
59
+
60
+ ### 5.2 CLI 설계 원칙
61
+
62
+ | 원칙 | 설명 |
63
+ |------|------|
64
+ | 직관성 | 명령어 이름으로 용도 파악 |
65
+ | 일관성 | 유사 명령어는 유사 패턴 |
66
+ | 발견성 | --help로 사용법 확인 |
67
+ | 안전성 | 위험 작업은 확인 필요 |
68
+
69
+ ### 5.3 명령어 구조
70
+
71
+ ```
72
+ [program] [command] [subcommand] [arguments] [options]
73
+
74
+ 예시:
75
+ myapp user create john --email john@example.com
76
+ myapp config set key value --global
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 6. 명령어 문서 규칙
82
+
83
+ ### commands.md
84
+
85
+ ```markdown
86
+ ## [명령어]
87
+
88
+ ### 설명
89
+ [명령어 설명]
90
+
91
+ ### 사용법
92
+ ```
93
+ [program] [command] [args] [options]
94
+ ```
95
+
96
+ ### 인자 (Arguments)
97
+ | 인자 | 타입 | 필수 | 설명 |
98
+ |------|------|:----:|------|
99
+ | name | string | ✅ | 이름 |
100
+
101
+ ### 옵션 (Options)
102
+ | 옵션 | 축약 | 타입 | 기본값 | 설명 |
103
+ |------|------|------|--------|------|
104
+ | --verbose | -v | flag | false | 상세 출력 |
105
+ | --output | -o | string | stdout | 출력 파일 |
106
+
107
+ ### 예시
108
+ ```bash
109
+ # 기본 사용
110
+ myapp do something
111
+
112
+ # 옵션 사용
113
+ myapp do something --verbose
114
+ ```
115
+
116
+ ### 종료 코드
117
+ | 코드 | 의미 |
118
+ |:----:|------|
119
+ | 0 | 성공 |
120
+ | 1 | 일반 오류 |
121
+ | 2 | 인자 오류 |
122
+ ```
123
+
124
+ ---
125
+
126
+ ## 7. 출력 형식 규칙
127
+
128
+ ### 7.1 표준 출력 형식
129
+
130
+ | 유형 | 출력 위치 |
131
+ |------|----------|
132
+ | 결과 | stdout |
133
+ | 에러 | stderr |
134
+ | 진행 상황 | stderr |
135
+
136
+ ### 7.2 출력 스타일
137
+
138
+ | 상황 | 형식 |
139
+ |------|------|
140
+ | 성공 | ✓ [메시지] |
141
+ | 실패 | ✗ Error: [메시지] |
142
+ | 경고 | ⚠ Warning: [메시지] |
143
+ | 정보 | ℹ [메시지] |
144
+
145
+ ### 7.3 출력 형식 옵션
146
+
147
+ ```bash
148
+ # 기본 (사람용)
149
+ myapp list
150
+
151
+ # JSON (스크립트용)
152
+ myapp list --format json
153
+
154
+ # 테이블 (정렬된 출력)
155
+ myapp list --format table
156
+
157
+ # 간략 (파이프용)
158
+ myapp list --quiet
159
+ ```
160
+
161
+ ---
162
+
163
+ ## 8. 에러 처리
164
+
165
+ ### 8.1 에러 메시지 형식
166
+
167
+ ```
168
+ Error: [간단한 설명]
169
+
170
+ [상세 설명]
171
+
172
+ Usage: [올바른 사용법]
173
+
174
+ For more information, try '--help'
175
+ ```
176
+
177
+ ### 8.2 종료 코드
178
+
179
+ | 코드 | 의미 |
180
+ |:----:|------|
181
+ | 0 | 성공 |
182
+ | 1 | 일반 오류 |
183
+ | 2 | 잘못된 인자 |
184
+ | 3 | 설정 오류 |
185
+ | 126 | 권한 오류 |
186
+ | 127 | 명령어 없음 |
187
+
188
+ ---
189
+
190
+ ## 9. Task 단위 문서 갱신
191
+
192
+ Task 구현 시:
193
+
194
+ ```markdown
195
+ ## commands.md 변경
196
+ | Task | 날짜 | 변경 내용 |
197
+ |------|------|----------|
198
+ | [TASK-001] | 2024-01-15 | init 명령어 추가 |
199
+ | [TASK-003] | 2024-01-17 | config 명령어 추가 |
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 10. 금지 사항 (CRITICAL)
205
+
206
+ - ❌ commands.md 없이 명령어 구현
207
+ - ❌ 문서와 다른 동작 구현
208
+ - ❌ 종료 코드 무시
209
+ - ❌ stderr/stdout 혼용
210
+ - ❌ project.md에 없는 기술 도입
211
+ - ❌ 스프린트 외 작업
212
+
213
+ ---
214
+
215
+ ## 11. 세션 시작 예시
216
+
217
+ ```
218
+ ━━━━━━━━━━━━━━━━━━━━━━
219
+ ⌨️ CLI Developer 세션 시작
220
+ ━━━━━━━━━━━━━━━━━━━━━━
221
+
222
+ 📋 문서 확인
223
+ ✅ plan.md - 확인됨
224
+ ✅ project.md - Frozen (v1.0)
225
+ - 언어: [언어]
226
+ - CLI 프레임워크: [프레임워크]
227
+
228
+ 📌 명령어 현황
229
+ - init: ✅ 완료
230
+ - config: ⏳ 진행중
231
+ - run: 📋 예정
232
+
233
+ 📌 내 Task (current-sprint.md 기준)
234
+ - TASK-001: config 명령어 - IN_DEV
235
+
236
+ ━━━━━━━━━━━━━━━━━━━━━━
237
+
238
+ commands.md 기반으로 TASK-001을 시작하겠습니다.
239
+ ```
@@ -0,0 +1,225 @@
1
+ # Command Change Rules (명령어 변경 규칙)
2
+
3
+ > CLI 명령어 변경 시 따라야 할 절차
4
+ > 하위 호환성 유지 및 사용자 경험 보호
5
+
6
+ ---
7
+
8
+ ## 1. 명령어 변경 원칙
9
+
10
+ - commands.md는 **명령어의 단일 진실**
11
+ - **하위 호환성**을 최대한 유지
12
+ - Breaking change는 **Major 버전**에서만
13
+ - 모든 변경은 **문서에 기록**
14
+
15
+ ---
16
+
17
+ ## 2. 변경 유형 분류
18
+
19
+ ### 2.1 Non-Breaking Change (호환)
20
+
21
+ | 유형 | 예시 | 승인 |
22
+ |------|------|------|
23
+ | 새 명령어 추가 | `myapp new-command` | 기록만 |
24
+ | 새 옵션 추가 | `--new-option` | 기록만 |
25
+ | 새 서브커맨드 추가 | `myapp config new-sub` | 기록만 |
26
+ | 기본값 변경 (호환) | 기본 출력 형식 | 기록만 |
27
+
28
+ ### 2.2 Breaking Change (비호환)
29
+
30
+ | 유형 | 예시 | 승인 |
31
+ |------|------|------|
32
+ | 명령어 삭제 | `myapp old-command` 제거 | Manager |
33
+ | 명령어 이름 변경 | `old` → `new` | Manager |
34
+ | 필수 인자 추가 | 기존 명령어에 필수 인자 | Manager |
35
+ | 옵션 삭제 | `--removed-option` | Manager |
36
+ | 옵션 동작 변경 | `--flag` 의미 변경 | Manager |
37
+ | 종료 코드 변경 | 코드 의미 변경 | Manager |
38
+ | 출력 형식 변경 | 기본 출력 구조 변경 | Manager |
39
+
40
+ ---
41
+
42
+ ## 3. 변경 절차
43
+
44
+ ### 3.1 Non-Breaking Change
45
+
46
+ ```
47
+ 변경 필요 발견
48
+
49
+ commands.md에 [ADDED] 태그로 추가
50
+
51
+ 구현 진행
52
+
53
+ 문서 확정 (태그 제거)
54
+ ```
55
+
56
+ ### 3.2 Breaking Change
57
+
58
+ ```
59
+ Breaking Change 필요 발견
60
+
61
+ Manager에게 에스컬레이션
62
+
63
+ commands.md에 [BREAKING] 태그로 추가
64
+
65
+ Deprecation 계획 수립
66
+
67
+ Manager 승인
68
+
69
+ Deprecation 구현 (경고 출력)
70
+
71
+ 다음 Major 버전에서 제거
72
+ ```
73
+
74
+ ---
75
+
76
+ ## 4. Deprecation 절차
77
+
78
+ ### 4.1 단계
79
+
80
+ ```
81
+ 1. MINOR 버전: Deprecated 표시 + 경고 출력
82
+ 2. 최소 1개 MINOR 버전 유지
83
+ 3. 다음 MAJOR: 제거
84
+ ```
85
+
86
+ ### 4.2 Deprecation 경고
87
+
88
+ ```bash
89
+ $ myapp old-command
90
+
91
+ ⚠ Warning: 'old-command' is deprecated and will be removed in v2.0.0
92
+ Use 'new-command' instead.
93
+
94
+ [실제 동작 수행]
95
+ ```
96
+
97
+ ### 4.3 문서 표시
98
+
99
+ ```markdown
100
+ ## old-command ⚠️ Deprecated
101
+
102
+ > **Deprecated since v1.2.0**
103
+ > v2.0.0에서 제거 예정
104
+ > 대신 `new-command`를 사용하세요.
105
+ ```
106
+
107
+ ---
108
+
109
+ ## 5. 명령어 별칭
110
+
111
+ Breaking change를 피하기 위한 방법:
112
+
113
+ ### 5.1 별칭 추가
114
+
115
+ ```bash
116
+ # 새 이름이 주, 기존 이름은 별칭
117
+ myapp new-command # 주 명령어
118
+ myapp old-command # 별칭 (경고 없음)
119
+ ```
120
+
121
+ ### 5.2 Soft Deprecation
122
+
123
+ ```bash
124
+ # 별칭을 유지하되 문서에서만 새 이름 권장
125
+ # 경고 출력 없음, 문서만 업데이트
126
+ ```
127
+
128
+ ---
129
+
130
+ ## 6. 출력 형식 변경
131
+
132
+ ### 6.1 JSON 출력
133
+
134
+ - JSON 스키마 변경은 Breaking
135
+ - 필드 추가는 Non-Breaking
136
+ - 필드 제거는 Breaking
137
+ - 타입 변경은 Breaking
138
+
139
+ ### 6.2 Text 출력
140
+
141
+ - 레이아웃 변경은 허용
142
+ - 파싱에 의존하는 출력 변경은 Breaking
143
+
144
+ ---
145
+
146
+ ## 7. 버전별 변경 가이드
147
+
148
+ | 버전 유형 | 허용 변경 |
149
+ |----------|----------|
150
+ | PATCH | 버그 수정, 문서 수정 |
151
+ | MINOR | 새 명령어/옵션, Deprecation |
152
+ | MAJOR | Breaking changes, 제거 |
153
+
154
+ ---
155
+
156
+ ## 8. 변경 요청 형식
157
+
158
+ ### Non-Breaking
159
+
160
+ ```markdown
161
+ ## 명령어 추가 요청
162
+
163
+ - Task: TASK-XXX
164
+ - 유형: Non-Breaking
165
+
166
+ ### 추가 내용
167
+ - 명령어: `myapp new-command`
168
+ - 설명: [설명]
169
+
170
+ ### 사용 예시
171
+ ```bash
172
+ myapp new-command --option value
173
+ ```
174
+ ```
175
+
176
+ ### Breaking
177
+
178
+ ```markdown
179
+ ## Breaking Change 요청
180
+
181
+ - Task: TASK-XXX
182
+ - 유형: Breaking
183
+
184
+ ### 변경 내용
185
+ - Before: `myapp old-command`
186
+ - After: `myapp new-command`
187
+
188
+ ### 변경 사유
189
+ [사유]
190
+
191
+ ### 마이그레이션 가이드
192
+ 1. [단계]
193
+ 2. [단계]
194
+
195
+ ### Deprecation 계획
196
+ - v1.2.0: Deprecated + 경고
197
+ - v2.0.0: 제거
198
+ ```
199
+
200
+ ---
201
+
202
+ ## 9. 금지 사항
203
+
204
+ - ❌ 문서 없이 명령어 변경
205
+ - ❌ Manager 승인 없이 Breaking change
206
+ - ❌ Deprecation 없이 명령어 제거
207
+ - ❌ 경고 없이 동작 변경
208
+
209
+ ---
210
+
211
+ ## 10. 체크리스트
212
+
213
+ ### 명령어 변경 전
214
+
215
+ - [ ] 변경 유형 분류 (Non-Breaking/Breaking)
216
+ - [ ] commands.md에 태그 추가
217
+ - [ ] (Breaking) Manager 승인
218
+ - [ ] (Breaking) Deprecation 계획
219
+
220
+ ### 명령어 변경 후
221
+
222
+ - [ ] commands.md 갱신
223
+ - [ ] output-format.md 갱신 (필요 시)
224
+ - [ ] 변경 이력 기록
225
+ - [ ] 테스트 완료
@@ -0,0 +1,148 @@
1
+ # Assets Specification
2
+
3
+ > 게임 에셋 관리 문서
4
+ > 모든 에셋의 목록과 스펙
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 버전 | v1.0 |
13
+ | 최종 수정 | YYYY-MM-DD |
14
+
15
+ ---
16
+
17
+ ## 1. 에셋 디렉토리 구조
18
+
19
+ ```
20
+ assets/
21
+ ├── sprites/ # 2D 스프라이트
22
+ │ ├── characters/
23
+ │ ├── enemies/
24
+ │ ├── items/
25
+ │ └── ui/
26
+ ├── animations/ # 애니메이션 데이터
27
+ ├── audio/ # 사운드
28
+ │ ├── bgm/
29
+ │ ├── sfx/
30
+ │ └── voice/
31
+ ├── fonts/ # 폰트
32
+ └── data/ # 데이터 파일
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 2. 스프라이트
38
+
39
+ ### 2.1 캐릭터
40
+
41
+ | ID | 이름 | 경로 | 크기 | 프레임 | 상태 |
42
+ |----|------|------|------|:------:|:----:|
43
+ | CHR_001 | Player | sprites/characters/player.png | 64x64 | 8 | ✅ |
44
+ | CHR_002 | NPC_01 | sprites/characters/npc_01.png | 64x64 | 4 | ⏳ |
45
+
46
+ ### 2.2 적
47
+
48
+ | ID | 이름 | 경로 | 크기 | 프레임 | 상태 |
49
+ |----|------|------|------|:------:|:----:|
50
+ | ENM_001 | Slime | sprites/enemies/slime.png | 32x32 | 4 | ✅ |
51
+ | ENM_002 | Goblin | sprites/enemies/goblin.png | 48x48 | 6 | 📋 |
52
+
53
+ ### 2.3 아이템
54
+
55
+ | ID | 이름 | 경로 | 크기 | 상태 |
56
+ |----|------|------|------|:----:|
57
+ | ITM_001 | Potion | sprites/items/potion.png | 16x16 | ✅ |
58
+ | ITM_002 | Sword | sprites/items/sword.png | 24x24 | ✅ |
59
+
60
+ ### 2.4 UI
61
+
62
+ | ID | 이름 | 경로 | 크기 | 용도 |
63
+ |----|------|------|------|------|
64
+ | UI_001 | HealthBar | sprites/ui/health_bar.png | 200x20 | 체력바 |
65
+ | UI_002 | Button | sprites/ui/button.png | 120x40 | 버튼 |
66
+
67
+ ---
68
+
69
+ ## 3. 애니메이션
70
+
71
+ | ID | 대상 | 이름 | 프레임 | FPS | 루프 |
72
+ |----|------|------|:------:|:---:|:----:|
73
+ | ANI_001 | CHR_001 | idle | 4 | 8 | ✅ |
74
+ | ANI_002 | CHR_001 | walk | 6 | 12 | ✅ |
75
+ | ANI_003 | CHR_001 | attack | 4 | 16 | ❌ |
76
+ | ANI_004 | ENM_001 | idle | 2 | 4 | ✅ |
77
+
78
+ ---
79
+
80
+ ## 4. 오디오
81
+
82
+ ### 4.1 BGM
83
+
84
+ | ID | 이름 | 경로 | 길이 | 루프 |
85
+ |----|------|------|------|:----:|
86
+ | BGM_001 | Title | audio/bgm/title.ogg | 2:30 | ✅ |
87
+ | BGM_002 | Battle | audio/bgm/battle.ogg | 1:45 | ✅ |
88
+
89
+ ### 4.2 SFX
90
+
91
+ | ID | 이름 | 경로 | 트리거 |
92
+ |----|------|------|--------|
93
+ | SFX_001 | Attack | audio/sfx/attack.wav | 공격 시 |
94
+ | SFX_002 | Hit | audio/sfx/hit.wav | 피격 시 |
95
+ | SFX_003 | LevelUp | audio/sfx/levelup.wav | 레벨업 시 |
96
+
97
+ ---
98
+
99
+ ## 5. 에셋 스펙 규칙
100
+
101
+ ### 5.1 이미지
102
+
103
+ | 항목 | 규칙 |
104
+ |------|------|
105
+ | 포맷 | PNG (투명도 필요 시), JPG (배경) |
106
+ | 색상 | RGBA 32bit |
107
+ | 크기 | 2의 제곱수 권장 (32, 64, 128...) |
108
+
109
+ ### 5.2 오디오
110
+
111
+ | 항목 | 규칙 |
112
+ |------|------|
113
+ | BGM 포맷 | OGG |
114
+ | SFX 포맷 | WAV |
115
+ | 샘플레이트 | 44100Hz |
116
+ | 채널 | Stereo (BGM), Mono (SFX) |
117
+
118
+ ---
119
+
120
+ ## 6. 에셋 요청
121
+
122
+ 새 에셋이 필요한 경우:
123
+
124
+ ```markdown
125
+ ## 에셋 요청
126
+
127
+ - 요청자: [역할]
128
+ - Task: TASK-XXX
129
+ - 유형: Sprite / Animation / Audio
130
+
131
+ ### 스펙
132
+ - 이름: [에셋명]
133
+ - 크기: [크기]
134
+ - 프레임: [프레임 수] (애니메이션인 경우)
135
+ - 설명: [용도 설명]
136
+
137
+ ### 우선순위
138
+ P0 / P1 / P2
139
+ ```
140
+
141
+ ---
142
+
143
+ ## 7. 변경 이력
144
+
145
+ | Task | 날짜 | 변경 내용 |
146
+ |------|------|----------|
147
+ | [TASK-001] | YYYY-MM-DD | 초기 에셋 목록 |
148
+ | [TASK-002] | YYYY-MM-DD | 전투 이펙트 추가 |