@silbaram/artifact-driven-agent 0.1.7 → 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 (189) hide show
  1. package/README.md +510 -60
  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/ada.config.json +15 -0
  5. package/ai-dev-team/artifacts/api.md +2 -0
  6. package/ai-dev-team/artifacts/features/_template/api.md +19 -19
  7. package/ai-dev-team/artifacts/features/_template/review.md +14 -14
  8. package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
  9. package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
  10. package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
  11. package/ai-dev-team/artifacts/project.md +2 -0
  12. package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
  13. package/core/artifacts/decision.md +72 -72
  14. package/core/artifacts/plan.md +187 -187
  15. package/core/artifacts/project.md +193 -193
  16. package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
  17. package/core/artifacts/sprints/_template/meta.md +54 -54
  18. package/core/artifacts/sprints/_template/retrospective.md +50 -50
  19. package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
  20. package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
  21. package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
  22. package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
  23. package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
  24. package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
  25. package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
  26. package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
  27. package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
  28. package/core/docs-templates/mkdocs/docs/index.md +32 -0
  29. package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
  30. package/core/roles/analyzer.md +265 -243
  31. package/core/roles/developer.md +227 -223
  32. package/core/roles/documenter.md +226 -293
  33. package/core/roles/improver.md +461 -0
  34. package/core/roles/manager.md +574 -541
  35. package/core/roles/planner.md +398 -248
  36. package/core/roles/reviewer.md +294 -266
  37. package/core/rules/document-priority.md +199 -198
  38. package/core/rules/escalation.md +172 -172
  39. package/core/rules/iteration.md +236 -236
  40. package/core/rules/rfc.md +31 -31
  41. package/core/rules/rollback.md +218 -218
  42. package/core/skills/_template/SKILL.md +50 -0
  43. package/core/skills/clean-code/SKILL.md +177 -0
  44. package/core/skills/code-review-checklist/SKILL.md +125 -0
  45. package/core/skills/error-handling/SKILL.md +155 -0
  46. package/core/skills/talk-game-dot-design/SKILL.md +85 -0
  47. package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
  48. package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
  49. package/core/skills/task-writing/SKILL.md +166 -0
  50. package/core/skills/testing-patterns/SKILL.md +140 -0
  51. package/dist/bin/cli.d.ts +2 -0
  52. package/dist/bin/cli.js +121 -0
  53. package/dist/bin/cli.js.map +1 -0
  54. package/dist/src/commands/config.d.ts +4 -0
  55. package/dist/src/commands/config.js +427 -0
  56. package/dist/src/commands/config.js.map +1 -0
  57. package/dist/src/commands/docs.d.ts +12 -0
  58. package/dist/src/commands/docs.js +453 -0
  59. package/dist/src/commands/docs.js.map +1 -0
  60. package/dist/src/commands/interactive.d.ts +4 -0
  61. package/dist/src/commands/interactive.js +380 -0
  62. package/dist/src/commands/interactive.js.map +1 -0
  63. package/dist/src/commands/logs.d.ts +1 -0
  64. package/dist/src/commands/logs.js +76 -0
  65. package/dist/src/commands/logs.js.map +1 -0
  66. package/dist/src/commands/monitor.d.ts +6 -0
  67. package/dist/src/commands/monitor.js +216 -0
  68. package/dist/src/commands/monitor.js.map +1 -0
  69. package/dist/src/commands/reset.d.ts +4 -0
  70. package/dist/src/commands/reset.js +57 -0
  71. package/dist/src/commands/reset.js.map +1 -0
  72. package/dist/src/commands/run.d.ts +45 -0
  73. package/dist/src/commands/run.js +421 -0
  74. package/dist/src/commands/run.js.map +1 -0
  75. package/dist/src/commands/sessions.d.ts +5 -0
  76. package/dist/src/commands/sessions.js +563 -0
  77. package/dist/src/commands/sessions.js.map +1 -0
  78. package/dist/src/commands/setup.d.ts +1 -0
  79. package/dist/src/commands/setup.js +132 -0
  80. package/dist/src/commands/setup.js.map +1 -0
  81. package/dist/src/commands/skills.d.ts +4 -0
  82. package/dist/src/commands/skills.js +748 -0
  83. package/dist/src/commands/skills.js.map +1 -0
  84. package/dist/src/commands/sprint.d.ts +4 -0
  85. package/dist/src/commands/sprint.js +434 -0
  86. package/dist/src/commands/sprint.js.map +1 -0
  87. package/dist/src/commands/status.d.ts +1 -0
  88. package/dist/src/commands/status.js +97 -0
  89. package/dist/src/commands/status.js.map +1 -0
  90. package/dist/src/commands/upgrade.d.ts +6 -0
  91. package/dist/src/commands/upgrade.js +350 -0
  92. package/dist/src/commands/upgrade.js.map +1 -0
  93. package/dist/src/commands/validate.d.ts +8 -0
  94. package/dist/src/commands/validate.js +260 -0
  95. package/dist/src/commands/validate.js.map +1 -0
  96. package/dist/src/commands/validate.test.d.ts +1 -0
  97. package/dist/src/commands/validate.test.js +74 -0
  98. package/dist/src/commands/validate.test.js.map +1 -0
  99. package/{src/index.js → dist/src/index.d.ts} +2 -3
  100. package/dist/src/index.js +15 -0
  101. package/dist/src/index.js.map +1 -0
  102. package/dist/src/types/common.d.ts +31 -0
  103. package/dist/src/types/common.js +2 -0
  104. package/dist/src/types/common.js.map +1 -0
  105. package/dist/src/types/config.d.ts +46 -0
  106. package/dist/src/types/config.js +2 -0
  107. package/dist/src/types/config.js.map +1 -0
  108. package/dist/src/types/index.d.ts +53 -0
  109. package/dist/src/types/index.js +2 -0
  110. package/dist/src/types/index.js.map +1 -0
  111. package/dist/src/types/session.d.ts +87 -0
  112. package/dist/src/types/session.js +2 -0
  113. package/dist/src/types/session.js.map +1 -0
  114. package/dist/src/types/task.d.ts +32 -0
  115. package/dist/src/types/task.js +2 -0
  116. package/dist/src/types/task.js.map +1 -0
  117. package/dist/src/ui/dashboard.d.ts +9 -0
  118. package/dist/src/ui/dashboard.js +468 -0
  119. package/dist/src/ui/dashboard.js.map +1 -0
  120. package/dist/src/ui/keyHandler.d.ts +47 -0
  121. package/dist/src/ui/keyHandler.js +132 -0
  122. package/dist/src/ui/keyHandler.js.map +1 -0
  123. package/dist/src/ui/quickActions.d.ts +25 -0
  124. package/dist/src/ui/quickActions.js +106 -0
  125. package/dist/src/ui/quickActions.js.map +1 -0
  126. package/dist/src/utils/config.d.ts +33 -0
  127. package/dist/src/utils/config.js +135 -0
  128. package/dist/src/utils/config.js.map +1 -0
  129. package/dist/src/utils/files.d.ts +84 -0
  130. package/dist/src/utils/files.js +202 -0
  131. package/dist/src/utils/files.js.map +1 -0
  132. package/dist/src/utils/promptBuilder.d.ts +39 -0
  133. package/dist/src/utils/promptBuilder.js +726 -0
  134. package/dist/src/utils/promptBuilder.js.map +1 -0
  135. package/dist/src/utils/sessionState.d.ts +83 -0
  136. package/dist/src/utils/sessionState.js +466 -0
  137. package/dist/src/utils/sessionState.js.map +1 -0
  138. package/dist/src/utils/sessionState.process.test.d.ts +1 -0
  139. package/dist/src/utils/sessionState.process.test.js +93 -0
  140. package/dist/src/utils/sessionState.process.test.js.map +1 -0
  141. package/dist/src/utils/sessionState.test.d.ts +1 -0
  142. package/dist/src/utils/sessionState.test.js +150 -0
  143. package/dist/src/utils/sessionState.test.js.map +1 -0
  144. package/dist/src/utils/sprintUtils.d.ts +13 -0
  145. package/dist/src/utils/sprintUtils.js +129 -0
  146. package/dist/src/utils/sprintUtils.js.map +1 -0
  147. package/dist/src/utils/taskParser.d.ts +9 -0
  148. package/dist/src/utils/taskParser.js +122 -0
  149. package/dist/src/utils/taskParser.js.map +1 -0
  150. package/dist/src/utils/taskParser.test.d.ts +1 -0
  151. package/dist/src/utils/taskParser.test.js +69 -0
  152. package/dist/src/utils/taskParser.test.js.map +1 -0
  153. package/package.json +62 -47
  154. package/templates/cli/artifacts/commands.md +262 -262
  155. package/templates/cli/artifacts/output-format.md +298 -298
  156. package/templates/cli/rules/command-change.md +225 -225
  157. package/templates/game/artifacts/assets.md +148 -148
  158. package/templates/game/artifacts/game-systems.md +217 -217
  159. package/templates/game/artifacts/hud.md +199 -199
  160. package/templates/game/rules/system-change.md +184 -184
  161. package/templates/library/artifacts/changelog.md +84 -84
  162. package/templates/library/artifacts/examples.md +157 -157
  163. package/templates/library/artifacts/public-api.md +197 -197
  164. package/templates/library/rules/versioning.md +186 -186
  165. package/templates/web-dev/artifacts/api.md +212 -212
  166. package/templates/web-dev/artifacts/ui.md +104 -104
  167. package/templates/web-dev/rules/api-change.md +198 -198
  168. package/ai-dev-team/.gitkeep +0 -0
  169. package/ai-dev-team/artifacts/.gitkeep +0 -0
  170. package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
  171. package/ai-dev-team/roles/.gitkeep +0 -0
  172. package/ai-dev-team/rules/.gitkeep +0 -0
  173. package/bin/cli.js +0 -83
  174. package/examples/todo-app/README.md +0 -23
  175. package/examples/todo-app/artifacts/backlog.md +0 -23
  176. package/examples/todo-app/artifacts/plan.md +0 -23
  177. package/examples/todo-app/artifacts/project.md +0 -23
  178. package/src/commands/interactive.js +0 -101
  179. package/src/commands/logs.js +0 -81
  180. package/src/commands/reset.js +0 -66
  181. package/src/commands/run.js +0 -554
  182. package/src/commands/sessions.js +0 -707
  183. package/src/commands/setup.js +0 -128
  184. package/src/commands/sprint.js +0 -262
  185. package/src/commands/status.js +0 -76
  186. package/src/commands/validate.js +0 -288
  187. package/src/commands/validate.test.js +0 -84
  188. package/src/utils/files.js +0 -134
  189. package/src/utils/sessionState.js +0 -379
