5b024d9b9c
- 09_UI_DESIGN.md 신규: Ant Design 테마 토큰, 글로벌 CSS 변수, 레이아웃 규격(Header 48px / Sider 220px), 페이지 표준 3종(목록/상세/대시보드), 공통 컴포넌트 스타일(CodeBadge/MoneyText/SearchForm/DataTable/DataGrid), 등록·수정 폼 규칙(Drawer), 화면별 와이어프레임 6종, 신입 체크리스트 - 00_PROMPTS.md: 프롬프트 3 frontend-developer 가 09_UI_DESIGN.md 도 함께 참조 - 06_FRONTEND_SPEC.md: 상단에 디자인 시스템 참조 추가 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.8 KiB
6.8 KiB
00_PROMPTS — Claude Code 실행 프롬프트 모음
사전 준비
1) Agent Teams 활성화 (~/.claude/settings.json)
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
2) Git Worktree 격리 (선택)
git init ga-commission-system && cd ga-commission-system
git commit --allow-empty -m "init"
git worktree add ../ga-wt-common -b feat/common
git worktree add ../ga-wt-core -b feat/core
git worktree add ../ga-wt-batch -b feat/batch
git worktree add ../ga-wt-api -b feat/api
git worktree add ../ga-wt-front -b feat/frontend
git worktree add ../ga-wt-infra -b feat/infra
3) 본 docs/ 폴더의 모든 파일을 프로젝트 루트에 배치
docs/01_DB_SCHEMA.md~docs/08_DBA_SPEC.md(8 spec)docs/00_PROMPTS.md(this file)
각 프롬프트 안에 "docs/0N_*.md 읽어줘" 지시가 들어 있어, Claude Code 가 자동으로 해당 spec 을 읽고 그대로 구현합니다.
프롬프트 1: 리더 단독 — 프로젝트 뼈대 + DB
GA(법인보험대리점) 수수료 정산 솔루션 프로젝트를 만들어줘.
docs/01_DB_SCHEMA.md 를 읽고 그대로 구현해줘.
핵심 요약:
- Java 17 + Spring Boot 3.2 + MyBatis 3 (JPA 아님!) + PageHelper
- PostgreSQL + Redis + Flyway
- React 18 + Vite + Ant Design 5 + AG Grid Community
- Gradle 멀티모듈: ga-common / ga-core / ga-batch / ga-api / ga-admin / ga-frontend
작업:
1. settings.gradle / build.gradle / 모듈별 build.gradle
2. application.yml (mybatis-config 포함, mapUnderscoreToCamelCase=true)
3. Flyway V1~V17 SQL 전부 작성 (docs/01 의 스키마/초기데이터/인덱스/파티션/뷰/관리자/테스트데이터)
4. 모듈별 빈 패키지 + 진입점 (GaApiApplication 등)
완료 후 ./gradlew build 가 통과해야 함.
프롬프트 2: 리더 단독 — ga-common 공통 프레임워크
docs/02_COMMON_SPEC.md 를 읽고 ga-common 모듈을 그대로 구현해줘.
핵심:
- 신입 개발자가 학습하기 쉬운 단순/명시적 코드 우선
- 패키지 구조: model / exception / util / annotation / aop / auth / security /
config / mybatis / grid / code / menu / excel / file / system / notification
- 모든 Controller 가 ApiResponse<T> 형태로 응답
- 검색 파라미터는 SearchParam 상속, 페이징은 PageHelper + PageResponse.of()
- @RequirePermission / @DataChangeLog / @ExcelColumn / @Mask 어노테이션 + AOP
- JWT (HS256) + BCrypt + AES-256 CBC 암호화 (EncryptTypeHandler)
- Excel SXSSF + xlsx-streamer 으로 100만건/70만건 처리
- 공통코드 Redis 캐시 (@Cacheable)
- 메뉴 트리 빌더 + 권한 체커
- ga-frontend 의 공통 컴포넌트 (CodeSelect / CodeBadge / SearchForm /
DataTable / DataGrid / PermissionButton / ExcelExportButton 등) 도 함께 작성
완료 후 ./gradlew :ga-common:build 통과 + 다른 팀원이 ga-common 만 의존하면 즉시 시작 가능해야 함.
프롬프트 3: Agent Teams 5명 병렬 스폰
GA 수수료 정산 솔루션의 뼈대 + ga-common 이 완성됐어.
Agent Teams 5명을 병렬로 스폰해줘.
각 팀원은 자기 담당 docs 파일을 읽고 그대로 구현한다:
1) core-architect → docs/03_CORE_SPEC.md → ga-core (VO/Mapper/XML)
2) batch-engineer → docs/04_BATCH_SPEC.md → ga-batch (8 Step)
3) api-developer → docs/05_API_SPEC.md → ga-api (Controller/Service)
4) frontend-developer → docs/06_FRONTEND_SPEC.md
+ docs/09_UI_DESIGN.md → ga-frontend (13 화면 + 디자인 시스템)
5) dba-architect → docs/08_DBA_SPEC.md → V13~V15 + 인덱스/파티션/뷰
의존성:
- core-architect 가 가장 먼저 (다른 팀원이 VO/Mapper 사용)
- batch / api / frontend 는 core 완료 후 병렬 시작
- dba 는 core 의 Mapper XML 검증 후 인덱스/파티셔닝 적용
각 팀원 작업 규칙:
- 담당 모듈만 수정 (다른 팀 코드 건드리지 말기)
- ga-common 의 표준 패턴(ApiResponse, PageResponse, SearchParam, @RequirePermission,
@DataChangeLog) 을 반드시 따른다
- Mapper XML 은 SELECT * 금지 (필드 명시), 목록은 XxxResp 에 매핑
- 신입이 복붙 후 수정만으로 새 화면 만들 수 있도록 동일 패턴 유지
- 완료 시 리더에게 "[팀명] 완료" 메시지
팀을 만들고 작업을 시작해줘.
프롬프트 4: 리더 단독 — 인프라 + 통합 검증
모든 팀원 작업 완료. docs/07_INFRA_SPEC.md 를 읽고 마지막 작업을 해줘.
작업:
1. docker-compose.yml: postgres / redis / api / batch / frontend
2. Dockerfile: 멀티스테이지 (Gradle 빌드 → JRE 17 실행)
3. nginx.conf: React SPA + /api → backend:8080 프록시
4. README.md: 시나리오 A(운영 DB) / B(로컬) / C(Docker) 3 가지 실행 가이드
5. DEVELOPER_GUIDE.md: 신입 개발자 온보딩 (새 화면 만들기 step-by-step)
통합 검증:
- ./gradlew clean build 성공
- cd ga-frontend && npm install && npm run build 성공
- docker-compose up -d --build 전체 기동 후 http://localhost:3000 로그인 동작
- Flyway V1~V17 자동 적용 확인
- 단위 테스트 ./gradlew test 통과
문제 있으면 수정 후 v1.0.0-alpha 태그.
프롬프트 5: 리더 단독 — 단위 테스트 (선택)
docs/02_COMMON_SPEC.md / 04_BATCH_SPEC.md 를 참고해 단위 테스트를 추가해줘.
대상:
- ga-common 유틸: MoneyUtilTest / DateUtilTest / MaskUtilTest / EncryptUtilTest
- ga-common 서비스: CommonCodeServiceTest / MenuTreeBuilderTest / PermissionCheckerTest
- ga-batch 핵심 로직: CommissionCalculatorTest / MappingEngineTest
규칙:
- JUnit 5 + Mockito + AssertJ (spring-boot-starter-test 에 포함)
- @Cacheable / @CacheEvict 는 단위 테스트에서 동작 안 함 → 비즈니스 로직만 검증
- Mockito strict stubbing 위반 주의 (@BeforeEach 의 stub 은 모든 테스트가 사용해야 함)
- 모든 테스트 통과 후 커밋
프롬프트 6: 리더 단독 — 운영 DB 배포 (선택)
운영 DB(192.168.0.60:55432/trading_ai/ga) 에 V1~V17 마이그레이션 + 테스트 데이터를 적용해줘.
방법:
- Python + pg8000 으로 migrate.py 작성 (저장소 외부에 둔다)
- ga 스키마 존재 여부 확인 후 idempotent guard
- application-trading_ai.yml 프로파일 추가 (currentSchema=ga)
- 실행: ./gradlew :ga-api:bootRun --args='--spring.profiles.active=trading_ai'
확인:
- /api/health 200
- /login admin / admin1234! 로 토큰 발급
- 메뉴 트리 / 공통코드 / 설계사 50명 / 계약 200건 조회 OK
비용 절약 팁
- 리더: Opus / 팀원: Sonnet (하이브리드 모델)
- 5명이 적정. 그 이상은 조율 오버헤드 증가
- 작업 범위 명확 + 서로 독립적일수록 효과적
--dangerously-skip-permissions사용 시 모든 팀원 동일 권한