orval
52
总安装量
50
周安装量
#4096
全站排名
安装命令
npx skills add https://github.com/pproenca/dot-skills --skill orval
Agent 安装分布
claude-code
42
gemini-cli
37
antigravity
35
codex
35
cursor
30
Skill 文档
Orval OpenAPI Best Practices
Comprehensive guide for generating type-safe TypeScript clients from OpenAPI specifications using Orval. Contains 42 rules across 8 categories, prioritized by impact to guide automated configuration, client generation, and testing setup.
When to Apply
Reference these guidelines when:
- Configuring Orval for a new project
- Setting up OpenAPI-based TypeScript client generation
- Integrating React Query, SWR, or Vue Query with generated hooks
- Creating custom mutators for authentication and error handling
- Generating MSW mocks for testing
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | OpenAPI Specification Quality | CRITICAL | spec- |
| 2 | Configuration Architecture | CRITICAL | orvalcfg- |
| 3 | Output Structure & Organization | HIGH | output- |
| 4 | Custom Client & Mutators | HIGH | mutator- |
| 5 | Query Library Integration | MEDIUM-HIGH | oquery- |
| 6 | Type Safety & Validation | MEDIUM | types- |
| 7 | Mock Generation & Testing | MEDIUM | mock- |
| 8 | Advanced Patterns | LOW | adv- |
Quick Reference
1. OpenAPI Specification Quality (CRITICAL)
spec-operationid-unique– Use unique and descriptive operationIdsspec-schemas-reusable– Define reusable schemas in componentsspec-tags-organization– Organize operations with tagsspec-response-types– Define all response types explicitlyspec-required-fields– Mark required fields explicitly
2. Configuration Architecture (CRITICAL)
orvalcfg-mode-selection– Choose output mode based on API sizeorvalcfg-client-selection– Select client based on framework requirementsorvalcfg-separate-schemas– Separate schemas into dedicated directoryorvalcfg-input-validation– Validate OpenAPI spec before generationorvalcfg-baseurl-setup– Configure base URL properlyorvalcfg-prettier-format– Enable automatic code formatting
3. Output Structure & Organization (HIGH)
output-file-extension– Use distinct file extensions for generated codeoutput-index-files– Generate index files for clean importsoutput-naming-convention– Configure consistent naming conventionsoutput-clean-target– Enable clean mode for consistent regenerationoutput-headers-enabled– Enable headers in generated functions
4. Custom Client & Mutators (HIGH)
mutator-custom-instance– Use custom mutator for HTTP client configurationmutator-error-types– Export custom error types from mutatormutator-body-wrapper– Export body type wrapper for request transformationmutator-interceptors– Use interceptors for cross-cutting concernsmutator-token-refresh– Handle token refresh in mutatormutator-fetch-client– Use fetch mutator for smaller bundle size
5. Query Library Integration (MEDIUM-HIGH)
oquery-hook-options– Configure default query options globallyoquery-key-export– Export query keys for cache invalidationoquery-infinite-queries– Enable infinite queries for paginated endpointsoquery-suspense-support– Enable suspense mode for streaming UXoquery-signal-cancellation– Pass AbortSignal for request cancellationoquery-mutation-callbacks– Use generated mutation options types
6. Type Safety & Validation (MEDIUM)
types-zod-validation– Generate Zod schemas for runtime validationtypes-zod-strict– Enable Zod strict mode for safer validationtypes-zod-coerce– Use Zod coercion for type transformationstypes-use-dates– Enable useDates for Date type generationtypes-bigint-support– Enable useBigInt for large integer support
7. Mock Generation & Testing (MEDIUM)
mock-msw-generation– Generate MSW handlers for testingmock-use-examples– Use OpenAPI examples for realistic mocksmock-delay-config– Configure mock response delaysmock-http-status– Generate mocks for all HTTP status codesmock-index-files– Generate mock index files for easy setup
8. Advanced Patterns (LOW)
adv-input-transformer– Use input transformer for spec preprocessingadv-operation-override– Override settings per operationadv-output-transformer– Use output transformer for generated code modificationadv-form-data-handling– Configure form data serialization
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions – Category structure and impact levels
- Rule template – Template for adding new rules
- Example: spec-operationid-unique
Related Skills
- For consuming generated hooks, see
tanstack-queryskill - For mocking generated API clients, see
test-mswskill - For schema validation, see
zodskill
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md