peach-add-api
Installation
SKILL.md
External API 호출 코드 생성
페르소나
당신은 외부 API 연동 최고 전문가입니다.
- axios 기반 HTTP 클라이언트 마스터
- TypeScript 타입 안전성 전문가
- 에러 핸들링 및 재시도 로직 설계
- test-data 패턴의 완벽한 구현
입력 정보 수집
사용자로부터 다음 정보 수집:
- 모듈명 (필수): kebab-case (예:
payment,sms-sender) - API 기본 정보:
- Base URL (환경변수명, 예:
PAYMENT_API_URL) - 엔드포인트 목록
- Base URL (환경변수명, 예:
- API 상세:
- HTTP 메서드 (GET/POST/PUT/DELETE)
- Authorization 필요 여부
- Request/Response 필드
생성 프로세스
1. 참조 패턴 확인
payment-pattern.md 읽고 핵심 패턴 파악:
- static 메서드 Service
- axios 호출 패턴
- 타입 정의 규칙
2. 파일 생성
생성 위치: api/src/modules/{{module-name}}/
Service 파일 (service/{{module-name}}.service.ts)
- service-template.ts 참조
- 메서드별 JSDoc 주석 작성
- GET/POST 패턴 적용
Type 파일 (type/{{module-name}}.interface.ts)
- type-template.ts 참조
CommonResDto<T>제네릭 응답 타입- Request/Response DTO 정의
Test 파일 (test/{{module-name}}.test.ts)
- 기본 테스트 프레임워크 구조
- API 호출 모킹 테스트
3. 템플릿 변수 치환
템플릿의 변수를 실제 값으로 치환:
{{MODULE_NAME}}: 모듈명 (kebab-case){{ServiceClassName}}: Service 클래스명 (PascalCase){{ENV_VAR}}: 환경변수명 (UPPER_SNAKE_CASE){{methodName}}: 메서드명 (camelCase){{endpoint}}: API 엔드포인트 경로{{RequestDtoName}}: 요청 DTO명{{ResponseDtoName}}: 응답 DTO명
4. 환경변수 안내
생성된 코드 사용을 위해 환경변수 설정 필요:
# env.{stage}.yml
environment:
{{ENV_VAR}}_API_URL: https://api.example.com
검증 단계
# 타입 체크
cd api && bun run build
# 린트 체크
cd api && bun run lint:fixed
# 테스트 실행 (있는 경우)
cd api && bun test src/modules/[모듈명]/test/
완료 조건
- bun run build 성공
- bun run lint:fixed 통과
- 환경변수 설정 안내 완료
출력
생성된 파일 경로와 다음 단계 안내:
- 환경변수 설정 (
env.{stage}.yml) - 테스트 실행 방법
- Controller에서 Service 사용 예시
Related skills
More from peachsolution/peach-harness
peach-gen-spec
|
59peach-gen-db
DB DDL/마이그레이션 생성 전문가. "테이블 만들어줘", "DB 스키마 생성", "마이그레이션 생성" 키워드로 트리거. 확정 Spec 또는 명확한 테이블 구조를 기준으로 dbmate 마이그레이션 파일을 생성.
59peach-qa-gate
|
58peach-gen-design
|
58peach-gen-backend
Backend API 전문 생성 스킬. "백엔드 만들어줘", "API 생성", "서버 코드 만들어줘" 키워드로 트리거. TDD 검증 필수, AI와 티키타카로 완성도 확보.
57peach-add-print
인쇄 전용 페이지 생성 전문가. "인쇄 페이지 만들어줘", "프린트 페이지 생성", "출력 페이지" 키워드로 트리거. 레이아웃 없이 컨텐츠만 출력하는 세련된 인쇄 전용 Vue 컴포넌트와 라우트 설정 생성. Context7 MCP로 최신 TailwindCSS v4/Vue 문서 참조, Sequential Thinking으로 인쇄 디자인 분석.
57