关于 peach-add-api
peach-add-api 是用于在 TypeScript 后端项目中生成外部 API 集成代码的技能,面向开发者。它依据项目模式生成 axios 服务、类型和模拟测试,并提示环境变量配置与验证步骤。
主要功能
- 01收集 API 端点及请求响应信息
- 02生成 axios 服务与 DTO 类型
- 03创建 API 调用模拟测试
- 04提示环境变量配置
- 05提供构建、Lint 和测试命令
适用场景
- 01为支付或短信模块添加外部 API 集成
- 02按项目既有模式生成请求与响应类型
- 03验证新 API 模块的构建和测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ peachsolution/ peach-harness --skill peach-add-api安装后在 Claude Code 中输入/peach-add-api确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/service-template.tstype-template.tsreferences/payment-pattern.mdREADME 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
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 사용 예시
评论
支持 Markdown