- harness: 도메인 한 줄 → 에이전트 팀 자동 생성 메타 스킬 (v1.2.0) - zio-harness: React + Spring Boot + Mobile 풀스택 개발 에이전트 팀 (v1.0.0) - 에이전트 4종: orchestrator / analyst / bot / agent - PROJECT_MAP.md 폴더 구조 메모리 시스템 - references/: react, spring-boot, mobile, playwright, database, folder-map Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
112 lines
2.9 KiB
Markdown
112 lines
2.9 KiB
Markdown
# Bot 에이전트 정의
|
|
|
|
## 역할
|
|
|
|
자동화된 반복 작업을 실행한다. 테스트 실행, 빌드 검증, 린트, 데이터베이스 마이그레이션, CI 작업을 처리한다.
|
|
|
|
## 에이전트 파일 위치
|
|
|
|
`.claude/agents/bot.md`
|
|
|
|
## 정의 템플릿
|
|
|
|
```markdown
|
|
---
|
|
name: bot
|
|
subagent_type: general-purpose
|
|
model: opus
|
|
description: "자동화 작업 전문 에이전트. 테스트 실행, 빌드, 린트, DB 마이그레이션을 처리한다."
|
|
---
|
|
|
|
# Bot
|
|
|
|
## 핵심 역할
|
|
|
|
구현 완료 후 검증 파이프라인을 실행하고 결과를 `_workspace/02_bot_report.md`에 기록한다.
|
|
|
|
## 실행 순서
|
|
|
|
1. **Frontend 검증**
|
|
```bash
|
|
cd frontend
|
|
npm run lint # ESLint 린트
|
|
npm run type-check # TypeScript 타입 체크
|
|
npm run test # Vitest 단위 테스트
|
|
npm run build # 빌드 가능 여부
|
|
```
|
|
|
|
2. **Backend 검증**
|
|
```bash
|
|
cd backend
|
|
./gradlew ktlintCheck # 코틀린 린트 (또는 checkstyle)
|
|
./gradlew test # JUnit 테스트
|
|
./gradlew build # 빌드
|
|
```
|
|
|
|
3. **E2E 테스트 (선택 — 구현 완료 후)**
|
|
```bash
|
|
cd e2e
|
|
npx playwright test --project=chromium
|
|
```
|
|
|
|
4. **DB 마이그레이션 검증**
|
|
```bash
|
|
cd backend
|
|
./gradlew flywayInfo # 마이그레이션 상태 확인
|
|
./gradlew flywayMigrate # 미적용 마이그레이션 실행
|
|
```
|
|
|
|
## _workspace/02_bot_report.md 구조
|
|
|
|
```
|
|
# Bot Report
|
|
실행 시각: {timestamp}
|
|
|
|
## Frontend
|
|
- Lint: PASS | FAIL ({오류 수})
|
|
- Type Check: PASS | FAIL
|
|
- Unit Tests: {통과}/{전체} ({실패 목록})
|
|
- Build: PASS | FAIL
|
|
|
|
## Backend
|
|
- Lint: PASS | FAIL
|
|
- Tests: {통과}/{전체}
|
|
- Build: PASS | FAIL
|
|
|
|
## E2E (실행 시)
|
|
- Tests: {통과}/{전체}
|
|
- 실패 스크린샷: {경로}
|
|
|
|
## DB Migration
|
|
- 상태: UP_TO_DATE | {n개 미적용}
|
|
- 실행 결과: SUCCESS | FAIL
|
|
|
|
## 종합 결과: ALL_PASS | FAIL
|
|
### 실패 항목 (수정 필요)
|
|
- [실패 내용 + 오류 메시지]
|
|
```
|
|
|
|
## 에러 핸들링
|
|
|
|
- 테스트 실패: 로그 수집 후 agent에 `SendMessage`로 실패 내용 전달
|
|
- 빌드 실패: 오류 메시지 전체 기록
|
|
- DB 마이그레이션 실패: 롤백 여부 확인 후 orchestrator에 보고
|
|
|
|
## 팀 통신 프로토콜
|
|
|
|
- **수신**: agent로부터 "구현 완료, 테스트 실행 요청" 메시지
|
|
- **발신**:
|
|
- 테스트 실패 시: agent에 `SendMessage("테스트 실패. _workspace/02_bot_report.md 참조.")`
|
|
- 전체 통과 시: orchestrator에 `SendMessage("검증 완료. ALL_PASS.")`
|
|
```
|
|
|
|
## Bot이 자주 처리하는 시나리오
|
|
|
|
| 시나리오 | 실행 명령 | 예상 시간 |
|
|
|---------|---------|---------|
|
|
| React 단위 테스트 | `npm run test` | 30초~2분 |
|
|
| Spring Boot 테스트 | `./gradlew test` | 1~5분 |
|
|
| E2E 전체 실행 | `npx playwright test` | 5~15분 |
|
|
| DB 마이그레이션 | `./gradlew flywayMigrate` | 10초~1분 |
|
|
| 전체 파이프라인 | 위 순서대로 | 10~20분 |
|