@silbaram/artifact-driven-agent 0.1.9 → 0.2.3

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 (222) hide show
  1. package/README.md +296 -25
  2. package/ai-dev-team/.ada-status.template.json +10 -10
  3. package/ai-dev-team/README.md +39 -44
  4. package/ai-dev-team/artifacts/api.md +2 -212
  5. package/ai-dev-team/artifacts/features/_template/api.md +19 -19
  6. package/ai-dev-team/artifacts/features/_template/review.md +14 -14
  7. package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
  8. package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
  9. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -57
  10. package/ai-dev-team/artifacts/project.md +2 -193
  11. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
  12. package/core/artifacts/decision.md +72 -72
  13. package/core/artifacts/plan.md +187 -187
  14. package/core/artifacts/project.md +193 -193
  15. package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
  16. package/core/artifacts/sprints/_template/meta.md +54 -54
  17. package/core/artifacts/sprints/_template/retrospective.md +50 -50
  18. package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
  19. package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
  20. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -29
  21. package/core/docs-templates/mkdocs/docs/changelog.md +36 -36
  22. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -60
  23. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -51
  24. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -41
  25. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -56
  26. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -83
  27. package/core/docs-templates/mkdocs/docs/index.md +32 -32
  28. package/core/docs-templates/mkdocs/mkdocs.yml +86 -86
  29. package/core/roles/analyzer.md +265 -265
  30. package/core/roles/developer.md +6 -1
  31. package/core/roles/documenter.md +226 -715
  32. package/core/roles/improver.md +461 -461
  33. package/core/roles/manager.md +574 -544
  34. package/core/roles/planner.md +398 -398
  35. package/core/roles/reviewer.md +294 -294
  36. package/core/rules/document-priority.md +198 -198
  37. package/core/rules/escalation.md +172 -172
  38. package/core/rules/iteration.md +236 -236
  39. package/core/rules/rfc.md +31 -31
  40. package/core/rules/rollback.md +218 -218
  41. package/core/skills/_template/SKILL.md +50 -0
  42. package/core/skills/clean-code/SKILL.md +177 -0
  43. package/core/skills/code-review-checklist/SKILL.md +125 -0
  44. package/core/skills/error-handling/SKILL.md +155 -0
  45. package/core/skills/talk-game-dot-design/SKILL.md +85 -0
  46. package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
  47. package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
  48. package/core/skills/task-writing/SKILL.md +166 -0
  49. package/core/skills/testing-patterns/SKILL.md +140 -0
  50. package/dist/bin/cli.d.ts +2 -0
  51. package/dist/bin/cli.js +121 -0
  52. package/dist/bin/cli.js.map +1 -0
  53. package/dist/src/commands/config.d.ts +4 -0
  54. package/dist/src/commands/config.js +427 -0
  55. package/dist/src/commands/config.js.map +1 -0
  56. package/dist/src/commands/docs.d.ts +12 -0
  57. package/dist/src/commands/docs.js +453 -0
  58. package/dist/src/commands/docs.js.map +1 -0
  59. package/dist/src/commands/interactive.d.ts +4 -0
  60. package/dist/src/commands/interactive.js +380 -0
  61. package/dist/src/commands/interactive.js.map +1 -0
  62. package/dist/src/commands/logs.d.ts +1 -0
  63. package/dist/src/commands/logs.js +76 -0
  64. package/dist/src/commands/logs.js.map +1 -0
  65. package/dist/src/commands/monitor.d.ts +6 -0
  66. package/dist/src/commands/monitor.js +216 -0
  67. package/dist/src/commands/monitor.js.map +1 -0
  68. package/dist/src/commands/reset.d.ts +4 -0
  69. package/dist/src/commands/reset.js +57 -0
  70. package/dist/src/commands/reset.js.map +1 -0
  71. package/dist/src/commands/run.d.ts +45 -0
  72. package/dist/src/commands/run.js +421 -0
  73. package/dist/src/commands/run.js.map +1 -0
  74. package/dist/src/commands/sessions.d.ts +5 -0
  75. package/dist/src/commands/sessions.js +563 -0
  76. package/dist/src/commands/sessions.js.map +1 -0
  77. package/dist/src/commands/setup.d.ts +1 -0
  78. package/dist/src/commands/setup.js +132 -0
  79. package/dist/src/commands/setup.js.map +1 -0
  80. package/dist/src/commands/skills.d.ts +4 -0
  81. package/dist/src/commands/skills.js +748 -0
  82. package/dist/src/commands/skills.js.map +1 -0
  83. package/dist/src/commands/sprint.d.ts +4 -0
  84. package/dist/src/commands/sprint.js +434 -0
  85. package/dist/src/commands/sprint.js.map +1 -0
  86. package/dist/src/commands/status.d.ts +1 -0
  87. package/dist/src/commands/status.js +97 -0
  88. package/dist/src/commands/status.js.map +1 -0
  89. package/dist/src/commands/upgrade.d.ts +6 -0
  90. package/dist/src/commands/upgrade.js +350 -0
  91. package/dist/src/commands/upgrade.js.map +1 -0
  92. package/dist/src/commands/validate.d.ts +8 -0
  93. package/dist/src/commands/validate.js +260 -0
  94. package/dist/src/commands/validate.js.map +1 -0
  95. package/dist/src/commands/validate.test.d.ts +1 -0
  96. package/dist/src/commands/validate.test.js +74 -0
  97. package/dist/src/commands/validate.test.js.map +1 -0
  98. package/{src/index.js → dist/src/index.d.ts} +1 -3
  99. package/dist/src/index.js +15 -0
  100. package/dist/src/index.js.map +1 -0
  101. package/dist/src/types/common.d.ts +31 -0
  102. package/dist/src/types/common.js +2 -0
  103. package/dist/src/types/common.js.map +1 -0
  104. package/dist/src/types/config.d.ts +46 -0
  105. package/dist/src/types/config.js +2 -0
  106. package/dist/src/types/config.js.map +1 -0
  107. package/dist/src/types/index.d.ts +53 -0
  108. package/dist/src/types/index.js +2 -0
  109. package/dist/src/types/index.js.map +1 -0
  110. package/dist/src/types/session.d.ts +87 -0
  111. package/dist/src/types/session.js +2 -0
  112. package/dist/src/types/session.js.map +1 -0
  113. package/dist/src/types/task.d.ts +32 -0
  114. package/dist/src/types/task.js +2 -0
  115. package/dist/src/types/task.js.map +1 -0
  116. package/dist/src/ui/dashboard.d.ts +9 -0
  117. package/dist/src/ui/dashboard.js +468 -0
  118. package/dist/src/ui/dashboard.js.map +1 -0
  119. package/dist/src/ui/keyHandler.d.ts +47 -0
  120. package/dist/src/ui/keyHandler.js +132 -0
  121. package/dist/src/ui/keyHandler.js.map +1 -0
  122. package/dist/src/ui/quickActions.d.ts +25 -0
  123. package/dist/src/ui/quickActions.js +106 -0
  124. package/dist/src/ui/quickActions.js.map +1 -0
  125. package/dist/src/utils/config.d.ts +33 -0
  126. package/dist/src/utils/config.js +135 -0
  127. package/dist/src/utils/config.js.map +1 -0
  128. package/dist/src/utils/files.d.ts +84 -0
  129. package/dist/src/utils/files.js +202 -0
  130. package/dist/src/utils/files.js.map +1 -0
  131. package/dist/src/utils/promptBuilder.d.ts +39 -0
  132. package/dist/src/utils/promptBuilder.js +726 -0
  133. package/dist/src/utils/promptBuilder.js.map +1 -0
  134. package/dist/src/utils/sessionState.d.ts +83 -0
  135. package/dist/src/utils/sessionState.js +466 -0
  136. package/dist/src/utils/sessionState.js.map +1 -0
  137. package/dist/src/utils/sessionState.process.test.d.ts +1 -0
  138. package/dist/src/utils/sessionState.process.test.js +93 -0
  139. package/dist/src/utils/sessionState.process.test.js.map +1 -0
  140. package/dist/src/utils/sessionState.test.d.ts +1 -0
  141. package/dist/src/utils/sessionState.test.js +150 -0
  142. package/dist/src/utils/sessionState.test.js.map +1 -0
  143. package/dist/src/utils/sprintUtils.d.ts +13 -0
  144. package/dist/src/utils/sprintUtils.js +129 -0
  145. package/dist/src/utils/sprintUtils.js.map +1 -0
  146. package/dist/src/utils/taskParser.d.ts +9 -0
  147. package/dist/src/utils/taskParser.js +122 -0
  148. package/dist/src/utils/taskParser.js.map +1 -0
  149. package/dist/src/utils/taskParser.test.d.ts +1 -0
  150. package/dist/src/utils/taskParser.test.js +69 -0
  151. package/dist/src/utils/taskParser.test.js.map +1 -0
  152. package/package.json +62 -47
  153. package/templates/cli/artifacts/commands.md +262 -262
  154. package/templates/cli/artifacts/output-format.md +298 -298
  155. package/templates/cli/rules/command-change.md +225 -225
  156. package/templates/game/artifacts/assets.md +148 -148
  157. package/templates/game/artifacts/game-systems.md +217 -217
  158. package/templates/game/artifacts/hud.md +199 -199
  159. package/templates/game/rules/system-change.md +184 -184
  160. package/templates/library/artifacts/changelog.md +84 -84
  161. package/templates/library/artifacts/examples.md +157 -157
  162. package/templates/library/artifacts/public-api.md +197 -197
  163. package/templates/library/rules/versioning.md +186 -186
  164. package/templates/web-dev/artifacts/api.md +212 -212
  165. package/templates/web-dev/artifacts/ui.md +104 -104
  166. package/templates/web-dev/rules/api-change.md +198 -198
  167. package/ai-dev-team/.ada-status.json +0 -10
  168. package/ai-dev-team/.ada-version +0 -6
  169. package/ai-dev-team/.current-template +0 -1
  170. package/ai-dev-team/.gitkeep +0 -0
  171. package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +0 -5
  172. package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +0 -5
  173. package/ai-dev-team/artifacts/.gitkeep +0 -0
  174. package/ai-dev-team/artifacts/decision.md +0 -72
  175. package/ai-dev-team/artifacts/plan.md +0 -187
  176. package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +0 -37
  177. package/ai-dev-team/artifacts/sprints/_template/meta.md +0 -54
  178. package/ai-dev-team/artifacts/sprints/_template/retrospective.md +0 -50
  179. package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +0 -49
  180. package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +0 -43
  181. package/ai-dev-team/artifacts/ui.md +0 -104
  182. package/ai-dev-team/roles/.gitkeep +0 -0
  183. package/ai-dev-team/roles/analyzer.md +0 -265
  184. package/ai-dev-team/roles/developer.md +0 -222
  185. package/ai-dev-team/roles/documenter.md +0 -715
  186. package/ai-dev-team/roles/improver.md +0 -461
  187. package/ai-dev-team/roles/manager.md +0 -544
  188. package/ai-dev-team/roles/planner.md +0 -398
  189. package/ai-dev-team/roles/reviewer.md +0 -294
  190. package/ai-dev-team/rules/.gitkeep +0 -0
  191. package/ai-dev-team/rules/api-change.md +0 -198
  192. package/ai-dev-team/rules/document-priority.md +0 -199
  193. package/ai-dev-team/rules/escalation.md +0 -172
  194. package/ai-dev-team/rules/iteration.md +0 -236
  195. package/ai-dev-team/rules/rfc.md +0 -31
  196. package/ai-dev-team/rules/rollback.md +0 -218
  197. package/bin/cli.js +0 -127
  198. package/src/commands/config.js +0 -371
  199. package/src/commands/docs.js +0 -502
  200. package/src/commands/interactive.js +0 -392
  201. package/src/commands/logs.js +0 -81
  202. package/src/commands/monitor.js +0 -236
  203. package/src/commands/reset.js +0 -66
  204. package/src/commands/run.js +0 -739
  205. package/src/commands/sessions.js +0 -646
  206. package/src/commands/setup.js +0 -149
  207. package/src/commands/sprint.js +0 -503
  208. package/src/commands/status.js +0 -109
  209. package/src/commands/upgrade.js +0 -416
  210. package/src/commands/validate.js +0 -289
  211. package/src/commands/validate.test.js +0 -84
  212. package/src/ui/dashboard.js +0 -518
  213. package/src/ui/keyHandler.js +0 -147
  214. package/src/ui/quickActions.js +0 -111
  215. package/src/utils/config.js +0 -74
  216. package/src/utils/files.js +0 -201
  217. package/src/utils/sessionState.js +0 -513
  218. package/src/utils/sessionState.process.test.js +0 -101
  219. package/src/utils/sessionState.test.js +0 -183
  220. package/src/utils/sprintUtils.js +0 -134
  221. package/src/utils/taskParser.js +0 -134
  222. package/src/utils/taskParser.test.js +0 -76
