Skip to content

kubb-labs/plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

226 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kubb Plugins

Kubb logo

Official plugins for Kubb - Generate type-safe SDKs from OpenAPI specifications.

License

Overview

This monorepo contains all official Kubb plugins for code generation from OpenAPI specifications. It follows the same monorepo structure used in the main kubb-labs/kubb repository.

Packages

Kubb v5 OpenAPI configs use @kubb/adapter-oas as the adapter layer.

TypeScript

Package Version Description
@kubb/plugin-ts npm version TypeScript types and interfaces generation

Clients

Package Version Description
@kubb/plugin-client npm version API client generation (Axios, Fetch)

Zod

Package Version Description
@kubb/plugin-zod npm version Zod schema generation for runtime validation

Data Fetching

Package Version Description
@kubb/plugin-react-query npm version TanStack Query hooks for React
@kubb/plugin-vue-query npm version TanStack Query composables for Vue

Testing & Mocking

Package Version Description
@kubb/plugin-faker npm version Faker.js mock data generation
@kubb/plugin-msw npm version Mock Service Worker handlers
@kubb/plugin-cypress npm version Cypress e2e test generation

Documentation & AI

Package Version Description
@kubb/plugin-redoc npm version ReDoc API documentation generation
@kubb/plugin-mcp npm version Model Context Protocol tools for AI assistants

Examples

Example Description
typescript Generate TypeScript types
client Generate API clients with Axios
fetch Generate API clients with Fetch
zod Generate Zod validation schemas
react-query Generate React Query hooks
vue-query Generate Vue Query composables
faker Generate Faker.js mock data
msw Generate MSW handlers
cypress Generate Cypress tests
mcp Generate MCP tools
advanced Advanced multi-plugin configuration

Monorepo Structure

plugins/
├── packages/              # Kubb plugins
│   ├── plugin-ts/         # TypeScript generation
│   ├── plugin-client/     # API client generation
│   ├── plugin-zod/        # Zod schemas
│   ├── plugin-react-query/# React Query hooks
│   ├── plugin-vue-query/  # Vue Query composables
│   ├── plugin-faker/      # Faker.js mocks
│   ├── plugin-msw/        # MSW handlers
│   ├── plugin-cypress/    # Cypress tests
│   ├── plugin-redoc/      # ReDoc documentation
│   └── plugin-mcp/        # MCP integration
├── internals/             # Shared internal utilities (not published)
│   ├── utils/             # @internals/utils
│   └── tanstack-query/    # @internals/tanstack-query
├── examples/              # Usage examples
└── tests/                 # Performance and e2e tests

Getting Started

Prerequisites

Install

pnpm install

Build

# Build all packages
pnpm build

# Build examples
pnpm build:examples

Test

# Run all tests
pnpm test

# Watch mode
pnpm test:watch

Typecheck

pnpm typecheck

Contributing

Want to contribute to a plugin or add a new one? Here's how:

  1. Create your package under packages/ following the existing plugin layout:

    packages/
    └── plugin-your-name/
        ├── src/
        │   ├── index.ts
        │   ├── plugin.ts
        │   └── generators/
        ├── package.json
        ├── tsconfig.json
        ├── tsdown.config.ts
        └── vitest.config.ts
    
  2. Use the same tooling conventions:

    • tsdown for building
    • vitest for testing
    • oxlint for linting/formatting
    • Extend ../../tsconfig.json in your tsconfig.json
  3. Add an example under examples/ that demonstrates your plugin.

  4. Open a pull request with your changes.

See CONTRIBUTING.md for full details.

License

MIT © Stijn Van Hulle

About

Official plugins for Kubb v5

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages