112 lines
4.1 KiB
Markdown
112 lines
4.1 KiB
Markdown
---
|
|
name: kccf-orchestrate
|
|
description: "KCCF 프로젝트 개발 전체 워크플로우를 조율하는 오케스트레이터. 신규 기능 개발, 화면 추가, 버그 수정, 코드 리뷰, 보안 점검 등 KCCF 관련 모든 개발 작업 요청 시 이 스킬을 사용한다. 'KCCF', 'kccf', '사업', '활동', '지방문화원', '게시판', '화면', '모듈', '기능 추가', '버그 수정', '수정', '개발' 키워드 포함 시 항상 이 스킬로 진입. 다시 실행, 재실행, 수정, 보완, 업데이트 요청도 포함."
|
|
---
|
|
|
|
# KCCF 개발 오케스트레이터
|
|
|
|
## 프로젝트 개요
|
|
|
|
- **시스템:** KCCF 문화예술 사업 관리 시스템
|
|
- **경로:** `D:\tools\total_dev\eGovFrameDev-4.1.0-64bit_06_kccf\workspace\kccf`
|
|
- **스택:** eGovFramework 4.0.0 + Spring 5.3.6 + MyBatis + JSP/Tiles
|
|
- **도메인:** bsns(사업) - act(활동) - lcltt(지방문화원) - bbs(게시판) - auth(권한)
|
|
|
|
## Phase 0: 컨텍스트 확인
|
|
|
|
시작 시 `_workspace/` 존재 여부 확인:
|
|
- **없음** → 초기 실행 (Phase 1부터)
|
|
- **있음 + 부분 재실행 요청** → 해당 Phase만 재실행
|
|
- **있음 + 새 요청** → `_workspace/`를 `_workspace_prev/`로 이동 후 새 실행
|
|
|
|
## Phase 1: 요청 분류
|
|
|
|
요청 유형을 판단하여 실행 경로를 선택한다:
|
|
|
|
| 요청 유형 | 실행 경로 |
|
|
|----------|----------|
|
|
| 신규 CRUD 모듈 | Phase 2 → 3 → 4 (전체) |
|
|
| 기존 화면/기능 수정 | 분석 축약 → 해당 파일만 수정 |
|
|
| 버그 수정 | 오류 파악 → 단일 파일 수정 |
|
|
| 쿼리/Mapper 작업 | mybatis-mapper 스킬 직접 호출 |
|
|
| 보안 검토 | kccf-security-check 스킬 직접 호출 |
|
|
| 단순 질문 | 직접 답변 (에이전트 불필요) |
|
|
|
|
## Phase 2: 분석 (kccf-analyst)
|
|
|
|
Agent(kccf-analyst, model="opus")에게 요청:
|
|
- 요구사항 텍스트 전달
|
|
- 유사 기존 모듈 파악 지시
|
|
- 출력: `_workspace/01_analyst_design.md`
|
|
|
|
## Phase 3: 개발 (병렬 팀)
|
|
|
|
`_workspace/01_analyst_design.md` 기반으로 병렬 실행:
|
|
|
|
**kccf-backend** (model="opus"):
|
|
- VO → DAO → Service → Controller → Mapper XML 순서로 생성
|
|
- 출력: `_workspace/02_backend_result.md`
|
|
|
|
**kccf-frontend** (model="opus"):
|
|
- 백엔드 완료 후 또는 병렬로 JSP 화면 생성
|
|
- 출력: `_workspace/03_frontend_result.md`
|
|
|
|
## Phase 4: 리뷰 (kccf-reviewer)
|
|
|
|
Agent(kccf-reviewer, model="opus")에게 요청:
|
|
- 생성 파일 목록 전달 (`_workspace/02_backend_result.md`, `_workspace/03_frontend_result.md`)
|
|
- 필수 수정 항목은 즉시 Edit 적용
|
|
- 출력: `_workspace/04_review_result.md`
|
|
|
|
## 완료 보고 형식
|
|
|
|
```
|
|
## 작업 완료
|
|
|
|
### 생성/수정 파일
|
|
- [경로] 역할
|
|
|
|
### 리뷰 결과
|
|
- 수정 항목: N건 (처리 완료)
|
|
|
|
### 다음 단계 (필요 시)
|
|
- 빌드 확인: mvn compile
|
|
- 서버 재시작 후 URL 접속 확인
|
|
```
|
|
|
|
## 데이터 전달 규칙
|
|
|
|
- 에이전트 간 중간 산출물: `_workspace/` 폴더
|
|
- 파일명: `{phase번호}_{에이전트}_{산출물}.md`
|
|
- 최종 파일: 실제 프로젝트 경로에 직접 Write
|
|
|
|
## 에러 핸들링
|
|
|
|
- 에이전트 실패 시: 해당 Phase 1회 재시도, 재실패 시 현재까지 결과 보고 후 사용자에게 확인
|
|
- 설계 명세 불명확 시: analyst가 합리적 가정을 하고 `_workspace/01_analyst_design.md`에 가정 목록 기재
|
|
- 컴파일 오류 예상 코드: `_workspace/02_backend_result.md`에 "주의" 섹션으로 명시
|
|
|
|
## 에이전트 팀 구성
|
|
|
|
```
|
|
오케스트레이터
|
|
├── Phase 2: kccf-analyst (서브 에이전트)
|
|
├── Phase 3: kccf-backend + kccf-frontend (병렬 팀)
|
|
└── Phase 4: kccf-reviewer (서브 에이전트)
|
|
```
|
|
|
|
## 테스트 시나리오
|
|
|
|
**정상 흐름:**
|
|
1. "회원 포인트 적립 이력 관리 화면 만들어줘"
|
|
2. analyst → 도메인 설계 (point 모듈)
|
|
3. backend → VO/DAO/Service/Controller/Mapper 생성
|
|
4. frontend → list/regist JSP 생성
|
|
5. reviewer → 보안/패턴 검토
|
|
|
|
**에러 흐름:**
|
|
- "bsnsListPage 클릭 시 500 에러"
|
|
→ Phase 1 분류: 버그 수정
|
|
→ analyst 없이: BsnsController, BsnsService, Mapper XML 직접 읽기
|
|
→ 오류 원인 파악 후 해당 파일만 Edit
|