@@ -1,157 +1,157 @@
1
- # Examples (사용 예제)
2
-
3
- > 라이브러리 사용 예제 모음
4
- > 실제 동작하는 코드로 작성
5
-
6
- ---
7
-
8
- ## 0. 문서 메타
9
-
10
- | 항목 | 값 |
11
- |------|-----|
12
- | 라이브러리 버전 | v1.0.0 |
13
- | 최종 수정 | YYYY-MM-DD |
14
-
15
- ---
16
-
17
- ## 1. 빠른 시작 (Quick Start)
18
-
19
- ### 1.1 설치
20
-
21
- ```bash
22
- pip install [library-name]
23
- ```
24
-
25
- ### 1.2 기본 사용
26
-
27
- ```python
28
- from library import main_function
29
-
30
- # 가장 간단한 사용법
31
- result = main_function("hello")
32
- print(result.value) # 출력: processed: hello
33
- ```
34
-
35
- ---
36
-
37
- ## 2. 기본 예제
38
-
39
- ### 2.1 예제: [시나리오 이름]
40
-
41
- **목적:** [이 예제가 보여주는 것]
42
-
43
- ```python
44
- from library import main_function, Config
45
-
46
- # 설정
47
- config = Config(timeout=30)
48
-
49
- # 실행
50
- result = main_function("input", config=config)
51
-
52
- # 결과 확인
53
- if result.status == "success":
54
- print(f"성공: {result.value}")
55
- else:
56
- print(f"실패: {result.error}")
57
- ```
58
-
59
- **실행 결과:**
60
- ```
61
- 성공: processed: input
62
- ```
63
-
64
- ---
65
-
66
- ### 2.2 예제: [다른 시나리오]
67
-
68
- **목적:** [설명]
69
-
70
- ```python
71
- # 예제 코드
72
- ```
73
-
74
- ---
75
-
76
- ## 3. 고급 예제
77
-
78
- ### 3.1 비동기 처리
79
-
80
- ```python
81
- import asyncio
82
- from library import async_function
83
-
84
- async def main():
85
- result = await async_function("data")
86
- print(result)
87
-
88
- asyncio.run(main())
89
- ```
90
-
91
- ### 3.2 에러 처리
92
-
93
- ```python
94
- from library import main_function, LibraryError
95
-
96
- try:
97
- result = main_function("")
98
- except LibraryError as e:
99
- print(f"에러 발생: {e.message}")
100
- print(f"에러 코드: {e.code}")
101
- ```
102
-
103
- ### 3.3 커스텀 설정
104
-
105
- ```python
106
- from library import configure, main_function
107
-
108
- # 전역 설정
109
- configure(
110
- timeout=60,
111
- retries=5,
112
- debug=True
113
- )
114
-
115
- # 설정이 적용된 상태로 실행
116
- result = main_function("data")
117
- ```
118
-
119
- ---
120
-
121
- ## 4. 통합 예제
122
-
123
- ### 4.1 [프레임워크]와 함께 사용
124
-
125
- ```python
126
- # 프레임워크 통합 예제
127
- ```
128
-
129
- ### 4.2 다른 라이브러리와 함께
130
-
131
- ```python
132
- # 다른 라이브러리와 조합 예제
133
- ```
134
-
135
- ---
136
-
137
- ## 5. FAQ 및 팁
138
-
139
- ### Q: [자주 묻는 질문]?
140
-
141
- ```python
142
- # 해결 방법 코드
143
- ```
144
-
145
- ### Q: [다른 질문]?
146
-
147
- ```python
148
- # 해결 방법 코드
149
- ```
150
-
151
- ---
152
-
153
- ## 6. 변경 이력
154
-
155
- | 버전 | 날짜 | 변경 내용 | Task |
156
- |------|------|----------|------|
157
- | v1.0.0 | YYYY-MM-DD | 초기 예제 작성 | - |
1
+ # Examples (사용 예제)
2
+
3
+ > 라이브러리 사용 예제 모음
4
+ > 실제 동작하는 코드로 작성
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 라이브러리 버전 | v1.0.0 |
13
+ | 최종 수정 | YYYY-MM-DD |
14
+
15
+ ---
16
+
17
+ ## 1. 빠른 시작 (Quick Start)
18
+
19
+ ### 1.1 설치
20
+
21
+ ```bash
22
+ pip install [library-name]
23
+ ```
24
+
25
+ ### 1.2 기본 사용
26
+
27
+ ```python
28
+ from library import main_function
29
+
30
+ # 가장 간단한 사용법
31
+ result = main_function("hello")
32
+ print(result.value) # 출력: processed: hello
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 2. 기본 예제
38
+
39
+ ### 2.1 예제: [시나리오 이름]
40
+
41
+ **목적:** [이 예제가 보여주는 것]
42
+
43
+ ```python
44
+ from library import main_function, Config
45
+
46
+ # 설정
47
+ config = Config(timeout=30)
48
+
49
+ # 실행
50
+ result = main_function("input", config=config)
51
+
52
+ # 결과 확인
53
+ if result.status == "success":
54
+ print(f"성공: {result.value}")
55
+ else:
56
+ print(f"실패: {result.error}")
57
+ ```
58
+
59
+ **실행 결과:**
60
+ ```
61
+ 성공: processed: input
62
+ ```
63
+
64
+ ---
65
+
66
+ ### 2.2 예제: [다른 시나리오]
67
+
68
+ **목적:** [설명]
69
+
70
+ ```python
71
+ # 예제 코드
72
+ ```
73
+
74
+ ---
75
+
76
+ ## 3. 고급 예제
77
+
78
+ ### 3.1 비동기 처리
79
+
80
+ ```python
81
+ import asyncio
82
+ from library import async_function
83
+
84
+ async def main():
85
+ result = await async_function("data")
86
+ print(result)
87
+
88
+ asyncio.run(main())
89
+ ```
90
+
91
+ ### 3.2 에러 처리
92
+
93
+ ```python
94
+ from library import main_function, LibraryError
95
+
96
+ try:
97
+ result = main_function("")
98
+ except LibraryError as e:
99
+ print(f"에러 발생: {e.message}")
100
+ print(f"에러 코드: {e.code}")
101
+ ```
102
+
103
+ ### 3.3 커스텀 설정
104
+
105
+ ```python
106
+ from library import configure, main_function
107
+
108
+ # 전역 설정
109
+ configure(
110
+ timeout=60,
111
+ retries=5,
112
+ debug=True
113
+ )
114
+
115
+ # 설정이 적용된 상태로 실행
116
+ result = main_function("data")
117
+ ```
118
+
119
+ ---
120
+
121
+ ## 4. 통합 예제
122
+
123
+ ### 4.1 [프레임워크]와 함께 사용
124
+
125
+ ```python
126
+ # 프레임워크 통합 예제
127
+ ```
128
+
129
+ ### 4.2 다른 라이브러리와 함께
130
+
131
+ ```python
132
+ # 다른 라이브러리와 조합 예제
133
+ ```
134
+
135
+ ---
136
+
137
+ ## 5. FAQ 및 팁
138
+
139
+ ### Q: [자주 묻는 질문]?
140
+
141
+ ```python
142
+ # 해결 방법 코드
143
+ ```
144
+
145
+ ### Q: [다른 질문]?
146
+
147
+ ```python
148
+ # 해결 방법 코드
149
+ ```
150
+
151
+ ---
152
+
153
+ ## 6. 변경 이력
154
+
155
+ | 버전 | 날짜 | 변경 내용 | Task |
156
+ |------|------|----------|------|
157
+ | v1.0.0 | YYYY-MM-DD | 초기 예제 작성 | - |
@@ -1,197 +1,197 @@
1
- # Public API Specification
2
-
3
- > 라이브러리의 공개 인터페이스 정의
4
- > 사용자에게 노출되는 모든 API를 문서화
5
-
6
- ---
7
-
8
- ## 0. 문서 메타
9
-
10
- | 항목 | 값 |
11
- |------|-----|
12
- | 라이브러리명 | [이름] |
13
- | 현재 버전 | v1.0.0 |
14
- | 최종 수정 | YYYY-MM-DD |
15
-
16
- ---
17
-
18
- ## 1. 개요
19
-
20
- ### 1.1 라이브러리 소개
21
-
22
- [라이브러리 한 줄 설명]
23
-
24
- ### 1.2 설치
25
-
26
- ```bash
27
- # npm
28
- npm install [package-name]
29
-
30
- # pip
31
- pip install [package-name]
32
-
33
- # 기타
34
- [설치 명령]
35
- ```
36
-
37
- ### 1.3 빠른 시작
38
-
39
- ```python
40
- # 기본 사용 예시
41
- import library
42
-
43
- result = library.main_function()
44
- ```
45
-
46
- ---
47
-
48
- ## 2. 공개 API 목록
49
-
50
- | API | 설명 | 버전 | 상태 |
51
- |-----|------|------|:----:|
52
- | `mainFunction()` | 주요 기능 | v1.0.0 | ✅ |
53
- | `helperFunction()` | 보조 기능 | v1.0.0 | ✅ |
54
- | `oldFunction()` | 이전 기능 | v1.0.0 | ⚠️ Deprecated |
55
-
56
- 상태: ✅ 안정 / ⚠️ Deprecated / 🧪 실험적
57
-
58
- ---
59
-
60
- ## 3. API 상세
61
-
62
- ### 3.1 mainFunction
63
-
64
- ```python
65
- def main_function(param1: str, param2: int = 10) -> Result:
66
- """
67
- 주요 기능 설명
68
-
69
- Args:
70
- param1: 첫 번째 파라미터 설명
71
- param2: 두 번째 파라미터 (기본값: 10)
72
-
73
- Returns:
74
- Result: 결과 객체
75
-
76
- Raises:
77
- ValueError: param1이 빈 문자열인 경우
78
- TypeError: param2가 정수가 아닌 경우
79
-
80
- Example:
81
- >>> result = main_function("hello", 20)
82
- >>> print(result.value)
83
- 'processed: hello'
84
- """
85
- ```
86
-
87
- **파라미터:**
88
-
89
- | 이름 | 타입 | 필수 | 기본값 | 설명 |
90
- |------|------|:----:|--------|------|
91
- | param1 | str | ✅ | - | 첫 번째 파라미터 |
92
- | param2 | int | ❌ | 10 | 두 번째 파라미터 |
93
-
94
- **반환값:**
95
-
96
- | 타입 | 설명 |
97
- |------|------|
98
- | Result | 결과 객체 |
99
-
100
- **예외:**
101
-
102
- | 예외 | 조건 |
103
- |------|------|
104
- | ValueError | param1이 빈 문자열 |
105
- | TypeError | param2가 정수 아님 |
106
-
107
- **예시:**
108
-
109
- ```python
110
- # 기본 사용
111
- result = main_function("hello")
112
-
113
- # 옵션 지정
114
- result = main_function("hello", param2=20)
115
- ```
116
-
117
- ---
118
-
119
- ### 3.2 helperFunction
120
-
121
- (동일 형식으로 작성)
122
-
123
- ---
124
-
125
- ## 4. 데이터 타입
126
-
127
- ### 4.1 Result
128
-
129
- ```python
130
- class Result:
131
- value: str # 처리 결과
132
- status: str # 상태 ("success" | "error")
133
- metadata: dict # 추가 정보
134
- ```
135
-
136
- **필드:**
137
-
138
- | 필드 | 타입 | 설명 |
139
- |------|------|------|
140
- | value | str | 처리 결과 |
141
- | status | str | 상태 |
142
- | metadata | dict | 추가 정보 |
143
-
144
- ---
145
-
146
- ## 5. 상수 및 설정
147
-
148
- ### 5.1 상수
149
-
150
- | 상수 | 값 | 설명 |
151
- |------|-----|------|
152
- | DEFAULT_TIMEOUT | 30 | 기본 타임아웃 (초) |
153
- | MAX_RETRIES | 3 | 최대 재시도 횟수 |
154
-
155
- ### 5.2 설정
156
-
157
- ```python
158
- # 전역 설정
159
- library.configure(
160
- timeout=60,
161
- debug=True
162
- )
163
- ```
164
-
165
- ---
166
-
167
- ## 6. Deprecated API
168
-
169
- > 다음 Major 버전에서 제거 예정
170
-
171
- ### 6.1 oldFunction (Deprecated since v1.2.0)
172
-
173
- ```python
174
- # ⚠️ Deprecated: main_function() 사용 권장
175
- def old_function(param):
176
- ...
177
- ```
178
-
179
- **대체 방법:**
180
-
181
- ```python
182
- # Before (deprecated)
183
- old_function(param)
184
-
185
- # After (recommended)
186
- main_function(param)
187
- ```
188
-
189
- ---
190
-
191
- ## 7. 변경 이력
192
-
193
- | 버전 | 날짜 | 변경 내용 | Task |
194
- |------|------|----------|------|
195
- | v1.0.0 | YYYY-MM-DD | 초기 릴리스 | - |
196
- | v1.1.0 | YYYY-MM-DD | helperFunction 추가 | TASK-003 |
197
- | v1.2.0 | YYYY-MM-DD | oldFunction deprecated | TASK-005 |
1
+ # Public API Specification
2
+
3
+ > 라이브러리의 공개 인터페이스 정의
4
+ > 사용자에게 노출되는 모든 API를 문서화
5
+
6
+ ---
7
+
8
+ ## 0. 문서 메타
9
+
10
+ | 항목 | 값 |
11
+ |------|-----|
12
+ | 라이브러리명 | [이름] |
13
+ | 현재 버전 | v1.0.0 |
14
+ | 최종 수정 | YYYY-MM-DD |
15
+
16
+ ---
17
+
18
+ ## 1. 개요
19
+
20
+ ### 1.1 라이브러리 소개
21
+
22
+ [라이브러리 한 줄 설명]
23
+
24
+ ### 1.2 설치
25
+
26
+ ```bash
27
+ # npm
28
+ npm install [package-name]
29
+
30
+ # pip
31
+ pip install [package-name]
32
+
33
+ # 기타
34
+ [설치 명령]
35
+ ```
36
+
37
+ ### 1.3 빠른 시작
38
+
39
+ ```python
40
+ # 기본 사용 예시
41
+ import library
42
+
43
+ result = library.main_function()
44
+ ```
45
+
46
+ ---
47
+
48
+ ## 2. 공개 API 목록
49
+
50
+ | API | 설명 | 버전 | 상태 |
51
+ |-----|------|------|:----:|
52
+ | `mainFunction()` | 주요 기능 | v1.0.0 | ✅ |
53
+ | `helperFunction()` | 보조 기능 | v1.0.0 | ✅ |
54
+ | `oldFunction()` | 이전 기능 | v1.0.0 | ⚠️ Deprecated |
55
+
56
+ 상태: ✅ 안정 / ⚠️ Deprecated / 🧪 실험적
57
+
58
+ ---
59
+
60
+ ## 3. API 상세
61
+
62
+ ### 3.1 mainFunction
63
+
64
+ ```python
65
+ def main_function(param1: str, param2: int = 10) -> Result:
66
+ """
67
+ 주요 기능 설명
68
+
69
+ Args:
70
+ param1: 첫 번째 파라미터 설명
71
+ param2: 두 번째 파라미터 (기본값: 10)
72
+
73
+ Returns:
74
+ Result: 결과 객체
75
+
76
+ Raises:
77
+ ValueError: param1이 빈 문자열인 경우
78
+ TypeError: param2가 정수가 아닌 경우
79
+
80
+ Example:
81
+ >>> result = main_function("hello", 20)
82
+ >>> print(result.value)
83
+ 'processed: hello'
84
+ """
85
+ ```
86
+
87
+ **파라미터:**
88
+
89
+ | 이름 | 타입 | 필수 | 기본값 | 설명 |
90
+ |------|------|:----:|--------|------|
91
+ | param1 | str | ✅ | - | 첫 번째 파라미터 |
92
+ | param2 | int | ❌ | 10 | 두 번째 파라미터 |
93
+
94
+ **반환값:**
95
+
96
+ | 타입 | 설명 |
97
+ |------|------|
98
+ | Result | 결과 객체 |
99
+
100
+ **예외:**
101
+
102
+ | 예외 | 조건 |
103
+ |------|------|
104
+ | ValueError | param1이 빈 문자열 |
105
+ | TypeError | param2가 정수 아님 |
106
+
107
+ **예시:**
108
+
109
+ ```python
110
+ # 기본 사용
111
+ result = main_function("hello")
112
+
113
+ # 옵션 지정
114
+ result = main_function("hello", param2=20)
115
+ ```
116
+
117
+ ---
118
+
119
+ ### 3.2 helperFunction
120
+
121
+ (동일 형식으로 작성)
122
+
123
+ ---
124
+
125
+ ## 4. 데이터 타입
126
+
127
+ ### 4.1 Result
128
+
129
+ ```python
130
+ class Result:
131
+ value: str # 처리 결과
132
+ status: str # 상태 ("success" | "error")
133
+ metadata: dict # 추가 정보
134
+ ```
135
+
136
+ **필드:**
137
+
138
+ | 필드 | 타입 | 설명 |
139
+ |------|------|------|
140
+ | value | str | 처리 결과 |
141
+ | status | str | 상태 |
142
+ | metadata | dict | 추가 정보 |
143
+
144
+ ---
145
+
146
+ ## 5. 상수 및 설정
147
+
148
+ ### 5.1 상수
149
+
150
+ | 상수 | 값 | 설명 |
151
+ |------|-----|------|
152
+ | DEFAULT_TIMEOUT | 30 | 기본 타임아웃 (초) |
153
+ | MAX_RETRIES | 3 | 최대 재시도 횟수 |
154
+
155
+ ### 5.2 설정
156
+
157
+ ```python
158
+ # 전역 설정
159
+ library.configure(
160
+ timeout=60,
161
+ debug=True
162
+ )
163
+ ```
164
+
165
+ ---
166
+
167
+ ## 6. Deprecated API
168
+
169
+ > 다음 Major 버전에서 제거 예정
170
+
171
+ ### 6.1 oldFunction (Deprecated since v1.2.0)
172
+
173
+ ```python
174
+ # ⚠️ Deprecated: main_function() 사용 권장
175
+ def old_function(param):
176
+ ...
177
+ ```
178
+
179
+ **대체 방법:**
180
+
181
+ ```python
182
+ # Before (deprecated)
183
+ old_function(param)
184
+
185
+ # After (recommended)
186
+ main_function(param)
187
+ ```
188
+
189
+ ---
190
+
191
+ ## 7. 변경 이력
192
+
193
+ | 버전 | 날짜 | 변경 내용 | Task |
194
+ |------|------|----------|------|
195
+ | v1.0.0 | YYYY-MM-DD | 초기 릴리스 | - |
196
+ | v1.1.0 | YYYY-MM-DD | helperFunction 추가 | TASK-003 |
197
+ | v1.2.0 | YYYY-MM-DD | oldFunction deprecated | TASK-005 |