Manusで任意のスキルを実行
ワンクリックで
ワンクリックで
ワンクリックでManusで任意のスキルを実行
始めるgenerate-api
Swagger 기반으로 DTO 타입과 API 쿼리 훅을 자동 생성하는 스킬. API 생성, 훅 생성, 타입 생성 관련 요청에서 트리거된다.
スター3
フォーク0
更新日2026年2月19日 15:15
SKILL.md
readonlyメニュー
Swagger 기반으로 DTO 타입과 API 쿼리 훅을 자동 생성하는 스킬. API 생성, 훅 생성, 타입 생성 관련 요청에서 트리거된다.
변경사항을 분석하여 맥락별로 커밋을 생성하는 스킬. 여러 맥락이 섞여 있으면 분리하고, 단일 맥락이면 하나의 커밋으로 생성한다. git diff, git status 등 변경사항 확인이 필요한 상황에서 자동으로 트리거된다.
현재 브랜치의 변경사항을 분석하여 원격에 푸시하고 develop 브랜치 대상으로 Draft PR을 생성하는 스킬. PR 생성, 푸시, pull request 관련 요청에서 자동으로 트리거된다.
| name | generate-api |
| description | Swagger 기반으로 DTO 타입과 API 쿼리 훅을 자동 생성하는 스킬. API 생성, 훅 생성, 타입 생성 관련 요청에서 트리거된다. |
| user-invocable | true |
| metadata | {"author":"team","version":"3.0.0"} |
Swagger(OpenAPI) 스펙을 기반으로 DTO 타입과 개별 API 쿼리/뮤테이션 훅을 자동 생성한다.
Swagger JSON
│
generate-api.cjs ← 단일 fetch + 임시 파일 저장
├── generate-types.cjs → src/types/api/ (태그별 파일, 항상 재생성)
└── generate-hooks.cjs → src/hooks/query/, mutation/ + query-keys.ts
(기존 파일 건너뜀, security 자동 판별)
scripts/shared.cjs — SWAGGER_URL, parseArgs, fetchSwagger, runBiomeFormat 등scripts/swagger-transformer.cjs — ApiResponse 언래핑 + 엔드포인트 필터링src/server/query/query-keys.ts (증분 재생성)generate-api.cjs가 Swagger를 한 번만 fetch하여 --spec으로 하위 스크립트에 전달https://dev-api.orvit.net/api-docs-json# 특정 API 하나만 (타입 + 훅 동시 생성)
pnpm generate:api -- --path /api/games/options
# 태그 단위 (배치)
pnpm generate:api -- --tag Games
# 전체
pnpm generate:api
# 타입만
pnpm generate:types
pnpm generate:types -- --path /api/games/options
pnpm generate:types -- --tag Users
# 훅만
pnpm generate:hooks -- --path /api/games/options
pnpm generate:hooks -- --tag Games
pnpm generate:hooks
# 강제 덮어쓰기 (수정한 훅도 재생성)
pnpm generate:hooks -- --path /api/games/options --force
생성된 파일 목록 확인 후 pnpm check 실행.
src/
types/api/
common.ts ← 공유 스키마 (PaginationMetadataDto 등)
games.ts ← Games 태그 DTO
users.ts ← Users 태그 DTO
tiers.ts ← Tiers 태그 DTO
index.ts ← barrel re-export
hooks/
query/
useGetGameOptionsQuery.ts
useGetGameHistoriesQuery.ts
useGetRanksQuery.ts
useGetUserAnalysisQuery.ts
useGetUserStatsQuery.ts
useGetAllTiersQuery.ts
mutation/
useSaveGameSessionMutation.ts
server/query/
query-keys.ts ← 중앙 집중 쿼리키 (증분 재생성)
Swagger security 필드 기반으로 fetch 함수를 자동 결정한다 (수동 관리 불필요):
| 조건 | 결과 | fetch 함수 |
|---|---|---|
operation에 security: [{...}] 명시 | private | GET, POST 등 |
operation에 security: [] 명시 | public (글로벌 오버라이드) | GET_PUBLIC 등 |
operation에 security 미지정 + 글로벌 있음 | private (글로벌 상속) | GET, POST 등 |
operation에 security 미지정 + 글로벌 없음 | public | GET_PUBLIC 등 |
--force로 강제 재생성 가능)query-keys.ts는 기존 훅 + 새 훅의 키만 증분 추가staleTime(60초)과 gcTime(5분)이 인라인 상수로 포함됨 (훅마다 개별 조정 가능)docs/api-generation-guide.md 참조