openapi

Derive OpenAPI 3.x specifications from Vovk.ts controllers and validation schemas.

52|Updated Jul 12, 2023
One-click install
npx skills add https://github.com/finom/vovk --skill openapi-finom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openapi
Source: https://github.com/finom/vovk/tree/main/packages/claude-plugin/skills/openapi
Command: npx skills add https://github.com/finom/vovk --skill openapi-finom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

OpenAPI generation derives an OpenAPI 3.x specification directly from Vovk.ts controllers, validation schemas, and the @operation metadata, removing the need to maintain a separate contract.

Core Features & Use Cases

  • Derives OpenAPI objects from procedures, validation schemas, and @operation metadata into paths, schemas, and components.
  • Serves the generated OpenAPI JSON at runtime via a controller or route, enabling viewers like Scalar, Redoc, or Swagger UI.
  • Supports per-segment overrides and accessing the spec from code with vovk-client/openapi.

Quick Start

Run npx vovk generate to produce the OpenAPI JSON from your controllers.

Frequently Asked Questions about openapi

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate OpenAPI specs from Vovk.ts controllers automatically?

You can generate OpenAPI 3.x specifications from Vovk.ts controllers by running `npx vovk generate`, which translates your procedures, validation schemas, and `@operation` metadata into typed paths and components.

Can I serve generated OpenAPI documentation with Scalar or Swagger UI?

Yes, you can serve the generated OpenAPI JSON at runtime via a controller or route, allowing you to render the documentation using viewers like Scalar, Redoc, or Swagger UI.

Do I need to maintain a separate OpenAPI contract when using Vovk.ts?

No, deriving the OpenAPI specification directly from Vovk.ts controllers, validation schemas, and `@operation` metadata removes the need to maintain a separate contract manually.

How can I access the generated OpenAPI spec from my application code?

You can access the generated OpenAPI specification from your code using `vovk-client/openapi`, and you can apply per-segment overrides for further customization of the output.

What configuration is required to output a consistent OpenAPI document from Vovk.ts?

Producing a consistent, typed OpenAPI contract requires configuring `outputConfig.openAPIObject` and related metadata to ensure the derived specifications are correct for tools and UI renderers.