@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.
- package/README.md +296 -25
- package/ai-dev-team/.ada-status.template.json +10 -10
- package/ai-dev-team/README.md +39 -44
- package/ai-dev-team/artifacts/api.md +2 -212
- package/ai-dev-team/artifacts/features/_template/api.md +19 -19
- package/ai-dev-team/artifacts/features/_template/review.md +14 -14
- package/ai-dev-team/artifacts/features/_template/spec.md +28 -28
- package/ai-dev-team/artifacts/features/_template/ui.md +14 -14
- package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -57
- package/ai-dev-team/artifacts/project.md +2 -193
- package/ai-dev-team/artifacts/rfc/RFC-0000-template.md +49 -49
- package/core/artifacts/decision.md +72 -72
- package/core/artifacts/plan.md +187 -187
- package/core/artifacts/project.md +193 -193
- package/core/artifacts/sprints/_template/docs/release-notes.md +37 -37
- package/core/artifacts/sprints/_template/meta.md +54 -54
- package/core/artifacts/sprints/_template/retrospective.md +50 -50
- package/core/artifacts/sprints/_template/review-reports/review-template.md +49 -49
- package/core/artifacts/sprints/_template/tasks/task-template.md +43 -43
- package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -29
- package/core/docs-templates/mkdocs/docs/changelog.md +36 -36
- package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -60
- package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -51
- package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -41
- package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -56
- package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -83
- package/core/docs-templates/mkdocs/docs/index.md +32 -32
- package/core/docs-templates/mkdocs/mkdocs.yml +86 -86
- package/core/roles/analyzer.md +265 -265
- package/core/roles/developer.md +6 -1
- package/core/roles/documenter.md +226 -715
- package/core/roles/improver.md +461 -461
- package/core/roles/manager.md +574 -544
- package/core/roles/planner.md +398 -398
- package/core/roles/reviewer.md +294 -294
- package/core/rules/document-priority.md +198 -198
- package/core/rules/escalation.md +172 -172
- package/core/rules/iteration.md +236 -236
- package/core/rules/rfc.md +31 -31
- package/core/rules/rollback.md +218 -218
- package/core/skills/_template/SKILL.md +50 -0
- package/core/skills/clean-code/SKILL.md +177 -0
- package/core/skills/code-review-checklist/SKILL.md +125 -0
- package/core/skills/error-handling/SKILL.md +155 -0
- package/core/skills/talk-game-dot-design/SKILL.md +85 -0
- package/core/skills/talk-game-dot-design/references/asset-specs.md +57 -0
- package/core/skills/talk-game-dot-design/references/review-checklist.md +34 -0
- package/core/skills/task-writing/SKILL.md +166 -0
- package/core/skills/testing-patterns/SKILL.md +140 -0
- package/dist/bin/cli.d.ts +2 -0
- package/dist/bin/cli.js +121 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/src/commands/config.d.ts +4 -0
- package/dist/src/commands/config.js +427 -0
- package/dist/src/commands/config.js.map +1 -0
- package/dist/src/commands/docs.d.ts +12 -0
- package/dist/src/commands/docs.js +453 -0
- package/dist/src/commands/docs.js.map +1 -0
- package/dist/src/commands/interactive.d.ts +4 -0
- package/dist/src/commands/interactive.js +380 -0
- package/dist/src/commands/interactive.js.map +1 -0
- package/dist/src/commands/logs.d.ts +1 -0
- package/dist/src/commands/logs.js +76 -0
- package/dist/src/commands/logs.js.map +1 -0
- package/dist/src/commands/monitor.d.ts +6 -0
- package/dist/src/commands/monitor.js +216 -0
- package/dist/src/commands/monitor.js.map +1 -0
- package/dist/src/commands/reset.d.ts +4 -0
- package/dist/src/commands/reset.js +57 -0
- package/dist/src/commands/reset.js.map +1 -0
- package/dist/src/commands/run.d.ts +45 -0
- package/dist/src/commands/run.js +421 -0
- package/dist/src/commands/run.js.map +1 -0
- package/dist/src/commands/sessions.d.ts +5 -0
- package/dist/src/commands/sessions.js +563 -0
- package/dist/src/commands/sessions.js.map +1 -0
- package/dist/src/commands/setup.d.ts +1 -0
- package/dist/src/commands/setup.js +132 -0
- package/dist/src/commands/setup.js.map +1 -0
- package/dist/src/commands/skills.d.ts +4 -0
- package/dist/src/commands/skills.js +748 -0
- package/dist/src/commands/skills.js.map +1 -0
- package/dist/src/commands/sprint.d.ts +4 -0
- package/dist/src/commands/sprint.js +434 -0
- package/dist/src/commands/sprint.js.map +1 -0
- package/dist/src/commands/status.d.ts +1 -0
- package/dist/src/commands/status.js +97 -0
- package/dist/src/commands/status.js.map +1 -0
- package/dist/src/commands/upgrade.d.ts +6 -0
- package/dist/src/commands/upgrade.js +350 -0
- package/dist/src/commands/upgrade.js.map +1 -0
- package/dist/src/commands/validate.d.ts +8 -0
- package/dist/src/commands/validate.js +260 -0
- package/dist/src/commands/validate.js.map +1 -0
- package/dist/src/commands/validate.test.d.ts +1 -0
- package/dist/src/commands/validate.test.js +74 -0
- package/dist/src/commands/validate.test.js.map +1 -0
- package/{src/index.js → dist/src/index.d.ts} +1 -3
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/types/common.d.ts +31 -0
- package/dist/src/types/common.js +2 -0
- package/dist/src/types/common.js.map +1 -0
- package/dist/src/types/config.d.ts +46 -0
- package/dist/src/types/config.js +2 -0
- package/dist/src/types/config.js.map +1 -0
- package/dist/src/types/index.d.ts +53 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/session.d.ts +87 -0
- package/dist/src/types/session.js +2 -0
- package/dist/src/types/session.js.map +1 -0
- package/dist/src/types/task.d.ts +32 -0
- package/dist/src/types/task.js +2 -0
- package/dist/src/types/task.js.map +1 -0
- package/dist/src/ui/dashboard.d.ts +9 -0
- package/dist/src/ui/dashboard.js +468 -0
- package/dist/src/ui/dashboard.js.map +1 -0
- package/dist/src/ui/keyHandler.d.ts +47 -0
- package/dist/src/ui/keyHandler.js +132 -0
- package/dist/src/ui/keyHandler.js.map +1 -0
- package/dist/src/ui/quickActions.d.ts +25 -0
- package/dist/src/ui/quickActions.js +106 -0
- package/dist/src/ui/quickActions.js.map +1 -0
- package/dist/src/utils/config.d.ts +33 -0
- package/dist/src/utils/config.js +135 -0
- package/dist/src/utils/config.js.map +1 -0
- package/dist/src/utils/files.d.ts +84 -0
- package/dist/src/utils/files.js +202 -0
- package/dist/src/utils/files.js.map +1 -0
- package/dist/src/utils/promptBuilder.d.ts +39 -0
- package/dist/src/utils/promptBuilder.js +726 -0
- package/dist/src/utils/promptBuilder.js.map +1 -0
- package/dist/src/utils/sessionState.d.ts +83 -0
- package/dist/src/utils/sessionState.js +466 -0
- package/dist/src/utils/sessionState.js.map +1 -0
- package/dist/src/utils/sessionState.process.test.d.ts +1 -0
- package/dist/src/utils/sessionState.process.test.js +93 -0
- package/dist/src/utils/sessionState.process.test.js.map +1 -0
- package/dist/src/utils/sessionState.test.d.ts +1 -0
- package/dist/src/utils/sessionState.test.js +150 -0
- package/dist/src/utils/sessionState.test.js.map +1 -0
- package/dist/src/utils/sprintUtils.d.ts +13 -0
- package/dist/src/utils/sprintUtils.js +129 -0
- package/dist/src/utils/sprintUtils.js.map +1 -0
- package/dist/src/utils/taskParser.d.ts +9 -0
- package/dist/src/utils/taskParser.js +122 -0
- package/dist/src/utils/taskParser.js.map +1 -0
- package/dist/src/utils/taskParser.test.d.ts +1 -0
- package/dist/src/utils/taskParser.test.js +69 -0
- package/dist/src/utils/taskParser.test.js.map +1 -0
- package/package.json +62 -47
- package/templates/cli/artifacts/commands.md +262 -262
- package/templates/cli/artifacts/output-format.md +298 -298
- package/templates/cli/rules/command-change.md +225 -225
- package/templates/game/artifacts/assets.md +148 -148
- package/templates/game/artifacts/game-systems.md +217 -217
- package/templates/game/artifacts/hud.md +199 -199
- package/templates/game/rules/system-change.md +184 -184
- package/templates/library/artifacts/changelog.md +84 -84
- package/templates/library/artifacts/examples.md +157 -157
- package/templates/library/artifacts/public-api.md +197 -197
- package/templates/library/rules/versioning.md +186 -186
- package/templates/web-dev/artifacts/api.md +212 -212
- package/templates/web-dev/artifacts/ui.md +104 -104
- package/templates/web-dev/rules/api-change.md +198 -198
- package/ai-dev-team/.ada-status.json +0 -10
- package/ai-dev-team/.ada-version +0 -6
- package/ai-dev-team/.current-template +0 -1
- package/ai-dev-team/.gitkeep +0 -0
- package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +0 -5
- package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +0 -5
- package/ai-dev-team/artifacts/.gitkeep +0 -0
- package/ai-dev-team/artifacts/decision.md +0 -72
- package/ai-dev-team/artifacts/plan.md +0 -187
- package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +0 -37
- package/ai-dev-team/artifacts/sprints/_template/meta.md +0 -54
- package/ai-dev-team/artifacts/sprints/_template/retrospective.md +0 -50
- package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +0 -49
- package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +0 -43
- package/ai-dev-team/artifacts/ui.md +0 -104
- package/ai-dev-team/roles/.gitkeep +0 -0
- package/ai-dev-team/roles/analyzer.md +0 -265
- package/ai-dev-team/roles/developer.md +0 -222
- package/ai-dev-team/roles/documenter.md +0 -715
- package/ai-dev-team/roles/improver.md +0 -461
- package/ai-dev-team/roles/manager.md +0 -544
- package/ai-dev-team/roles/planner.md +0 -398
- package/ai-dev-team/roles/reviewer.md +0 -294
- package/ai-dev-team/rules/.gitkeep +0 -0
- package/ai-dev-team/rules/api-change.md +0 -198
- package/ai-dev-team/rules/document-priority.md +0 -199
- package/ai-dev-team/rules/escalation.md +0 -172
- package/ai-dev-team/rules/iteration.md +0 -236
- package/ai-dev-team/rules/rfc.md +0 -31
- package/ai-dev-team/rules/rollback.md +0 -218
- package/bin/cli.js +0 -127
- package/src/commands/config.js +0 -371
- package/src/commands/docs.js +0 -502
- package/src/commands/interactive.js +0 -392
- package/src/commands/logs.js +0 -81
- package/src/commands/monitor.js +0 -236
- package/src/commands/reset.js +0 -66
- package/src/commands/run.js +0 -739
- package/src/commands/sessions.js +0 -646
- package/src/commands/setup.js +0 -149
- package/src/commands/sprint.js +0 -503
- package/src/commands/status.js +0 -109
- package/src/commands/upgrade.js +0 -416
- package/src/commands/validate.js +0 -289
- package/src/commands/validate.test.js +0 -84
- package/src/ui/dashboard.js +0 -518
- package/src/ui/keyHandler.js +0 -147
- package/src/ui/quickActions.js +0 -111
- package/src/utils/config.js +0 -74
- package/src/utils/files.js +0 -201
- package/src/utils/sessionState.js +0 -513
- package/src/utils/sessionState.process.test.js +0 -101
- package/src/utils/sessionState.test.js +0 -183
- package/src/utils/sprintUtils.js +0 -134
- package/src/utils/taskParser.js +0 -134
- package/src/utils/taskParser.test.js +0 -76
package/README.md
CHANGED
|
@@ -19,14 +19,17 @@
|
|
|
19
19
|
|
|
20
20
|
AI 에이전트 실행 시, 시스템 프롬프트에 다음을 포함합니다:
|
|
21
21
|
|
|
22
|
-
1.
|
|
23
|
-
2.
|
|
24
|
-
3.
|
|
22
|
+
1. **역할 정의** - 역할의 책임과 권한
|
|
23
|
+
2. **모든 규칙 파일 내용** (rules/*.md)
|
|
24
|
+
3. **전문 스킬** (skills/*.md) - 역할에 지정된 기술 스택 가이드
|
|
25
|
+
4. **핵심 산출물 내용** (plan.md, project.md, 현재 스프린트 Task 파일)
|
|
26
|
+
5. **인터페이스 문서 내용** (api.md, ui.md 등)
|
|
25
27
|
|
|
26
28
|
이를 통해 AI는:
|
|
27
29
|
- 문서에 명시된 규칙을 따라야만 함
|
|
28
30
|
- 현재 스프린트 범위를 벗어날 수 없음
|
|
29
31
|
- project.md에 없는 기술을 추가할 수 없음
|
|
32
|
+
- 프로젝트의 코딩 패턴과 스타일을 자동으로 준수
|
|
30
33
|
|
|
31
34
|
**파일명만 나열하지 않고, 내용을 포함**하는 것이 핵심입니다.
|
|
32
35
|
|
|
@@ -44,13 +47,14 @@ npm install -g @silbaram/artifact-driven-agent
|
|
|
44
47
|
npx @silbaram/artifact-driven-agent setup web
|
|
45
48
|
```
|
|
46
49
|
|
|
47
|
-
### 저장소 클론
|
|
50
|
+
### 저장소 클론 (개발자용)
|
|
48
51
|
|
|
49
52
|
```bash
|
|
50
53
|
git clone https://github.com/silbaram/artifact-driven-agent.git
|
|
51
54
|
cd artifact-driven-agent
|
|
52
|
-
npm install
|
|
53
|
-
npm
|
|
55
|
+
npm install # 의존성 설치
|
|
56
|
+
npm run build # TypeScript 컴파일
|
|
57
|
+
npm link # 전역 명령어 등록
|
|
54
58
|
```
|
|
55
59
|
|
|
56
60
|
### 설치 확인
|
|
@@ -152,7 +156,7 @@ ada documenter claude # Documenter가 docs/ 업데이트
|
|
|
152
156
|
# 로컬 미리보기
|
|
153
157
|
ada docs serve
|
|
154
158
|
|
|
155
|
-
# GitHub Pages 배포
|
|
159
|
+
# GitHub Pages 배포 (MkDocs 자동 배포 지원)
|
|
156
160
|
ada docs publish
|
|
157
161
|
```
|
|
158
162
|
|
|
@@ -194,24 +198,38 @@ sprints/sprint-N/
|
|
|
194
198
|
|
|
195
199
|
```
|
|
196
200
|
artifact-driven-agent/
|
|
197
|
-
├── bin/
|
|
201
|
+
├── bin/
|
|
202
|
+
│ └── cli.ts # CLI 진입점 (TypeScript)
|
|
198
203
|
├── src/
|
|
199
|
-
│ ├── commands/ # 명령어 구현
|
|
200
|
-
│ │ ├── setup.
|
|
201
|
-
│ │ ├── run.
|
|
202
|
-
│ │ ├── sprint.
|
|
203
|
-
│ │ ├── sessions.
|
|
204
|
-
│ │ └── config.
|
|
205
|
-
│
|
|
206
|
-
│
|
|
207
|
-
│
|
|
208
|
-
│
|
|
204
|
+
│ ├── commands/ # 명령어 구현 (TypeScript)
|
|
205
|
+
│ │ ├── setup.ts
|
|
206
|
+
│ │ ├── run.ts
|
|
207
|
+
│ │ ├── sprint.ts # 스프린트 관리
|
|
208
|
+
│ │ ├── sessions.ts # 세션 모니터링
|
|
209
|
+
│ │ └── config.ts # 설정 관리
|
|
210
|
+
│ ├── utils/
|
|
211
|
+
│ │ ├── files.ts
|
|
212
|
+
│ │ ├── config.ts # 설정 유틸리티
|
|
213
|
+
│ │ └── sessionState.ts
|
|
214
|
+
│ ├── ui/
|
|
215
|
+
│ │ ├── dashboard.ts # 대시보드
|
|
216
|
+
│ │ └── keyHandler.ts
|
|
217
|
+
│ └── types/ # TypeScript 타입 정의
|
|
218
|
+
│ ├── common.ts
|
|
219
|
+
│ ├── session.ts
|
|
220
|
+
│ ├── config.ts
|
|
221
|
+
│ ├── task.ts
|
|
222
|
+
│ └── index.ts
|
|
223
|
+
├── dist/ # 빌드 출력 (.js 파일)
|
|
224
|
+
├── tsconfig.json # TypeScript 설정
|
|
209
225
|
├── core/ # 범용 핵심
|
|
210
226
|
│ ├── roles/ # 6개 역할
|
|
211
227
|
│ ├── artifacts/ # 산출물 템플릿
|
|
212
228
|
│ │ └── sprints/
|
|
213
229
|
│ │ └── _template/ # 스프린트 템플릿
|
|
214
|
-
│
|
|
230
|
+
│ ├── rules/ # 5개 규칙
|
|
231
|
+
│ └── skills/ # 🆕 스킬 템플릿
|
|
232
|
+
│ └── _template/
|
|
215
233
|
└── templates/ # 프로젝트 유형별
|
|
216
234
|
├── web-dev/
|
|
217
235
|
├── library/
|
|
@@ -248,7 +266,14 @@ ai-dev-team/
|
|
|
248
266
|
│ └── task-005.md
|
|
249
267
|
├── roles/ # core + template 병합
|
|
250
268
|
├── rules/
|
|
251
|
-
├──
|
|
269
|
+
├── skills/ # 🆕 역할별 전문 스킬
|
|
270
|
+
│ ├── _template/
|
|
271
|
+
│ │ └── SKILL.md
|
|
272
|
+
│ ├── spring-boot/
|
|
273
|
+
│ │ └── SKILL.md
|
|
274
|
+
│ └── kotlin/
|
|
275
|
+
│ └── SKILL.md
|
|
276
|
+
├── ada.config.json # 역할별 AI 도구 + 스킬 설정
|
|
252
277
|
├── .ada-status.json # 멀티 세션 상태 파일
|
|
253
278
|
└── .sessions/ # 세션 이력
|
|
254
279
|
└── logs/
|
|
@@ -339,7 +364,7 @@ ada docs generate
|
|
|
339
364
|
# 로컬 문서 서버 실행
|
|
340
365
|
ada docs serve
|
|
341
366
|
|
|
342
|
-
# GitHub Pages 배포
|
|
367
|
+
# GitHub Pages 배포 (MkDocs 자동 배포 지원)
|
|
343
368
|
ada docs publish
|
|
344
369
|
```
|
|
345
370
|
|
|
@@ -348,6 +373,54 @@ ada docs publish
|
|
|
348
373
|
ada documenter claude
|
|
349
374
|
```
|
|
350
375
|
|
|
376
|
+
### 스킬 관리
|
|
377
|
+
|
|
378
|
+
스킬은 AI 도구의 **네이티브 스킬 시스템**을 통해 적용됩니다.
|
|
379
|
+
|
|
380
|
+
| 도구 | 스킬 탐색 경로 |
|
|
381
|
+
|------|---------------|
|
|
382
|
+
| Claude Code | `.claude/skills/` |
|
|
383
|
+
| Gemini CLI | `.gemini/skills/` |
|
|
384
|
+
| Codex | `.agents/skills/` |
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
# 스킬 목록 (ada 저장소)
|
|
388
|
+
ada skills list
|
|
389
|
+
|
|
390
|
+
# 스킬 상세 정보
|
|
391
|
+
ada skills info spring-boot
|
|
392
|
+
|
|
393
|
+
# 스킬 적용 (네이티브 경로에 복사)
|
|
394
|
+
ada skills apply spring-boot # 모든 도구에 적용
|
|
395
|
+
ada skills apply spring-boot claude # 특정 도구에만 적용
|
|
396
|
+
|
|
397
|
+
# 스킬 제거
|
|
398
|
+
ada skills remove spring-boot # 모든 도구에서 제거
|
|
399
|
+
ada skills remove spring-boot gemini # 특정 도구에서만 제거
|
|
400
|
+
|
|
401
|
+
# 적용 상태 확인
|
|
402
|
+
ada skills status
|
|
403
|
+
|
|
404
|
+
# 대화형 적용/삭제 UI
|
|
405
|
+
ada skills ui
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**스킬 추가 방법:**
|
|
409
|
+
커뮤니티나 GitHub에서 스킬을 다운로드하여 `ai-dev-team/skills/` 디렉토리에 추가합니다.
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
# 예시: GitHub에서 스킬 다운로드
|
|
413
|
+
cd ai-dev-team/skills/
|
|
414
|
+
git clone https://github.com/awesome-ada/spring-boot-skill.git spring-boot
|
|
415
|
+
|
|
416
|
+
# 또는 직접 복사
|
|
417
|
+
cp -r /path/to/spring-boot ai-dev-team/skills/
|
|
418
|
+
|
|
419
|
+
# 확인 및 적용
|
|
420
|
+
ada skills list
|
|
421
|
+
ada skills apply spring-boot
|
|
422
|
+
```
|
|
423
|
+
|
|
351
424
|
## 🔄 워크플로우
|
|
352
425
|
|
|
353
426
|
### 신규 프로젝트
|
|
@@ -582,6 +655,183 @@ ada config get roles.manager
|
|
|
582
655
|
|
|
583
656
|
---
|
|
584
657
|
|
|
658
|
+
## 🎓 스킬 시스템
|
|
659
|
+
|
|
660
|
+
역할별로 기술 스택, 패턴, 코딩 스타일 등의 전문 지식을 스킬로 정의하여 AI에게 자동으로 제공할 수 있습니다.
|
|
661
|
+
|
|
662
|
+
### 개념
|
|
663
|
+
|
|
664
|
+
**스킬(Skill)**은 특정 기술이나 패턴에 대한 가이드를 담은 마크다운 문서입니다.
|
|
665
|
+
|
|
666
|
+
- 역할별로 필요한 스킬을 지정하면, AI 실행 시 자동으로 로드됩니다.
|
|
667
|
+
- 프로젝트별 기술 스택 표준화 및 코딩 패턴 통일에 유용합니다.
|
|
668
|
+
|
|
669
|
+
### 스킬 구조
|
|
670
|
+
|
|
671
|
+
```
|
|
672
|
+
ai-dev-team/skills/
|
|
673
|
+
├── _template/ # 템플릿
|
|
674
|
+
│ └── SKILL.md
|
|
675
|
+
├── spring-boot/ # 사용자 생성 스킬
|
|
676
|
+
│ ├── SKILL.md # 메인 파일 (필수)
|
|
677
|
+
│ ├── examples/ # 예시 코드 (선택)
|
|
678
|
+
│ └── references/ # 참조 문서 (선택)
|
|
679
|
+
└── kotlin/
|
|
680
|
+
└── SKILL.md
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
**SKILL.md 예시:**
|
|
684
|
+
```yaml
|
|
685
|
+
---
|
|
686
|
+
name: spring-boot
|
|
687
|
+
description: Spring Boot 백엔드 개발 시 Kotlin, REST API, JPA 패턴 적용
|
|
688
|
+
---
|
|
689
|
+
|
|
690
|
+
# Spring Boot + Kotlin 백엔드 개발
|
|
691
|
+
|
|
692
|
+
## Controller 패턴
|
|
693
|
+
- `@RestController` + `@RequestMapping` 사용
|
|
694
|
+
- 경로는 복수형 명사 (`/api/users`)
|
|
695
|
+
|
|
696
|
+
## Service 계층
|
|
697
|
+
- `@Service` + `@Transactional` 조합
|
|
698
|
+
|
|
699
|
+
## Repository
|
|
700
|
+
- Spring Data JPA 사용
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
### 사용 방법
|
|
704
|
+
|
|
705
|
+
**1. 스킬 다운로드 또는 생성:**
|
|
706
|
+
|
|
707
|
+
커뮤니티에서 검증된 스킬을 다운로드하거나, 직접 생성합니다.
|
|
708
|
+
|
|
709
|
+
```bash
|
|
710
|
+
# 방법 1: 커뮤니티에서 다운로드 (권장)
|
|
711
|
+
cd ai-dev-team/skills/
|
|
712
|
+
git clone https://github.com/awesome-ada/spring-boot-skill.git spring-boot
|
|
713
|
+
git clone https://github.com/awesome-ada/kotlin-skill.git kotlin
|
|
714
|
+
|
|
715
|
+
# 방법 2: 직접 생성
|
|
716
|
+
mkdir -p ai-dev-team/skills/spring-boot
|
|
717
|
+
touch ai-dev-team/skills/spring-boot/SKILL.md
|
|
718
|
+
code ai-dev-team/skills/spring-boot/SKILL.md
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
**2. 스킬 확인:**
|
|
722
|
+
```bash
|
|
723
|
+
ada skills list
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
**3. 스킬 적용 (네이티브 경로에 복사):**
|
|
727
|
+
```bash
|
|
728
|
+
# 모든 도구에 적용
|
|
729
|
+
ada skills apply spring-boot kotlin
|
|
730
|
+
|
|
731
|
+
# 또는 특정 도구에만 적용
|
|
732
|
+
ada skills apply spring-boot claude
|
|
733
|
+
|
|
734
|
+
# 적용 상태 확인
|
|
735
|
+
ada skills status
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
**4. AI 실행:**
|
|
739
|
+
```bash
|
|
740
|
+
ada developer claude
|
|
741
|
+
|
|
742
|
+
# → Claude가 .claude/skills/에서 스킬을 자동으로 로드
|
|
743
|
+
# → 해당 패턴에 맞춰 코드 생성!
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
### 네이티브 스킬 경로
|
|
747
|
+
|
|
748
|
+
각 AI 도구는 자체 스킬 탐색 경로에서 스킬을 자동으로 인식합니다:
|
|
749
|
+
|
|
750
|
+
| 도구 | 스킬 탐색 경로 |
|
|
751
|
+
|------|---------------|
|
|
752
|
+
| Claude Code | `.claude/skills/` |
|
|
753
|
+
| Gemini CLI | `.gemini/skills/` |
|
|
754
|
+
| Codex | `.agents/skills/` |
|
|
755
|
+
|
|
756
|
+
`ada skills apply` 명령은 ada 스킬 저장소의 스킬을 이 네이티브 경로로 복사합니다.
|
|
757
|
+
|
|
758
|
+
```
|
|
759
|
+
ai-dev-team/skills/spring-boot/ → .claude/skills/spring-boot/
|
|
760
|
+
→ .gemini/skills/spring-boot/
|
|
761
|
+
→ .agents/skills/spring-boot/
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
### 작동 원리
|
|
765
|
+
|
|
766
|
+
1. **스킬 저장**: `ai-dev-team/skills/`에 스킬 저장
|
|
767
|
+
2. **스킬 적용**: `ada skills apply`로 네이티브 경로에 복사
|
|
768
|
+
3. **AI 실행**: 각 AI 도구가 자체 스킬 경로에서 자동 로드
|
|
769
|
+
|
|
770
|
+
이를 통해 AI는 프로젝트의 기술 스택과 코딩 패턴을 자동으로 따르게 됩니다.
|
|
771
|
+
|
|
772
|
+
### 예시 시나리오
|
|
773
|
+
|
|
774
|
+
**Spring Boot + Kotlin 프로젝트:**
|
|
775
|
+
|
|
776
|
+
```bash
|
|
777
|
+
# 1. 스킬 다운로드 (커뮤니티에서)
|
|
778
|
+
cd ai-dev-team/skills/
|
|
779
|
+
git clone https://github.com/awesome-ada/spring-boot-skill.git spring-boot
|
|
780
|
+
git clone https://github.com/awesome-ada/kotlin-skill.git kotlin
|
|
781
|
+
git clone https://github.com/awesome-ada/rest-api-skill.git rest-api
|
|
782
|
+
|
|
783
|
+
# 2. 확인
|
|
784
|
+
ada skills list
|
|
785
|
+
|
|
786
|
+
# 3. 스킬 적용 (네이티브 경로에 복사)
|
|
787
|
+
ada skills apply spring-boot
|
|
788
|
+
ada skills apply kotlin
|
|
789
|
+
ada skills apply rest-api
|
|
790
|
+
|
|
791
|
+
# 4. 개발 실행
|
|
792
|
+
ada developer claude
|
|
793
|
+
|
|
794
|
+
# → Controller 작성 시 자동으로:
|
|
795
|
+
# - @RestController + @RequestMapping 패턴 사용
|
|
796
|
+
# - Kotlin data class 활용
|
|
797
|
+
# - REST API 네이밍 규칙 준수
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
**Python FastAPI 프로젝트:**
|
|
801
|
+
|
|
802
|
+
```bash
|
|
803
|
+
# 커뮤니티에서 스킬 다운로드
|
|
804
|
+
cd ai-dev-team/skills/
|
|
805
|
+
git clone https://github.com/awesome-ada/fastapi-skill.git fastapi
|
|
806
|
+
git clone https://github.com/awesome-ada/pydantic-skill.git pydantic
|
|
807
|
+
|
|
808
|
+
# 스킬 적용
|
|
809
|
+
ada skills apply fastapi
|
|
810
|
+
ada skills apply pydantic
|
|
811
|
+
|
|
812
|
+
ada developer claude
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
### 스킬 관리 명령어
|
|
816
|
+
|
|
817
|
+
| 명령어 | 설명 |
|
|
818
|
+
|--------|------|
|
|
819
|
+
| `ada skills list` | 스킬 목록 (적용 상태 포함) |
|
|
820
|
+
| `ada skills info <name>` | 스킬 상세 정보 |
|
|
821
|
+
| `ada skills apply <name> [tool]` | 스킬 적용 (네이티브 경로에 복사) |
|
|
822
|
+
| `ada skills remove <name> [tool]` | 스킬 제거 |
|
|
823
|
+
| `ada skills status` | 도구별 적용 상태 확인 |
|
|
824
|
+
| `ada skills ui` | 대화형 스킬 적용/삭제 |
|
|
825
|
+
|
|
826
|
+
**지원 도구:** `claude`, `gemini`, `codex`
|
|
827
|
+
|
|
828
|
+
**스킬 추가 방법:**
|
|
829
|
+
- 커뮤니티 저장소에서 다운로드
|
|
830
|
+
- 직접 `ai-dev-team/skills/<name>/SKILL.md` 생성
|
|
831
|
+
- 팀 내부 스킬 공유
|
|
832
|
+
|
|
833
|
+
---
|
|
834
|
+
|
|
585
835
|
## ⚠️ 핵심 원칙
|
|
586
836
|
|
|
587
837
|
### 금지 사항
|
|
@@ -666,14 +916,35 @@ ada config get roles.manager
|
|
|
666
916
|
```bash
|
|
667
917
|
git clone https://github.com/silbaram/artifact-driven-agent.git
|
|
668
918
|
cd artifact-driven-agent
|
|
669
|
-
npm install
|
|
670
|
-
npm
|
|
919
|
+
npm install # 의존성 설치
|
|
920
|
+
npm run build # TypeScript 컴파일
|
|
921
|
+
npm link # 전역 ada 명령어 등록
|
|
671
922
|
```
|
|
672
923
|
|
|
673
|
-
###
|
|
924
|
+
### 개발 스크립트
|
|
674
925
|
|
|
675
926
|
```bash
|
|
676
|
-
npm
|
|
927
|
+
npm run build # TypeScript 컴파일 (dist/ 생성)
|
|
928
|
+
npm run dev # TypeScript watch 모드 (개발 중)
|
|
929
|
+
npm run typecheck # 타입 체크만 실행
|
|
930
|
+
npm test # 테스트 실행 (Node.js 내장 test runner)
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
### 프로젝트 구조 (TypeScript)
|
|
934
|
+
|
|
935
|
+
```
|
|
936
|
+
artifact-driven-agent/
|
|
937
|
+
├── bin/
|
|
938
|
+
│ └── cli.ts # CLI 진입점 (TypeScript)
|
|
939
|
+
├── src/
|
|
940
|
+
│ ├── commands/ # 명령어 구현 (.ts)
|
|
941
|
+
│ ├── utils/ # 유틸리티 (.ts)
|
|
942
|
+
│ ├── ui/ # UI 컴포넌트 (.ts)
|
|
943
|
+
│ └── types/ # TypeScript 타입 정의
|
|
944
|
+
├── dist/ # 빌드 출력 (npm run build)
|
|
945
|
+
├── tsconfig.json # TypeScript 설정
|
|
946
|
+
├── core/ # 프레임워크 핵심
|
|
947
|
+
└── templates/ # 프로젝트 템플릿
|
|
677
948
|
```
|
|
678
949
|
|
|
679
950
|
---
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "1.0",
|
|
3
|
-
"updatedAt": "",
|
|
4
|
-
"currentPhase": "idle",
|
|
5
|
-
"activeSessions": [],
|
|
6
|
-
"pendingQuestions": [],
|
|
7
|
-
"taskProgress": {},
|
|
8
|
-
"notifications": [],
|
|
9
|
-
"locks": {}
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"updatedAt": "",
|
|
4
|
+
"currentPhase": "idle",
|
|
5
|
+
"activeSessions": [],
|
|
6
|
+
"pendingQuestions": [],
|
|
7
|
+
"taskProgress": {},
|
|
8
|
+
"notifications": [],
|
|
9
|
+
"locks": {}
|
|
10
|
+
}
|
package/ai-dev-team/README.md
CHANGED
|
@@ -1,44 +1,39 @@
|
|
|
1
|
-
# AI
|
|
2
|
-
|
|
3
|
-
이 디렉토리는 AI 에이전트 기반
|
|
4
|
-
|
|
5
|
-
## 📋 사용 방법
|
|
6
|
-
|
|
7
|
-
### 1단계:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
#
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
## ⚠️ 주의사항
|
|
41
|
-
|
|
42
|
-
- `setup` 명령어는 기존 파일을 **덮어씁니다**
|
|
43
|
-
- 산출물(artifacts/)의 내용은 프로젝트 진행 중 수정됩니다
|
|
44
|
-
- 역할(roles/)과 규칙(rules/)은 수정하지 마세요
|
|
1
|
+
# Artifact-Driven AI Agent Workspace
|
|
2
|
+
|
|
3
|
+
이 디렉토리는 ADA 프레임워크를 통해 관리되는 AI 에이전트 기반 개발 공간입니다.
|
|
4
|
+
|
|
5
|
+
## 📋 사용 방법
|
|
6
|
+
|
|
7
|
+
### 1단계: 프로젝트 설정 (최초 1회)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
ada setup web # 웹 서비스 (React, Next.js 등)
|
|
11
|
+
ada setup library # 공통 라이브러리
|
|
12
|
+
ada setup game # 게임 개발
|
|
13
|
+
ada setup cli # CLI 도구
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### 2단계: 에이전트 실행
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# 기본 실행 (ada.config.json 설정 사용)
|
|
20
|
+
ada run
|
|
21
|
+
|
|
22
|
+
# 도구 지정 실행
|
|
23
|
+
ada run developer claude
|
|
24
|
+
ada run planner gemini
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 📁 주요 구조
|
|
28
|
+
|
|
29
|
+
- `artifacts/`: `plan.md`, `backlog/`, `sprints/` 등 모든 산출물
|
|
30
|
+
- `roles/`: 각 에이전트의 페르소나 및 책임 정의
|
|
31
|
+
- `rules/`: 스프린트 운영 및 코드 품질 규칙
|
|
32
|
+
- `skills/`: 역할별 전문 기술 스택 가이드 (Spring, React 등)
|
|
33
|
+
- `ada.config.json`: 역할별 AI 도구 및 스킬 연결 설정
|
|
34
|
+
|
|
35
|
+
## ⚠️ 주의사항
|
|
36
|
+
|
|
37
|
+
- 모든 개발 판단은 `artifacts/` 내의 문서를 기준으로 합니다.
|
|
38
|
+
- `roles/`와 `rules/`의 코어 파일은 직접 수정하지 말고, 설정이나 스킬 추가를 통해 제어하세요.
|
|
39
|
+
- 스프린트 작업 완료 후 반드시 `ada sprint close`를 통해 정리하세요.
|