@@ -1,217 +1,217 @@
1
- # Game Systems Specification
2
-
3
- > 게임 시스템 설계 문서
4
- > 모든 게임 로직의 단일 진실
5
-
6
- ---
7
-
8
- ## 0. 문서 메타
9
-
10
- | 항목 | 값 |
11
- |------|-----|
12
- | 게임명 | [게임명] |
13
- | 버전 | v1.0 |
14
- | 최종 수정 | YYYY-MM-DD |
15
-
16
- ---
17
-
18
- ## 1. 시스템 개요
19
-
20
- | 시스템 | 설명 | 상태 | Task |
21
- |--------|------|:----:|------|
22
- | Core | 게임 루프, 상태 관리 | ✅ | TASK-001 |
23
- | Combat | 전투 시스템 | ⏳ | TASK-002 |
24
- | Inventory | 아이템 관리 | 📋 | TASK-003 |
25
- | Progression | 레벨/스킬 성장 | 📋 | TASK-004 |
26
-
27
- ---
28
-
29
- ## 2. Core System
30
-
31
- ### 2.1 게임 상태
32
-
33
- | 상태 | 설명 | 전환 조건 |
34
- |------|------|----------|
35
- | INIT | 초기화 중 | 로딩 완료 → READY |
36
- | READY | 준비 완료 | 시작 → PLAYING |
37
- | PLAYING | 게임 진행 중 | 일시정지 → PAUSED |
38
- | PAUSED | 일시 정지 | 재개 → PLAYING |
39
- | GAME_OVER | 게임 종료 | 재시작 → INIT |
40
-
41
- ### 2.2 게임 루프
42
-
43
- ```
44
- while (state === PLAYING) {
45
- processInput()
46
- updateSystems()
47
- render()
48
- }
49
- ```
50
-
51
- ### 2.3 이벤트 버스
52
-
53
- | 이벤트 | 발생 조건 | 데이터 |
54
- |--------|----------|--------|
55
- | GAME_START | 게임 시작 | - |
56
- | GAME_PAUSE | 일시정지 | - |
57
- | GAME_OVER | 게임 종료 | score, reason |
58
-
59
- ---
60
-
61
- ## 3. Combat System
62
-
63
- ### 3.1 개요
64
-
65
- [전투 시스템 설명]
66
-
67
- ### 3.2 엔티티 속성
68
-
69
- | 속성 | 타입 | 설명 | 기본값 |
70
- |------|------|------|--------|
71
- | health | number | 현재 체력 | 100 |
72
- | maxHealth | number | 최대 체력 | 100 |
73
- | attack | number | 공격력 | 10 |
74
- | defense | number | 방어력 | 5 |
75
-
76
- ### 3.3 전투 공식
77
-
78
- ```
79
- # 데미지 계산
80
- damage = max(1, attacker.attack - defender.defense)
81
-
82
- # 크리티컬 데미지
83
- if (random() < critRate):
84
- damage = damage * critMultiplier
85
- ```
86
-
87
- ### 3.4 전투 이벤트
88
-
89
- | 이벤트 | 발생 조건 | 데이터 |
90
- |--------|----------|--------|
91
- | ATTACK | 공격 시 | attacker, target, damage |
92
- | DAMAGE | 피격 시 | target, damage, isCritical |
93
- | DEATH | 체력 0 | entity |
94
- | HEAL | 회복 시 | target, amount |
95
-
96
- ### 3.5 상태 이상
97
-
98
- | 상태 | 효과 | 지속 시간 |
99
- |------|------|----------|
100
- | POISON | 틱당 5 데미지 | 5초 |
101
- | STUN | 행동 불가 | 2초 |
102
- | BUFF_ATK | 공격력 +20% | 10초 |
103
-
104
- ---
105
-
106
- ## 4. Inventory System
107
-
108
- ### 4.1 개요
109
-
110
- [인벤토리 시스템 설명]
111
-
112
- ### 4.2 아이템 구조
113
-
114
- ```
115
- Item {
116
- id: string
117
- name: string
118
- type: ItemType
119
- stackable: boolean
120
- maxStack: number
121
- }
122
- ```
123
-
124
- ### 4.3 아이템 타입
125
-
126
- | 타입 | 설명 | 스택 가능 |
127
- |------|------|:--------:|
128
- | CONSUMABLE | 소비 아이템 | ✅ |
129
- | EQUIPMENT | 장비 | ❌ |
130
- | MATERIAL | 재료 | ✅ |
131
- | KEY | 키 아이템 | ❌ |
132
-
133
- ### 4.4 인벤토리 이벤트
134
-
135
- | 이벤트 | 발생 조건 | 데이터 |
136
- |--------|----------|--------|
137
- | ITEM_ADD | 아이템 획득 | item, quantity |
138
- | ITEM_REMOVE | 아이템 제거 | item, quantity |
139
- | ITEM_USE | 아이템 사용 | item |
140
-
141
- ---
142
-
143
- ## 5. Progression System
144
-
145
- ### 5.1 레벨 시스템
146
-
147
- ```
148
- # 필요 경험치
149
- requiredExp = baseExp * (level ^ expMultiplier)
150
-
151
- # 예시 (baseExp=100, expMultiplier=1.5)
152
- Level 1 → 2: 100 exp
153
- Level 2 → 3: 283 exp
154
- Level 3 → 4: 520 exp
155
- ```
156
-
157
- ### 5.2 스탯 성장
158
-
159
- | 레벨업 시 | 증가량 |
160
- |----------|--------|
161
- | maxHealth | +10 |
162
- | attack | +2 |
163
- | defense | +1 |
164
-
165
- ### 5.3 진행 이벤트
166
-
167
- | 이벤트 | 발생 조건 | 데이터 |
168
- |--------|----------|--------|
169
- | EXP_GAIN | 경험치 획득 | amount |
170
- | LEVEL_UP | 레벨 상승 | newLevel, statGains |
171
-
172
- ---
173
-
174
- ## 6. 시스템 간 상호작용
175
-
176
- ```
177
- ┌─────────────────────────────────────────────────────────────────┐
178
- │ │
179
- │ Combat System │
180
- │ │ │
181
- │ ├── DEATH 이벤트 ──→ Progression: EXP_GAIN │
182
- │ │ │
183
- │ └── DAMAGE 이벤트 ──→ Rendering: 데미지 이펙트 │
184
- │ │
185
- │ Inventory System │
186
- │ │ │
187
- │ └── ITEM_USE ──→ Combat: 회복/버프 │
188
- │ │
189
- │ Progression System │
190
- │ │ │
191
- │ └── LEVEL_UP ──→ Rendering: 레벨업 이펙트 │
192
- │ │
193
- └─────────────────────────────────────────────────────────────────┘
194
- ```
195
-
196
- ---
197
-
198
- ## 7. 밸런스 파라미터
199
-
200
- > 별도 설정 파일로 관리되는 값들
201
-
202
- | 파라미터 | 값 | 설명 |
203
- |----------|-----|------|
204
- | BASE_HEALTH | 100 | 기본 체력 |
205
- | BASE_ATTACK | 10 | 기본 공격력 |
206
- | EXP_MULTIPLIER | 1.5 | 경험치 증가율 |
207
- | CRIT_RATE | 0.1 | 크리티컬 확률 |
208
- | CRIT_MULTIPLIER | 2.0 | 크리티컬 배율 |
209
-
210
- ---
211
-
212
- ## 8. 변경 이력
213
-
214
- | Task | 날짜 | 변경 내용 |
215
- |------|------|----------|
216
- | [TASK-001] | YYYY-MM-DD | Core System 초기 설계 |
217
- | [TASK-002] | YYYY-MM-DD | Combat System 추가 |
1
+ # Game Systems Specification
2
+
3
+ > 게임 시스템 설계 문서
4
+ > 모든 게임 로직의 단일 진실
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 게임명 | [게임명] |
13
+ | 버전 | v1.0 |
14
+ | 최종 수정 | YYYY-MM-DD |
15
+
16
+ ---
17
+
18
+ ## 1. 시스템 개요
19
+
20
+ | 시스템 | 설명 | 상태 | Task |
21
+ |--------|------|:----:|------|
22
+ | Core | 게임 루프, 상태 관리 | ✅ | TASK-001 |
23
+ | Combat | 전투 시스템 | ⏳ | TASK-002 |
24
+ | Inventory | 아이템 관리 | 📋 | TASK-003 |
25
+ | Progression | 레벨/스킬 성장 | 📋 | TASK-004 |
26
+
27
+ ---
28
+
29
+ ## 2. Core System
30
+
31
+ ### 2.1 게임 상태
32
+
33
+ | 상태 | 설명 | 전환 조건 |
34
+ |------|------|----------|
35
+ | INIT | 초기화 중 | 로딩 완료 → READY |
36
+ | READY | 준비 완료 | 시작 → PLAYING |
37
+ | PLAYING | 게임 진행 중 | 일시정지 → PAUSED |
38
+ | PAUSED | 일시 정지 | 재개 → PLAYING |
39
+ | GAME_OVER | 게임 종료 | 재시작 → INIT |
40
+
41
+ ### 2.2 게임 루프
42
+
43
+ ```
44
+ while (state === PLAYING) {
45
+ processInput()
46
+ updateSystems()
47
+ render()
48
+ }
49
+ ```
50
+
51
+ ### 2.3 이벤트 버스
52
+
53
+ | 이벤트 | 발생 조건 | 데이터 |
54
+ |--------|----------|--------|
55
+ | GAME_START | 게임 시작 | - |
56
+ | GAME_PAUSE | 일시정지 | - |
57
+ | GAME_OVER | 게임 종료 | score, reason |
58
+
59
+ ---
60
+
61
+ ## 3. Combat System
62
+
63
+ ### 3.1 개요
64
+
65
+ [전투 시스템 설명]
66
+
67
+ ### 3.2 엔티티 속성
68
+
69
+ | 속성 | 타입 | 설명 | 기본값 |
70
+ |------|------|------|--------|
71
+ | health | number | 현재 체력 | 100 |
72
+ | maxHealth | number | 최대 체력 | 100 |
73
+ | attack | number | 공격력 | 10 |
74
+ | defense | number | 방어력 | 5 |
75
+
76
+ ### 3.3 전투 공식
77
+
78
+ ```
79
+ # 데미지 계산
80
+ damage = max(1, attacker.attack - defender.defense)
81
+
82
+ # 크리티컬 데미지
83
+ if (random() < critRate):
84
+ damage = damage * critMultiplier
85
+ ```
86
+
87
+ ### 3.4 전투 이벤트
88
+
89
+ | 이벤트 | 발생 조건 | 데이터 |
90
+ |--------|----------|--------|
91
+ | ATTACK | 공격 시 | attacker, target, damage |
92
+ | DAMAGE | 피격 시 | target, damage, isCritical |
93
+ | DEATH | 체력 0 | entity |
94
+ | HEAL | 회복 시 | target, amount |
95
+
96
+ ### 3.5 상태 이상
97
+
98
+ | 상태 | 효과 | 지속 시간 |
99
+ |------|------|----------|
100
+ | POISON | 틱당 5 데미지 | 5초 |
101
+ | STUN | 행동 불가 | 2초 |
102
+ | BUFF_ATK | 공격력 +20% | 10초 |
103
+
104
+ ---
105
+
106
+ ## 4. Inventory System
107
+
108
+ ### 4.1 개요
109
+
110
+ [인벤토리 시스템 설명]
111
+
112
+ ### 4.2 아이템 구조
113
+
114
+ ```
115
+ Item {
116
+ id: string
117
+ name: string
118
+ type: ItemType
119
+ stackable: boolean
120
+ maxStack: number
121
+ }
122
+ ```
123
+
124
+ ### 4.3 아이템 타입
125
+
126
+ | 타입 | 설명 | 스택 가능 |
127
+ |------|------|:--------:|
128
+ | CONSUMABLE | 소비 아이템 | ✅ |
129
+ | EQUIPMENT | 장비 | ❌ |
130
+ | MATERIAL | 재료 | ✅ |
131
+ | KEY | 키 아이템 | ❌ |
132
+
133
+ ### 4.4 인벤토리 이벤트
134
+
135
+ | 이벤트 | 발생 조건 | 데이터 |
136
+ |--------|----------|--------|
137
+ | ITEM_ADD | 아이템 획득 | item, quantity |
138
+ | ITEM_REMOVE | 아이템 제거 | item, quantity |
139
+ | ITEM_USE | 아이템 사용 | item |
140
+
141
+ ---
142
+
143
+ ## 5. Progression System
144
+
145
+ ### 5.1 레벨 시스템
146
+
147
+ ```
148
+ # 필요 경험치
149
+ requiredExp = baseExp * (level ^ expMultiplier)
150
+
151
+ # 예시 (baseExp=100, expMultiplier=1.5)
152
+ Level 1 → 2: 100 exp
153
+ Level 2 → 3: 283 exp
154
+ Level 3 → 4: 520 exp
155
+ ```
156
+
157
+ ### 5.2 스탯 성장
158
+
159
+ | 레벨업 시 | 증가량 |
160
+ |----------|--------|
161
+ | maxHealth | +10 |
162
+ | attack | +2 |
163
+ | defense | +1 |
164
+
165
+ ### 5.3 진행 이벤트
166
+
167
+ | 이벤트 | 발생 조건 | 데이터 |
168
+ |--------|----------|--------|
169
+ | EXP_GAIN | 경험치 획득 | amount |
170
+ | LEVEL_UP | 레벨 상승 | newLevel, statGains |
171
+
172
+ ---
173
+
174
+ ## 6. 시스템 간 상호작용
175
+
176
+ ```
177
+ ┌─────────────────────────────────────────────────────────────────┐
178
+ │ │
179
+ │ Combat System │
180
+ │ │ │
181
+ │ ├── DEATH 이벤트 ──→ Progression: EXP_GAIN │
182
+ │ │ │
183
+ │ └── DAMAGE 이벤트 ──→ Rendering: 데미지 이펙트 │
184
+ │ │
185
+ │ Inventory System │
186
+ │ │ │
187
+ │ └── ITEM_USE ──→ Combat: 회복/버프 │
188
+ │ │
189
+ │ Progression System │
190
+ │ │ │
191
+ │ └── LEVEL_UP ──→ Rendering: 레벨업 이펙트 │
192
+ │ │
193
+ └─────────────────────────────────────────────────────────────────┘
194
+ ```
195
+
196
+ ---
197
+
198
+ ## 7. 밸런스 파라미터
199
+
200
+ > 별도 설정 파일로 관리되는 값들
201
+
202
+ | 파라미터 | 값 | 설명 |
203
+ |----------|-----|------|
204
+ | BASE_HEALTH | 100 | 기본 체력 |
205
+ | BASE_ATTACK | 10 | 기본 공격력 |
206
+ | EXP_MULTIPLIER | 1.5 | 경험치 증가율 |
207
+ | CRIT_RATE | 0.1 | 크리티컬 확률 |
208
+ | CRIT_MULTIPLIER | 2.0 | 크리티컬 배율 |
209
+
210
+ ---
211
+
212
+ ## 8. 변경 이력
213
+
214
+ | Task | 날짜 | 변경 내용 |
215
+ |------|------|----------|
216
+ | [TASK-001] | YYYY-MM-DD | Core System 초기 설계 |
217
+ | [TASK-002] | YYYY-MM-DD | Combat System 추가 |