--- name: egov-crud-module description: "eGovFramework 패턴의 CRUD 모듈 전체를 생성한다 (VO, DAO, Service, Controller, MyBatis Mapper XML, JSP). 신규 화면/기능 추가, CRUD 구현, 모듈 생성 요청 시 반드시 이 스킬을 사용한다. '~화면 만들어줘', '~기능 추가', '~모듈 생성' 요청에 항상 적용." --- # eGovFramework CRUD 모듈 생성 스킬 ## 실행 모드 하이브리드: Phase 1(분석)은 서브 에이전트, Phase 2(개발)는 에이전트 팀, Phase 3(리뷰)은 서브 에이전트 ## Phase 0: 컨텍스트 확인 `_workspace/` 존재 여부 확인: - 있고 부분 재실행 요청 → 해당 Phase만 재실행 - 있고 새 요청 → `_workspace/`를 `_workspace_prev/`로 이동 후 새 실행 - 없음 → 초기 실행 ## Phase 1: 분석 (kccf-analyst 서브 에이전트) Agent(kccf-analyst)에게 다음을 요청한다: 1. 요구사항 분석 및 도메인 모델 설계 2. 참조할 기존 모듈 파악 (bsns, act, lcltt 중 유사한 것) 3. `_workspace/01_analyst_design.md` 출력 분석 명세에 포함되어야 할 내용: - 패키지 경로, 테이블명, 핵심 필드 - Controller URL 목록 (목록페이지, Ajax목록, 상세페이지, insert, delete) - 화면 JSP 경로 목록 - 사용할 코드그룹 목록 - 특이사항 (파일첨부, 팝업, 권한 등) ## Phase 2: 개발 (에이전트 팀: kccf-backend + kccf-frontend 병렬) `_workspace/01_analyst_design.md`를 두 에이전트가 공유하고 병렬 작업한다. ### kccf-backend 담당 순서대로 생성: 1. VO 클래스 (`kccf/{module}/vo/{Module}VO.java`) 2. DAO 인터페이스 (`kccf/{module}/dao/{Module}DAO.java`) 3. Service 인터페이스 (`kccf/{module}/service/{Module}Service.java`) 4. ServiceImpl (`kccf/{module}/service/impl/{Module}ServiceImpl.java`) 5. Controller (`kccf/{module}/web/{Module}Controller.java`) 6. MyBatis Mapper XML (`resources/egovframework/mapper/kccf/{module}/{Module}_SQL.xml`) ### kccf-frontend 담당 백엔드 VO/URL 명세를 기반으로: 1. 목록 JSP (`WEB-INF/jsp/mng/{module}/list{Module}.jsp`) 2. 등록/수정 JSP (`WEB-INF/jsp/mng/{module}/{module}Regist.jsp`) 3. 필요 시 팝업 JSP ## Phase 3: 리뷰 (kccf-reviewer 서브 에이전트) 생성된 파일 목록을 전달하고 검토 요청: - 보안 취약점, 패턴 오류, 누락 항목 확인 - 필수 수정 항목은 즉시 Edit로 수정 ## 완료 보고 사용자에게 다음을 보고한다: ``` ## 생성 완료 ### 백엔드 - {파일 경로} — {역할} ### 프론트엔드 - {파일 경로} — {화면명} ### 리뷰 결과 - 수정 항목: {건수}건 - 상태: 통과 / 수정 완료 ``` ## 참조 - 기존 bsns 모듈: `src/main/java/kccf/bsns/` - 기존 act 모듈: `src/main/java/kccf/act/` - Mapper XML 예시: `src/main/resources/egovframework/mapper/` - 상세 패턴: `references/patterns.md`