Beta You're reading the docs for Kubb v5, which is currently in beta. View the stable v4 docs
Skip to content

kubb.dev

0.0.1

Patch Changes

  • #170 4b06f89 Thanks @stijnvanhulle! - docs(adapter-oas): add missing dedupe option to the adapter-oas reference page

  • #191 db0dbd0 Thanks @stijnvanhulle! - Keep the beta banner's layout offset in sync while scrolling so page content no longer shows through the docs header once the banner scrolls out of view.

  • #158 8d529ea Thanks @stijnvanhulle! - Move extension metadata into the docs repo (kubb-labs/docs) and hand-write the extension docs pages. The new source of truth is extensions/{plugins,adapters,parsers}/<id>.yaml at the root of the docs repo: small options-free files in the nuxt/modules style, validated against the new public/schemas/extension.json. The pages under plugins/, adapters/, and parsers/ are now committed markdown with options documented inline and reusable examples under snippets/ via the VitePress import syntax. The fetch pipeline vendors the docs repo and generateRegistry reads from vendor/docs/extensions/, keeping the npm and GitHub stats enrichment. See ADR-0008.

  • #221 bb7d0f2 Thanks @stijnvanhulle! - Render the changelog as a standalone timeline view. Releases now read as dated version markers down a vertical rail, with mono package labels and colored category labels, rendered above a page header with a link to the source changelog. The synced markdown keeps its structure, so the layout comes from a changelog page class and a small header component.

  • #212 b21d831 Thanks @stijnvanhulle! - Add four client usage guides to the sidebar under Going further: calling operations, error handling, serialization and parsing, and server-sent events. The pages cover the shared contract of @kubb/plugin-fetch and @kubb/plugin-axios: the grouped options object, the RequestResult shape, throwOnError and ResponseError, contentType, parameter and body serialization, response deserializers and the validator option, and consuming a text/event-stream operation with for await.

  • #236 8dcfe53 Thanks @stijnvanhulle! - Match the top spacing on the plugins, adapters, parsers, contributors, sponsors, and blog pages to the docs and extension detail pages. These layout: page routes opened with a 3rem gap above their title, so it sat much lower than on the rest of the site; they now start at the same --kubb-space-3 offset below the nav.

  • #125 5ce4a1c Thanks @stijnvanhulle! - Allow the status.kubb.dev iframe and cdn.jsdelivr.net source map fetches in the CSP, and add mobile-web-app-capable alongside the deprecated apple-prefixed meta.

  • #126 4bfffe7 Thanks @stijnvanhulle! - Document every diagnostic code under docs/5.x/diagnostics, so each docs: link Kubb prints resolves. The index lists all codes with their severity and a one-line summary.

  • #136 1a9dd5b Thanks @stijnvanhulle! - Document the @kubb/plugin-client class naming change in the v5 migration guide: class clients (clientType: 'class', clientType: 'staticClass', and sdk) now name each tag class with a Client suffix (pet generates PetClient) so the barrel no longer collides with the schema model of the same name. The guide shows the before and after output and how to restore the old names through resolver.resolveGroupName.

  • #134 e42220f Thanks @stijnvanhulle! - Sync the hand-written docs with kubb v5.0.0-beta.44: Diagnostics.hasError/isProblem/isPerformance replace the removed hasBuildError and 'timing' kind, the file manager and file processor sections describe the internal classes instead of removed exports, config.input narrowing uses the in operator, the last v4 barrelType examples use the barrel object, the AST ref helpers import from @kubb/ast/utils, and the incremental cache default is documented in the configuration reference and the migration guide (including a new rule in the upgrade prompt).

    Fix generateDocs.tsx generating zero plugin, adapter, parser, and middleware pages: the pinned @kubb/renderer-jsx has no stream method, so the silent fallback emitted nothing. The generator renders the tree and reads renderer.files, and throws when populated registries produce zero pages.

  • #122 444dd55 Thanks @stijnvanhulle! - Link the footer copyright (© 2022-2026 Stijn Van Hulle) to stijnvanhulle.be.

  • #173 ea628b1 Thanks @stijnvanhulle! - Extension pages (plugins, adapters, parsers) now declare header: plugin|adapter|parser in their YAML frontmatter instead of embedding a component call in the markdown body. Layout.vue reads the frontmatter key and renders the header in the #doc-before slot, keeping content files component-free.

  • #157 3b06b75 Thanks @stijnvanhulle! - Remove unused code flagged by knip in the docs app. Drop the dead DOCS_DIR and MAX_BADGE_DISPLAY constants and the unused framework brand logos in brands.ts (the VitePress config defines its own), and drop the redundant export on the script helpers ghHeaders, parseGitHubRepo, fenceLang, renderCodeBlock, and renderExampleFile that are only used within their own module. No runtime or output changes.

  • #139 270efca Thanks @stijnvanhulle! - Document the v5 tag group folder change in the migration guide. Grouping with group: { type: 'tag' } now writes each tag to a folder named after the plain camelCased tag instead of ${tag}Controller, and the guide shows the group.name escape hatch that restores the v4 layout. Adds a matching rule to the upgrade prompt.

  • #141 b01bbaa Thanks @stijnvanhulle! - Document the new plugin output.mode option ('directory' | 'group' | 'file') in the configuration reference and migration guide, and drop the removed ctx.getMode helper from the core API reference. The migration guide and its upgrade prompt now explain that single-file output needs an explicit output.mode: 'file' instead of an output.path ending in .ts. Add a diagnostics page for KUBB_INVALID_PLUGIN_OPTIONS, the error raised when output.mode: 'group' is set without a group option.

  • #144 2b612c0 Thanks @stijnvanhulle! - Remove kubb agent CLI command references from docs

  • #142 6a4b654 Thanks @stijnvanhulle! - Drop the 'group' value from the documented output.mode option. output.mode now reads 'directory' | 'file' in the configuration reference and migration guide. The KUBB_INVALID_PLUGIN_OPTIONS diagnostics page now describes the remaining case, pairing output.mode: 'file' with a group option, and the group option keeps organizing 'directory' output into per-tag or per-path subdirectories.

  • #192 b1d0dbd Thanks @stijnvanhulle! - Replace @kubb/plugin-client references with @kubb/plugin-axios and @kubb/plugin-fetch, now that the combined client package has been removed from the kubb ecosystem. Updates the Studio plugin registry, the kubb.dev site config and landing components, the agent package list, and the architecture docs.

  • #218 6ec9abf Thanks @stijnvanhulle! - Restore the Macros guide to the sidebar under Going further. The plugin restructure moved the per-client how-to guides into the plugin sidebars and dropped the general Macros page, which the AST reference and every plugin's options page still link to.

  • #213 f97d3e1 Thanks @stijnvanhulle! - Rename the "Configuration" sidebar entry to kubb.config.ts with the kubb logo, and regroup the Reference section so configuration and commands sit together, ahead of the AST/Parsers/Adapters building blocks and the Telemetry/Diagnostics pair.

  • #175 acb9d10 Thanks @stijnvanhulle! - Replace inline <Terminal> Vue components in docs with a markdown-it fence plugin. Terminal blocks now use ```terminal fences with command: and output: fields. Badge labels are removed from section headings.

  • #132 085c231 Thanks @stijnvanhulle! - Align the landing-page Terminal view with the new kubb v5 beta output: two spaces after the symbol, plugin names padded to a fixed column, and a right-aligned summary block (Plugins, Files, Duration, Output).

  • #232 37c3c8b Thanks @stijnvanhulle! - fix(ui): ship @kubb/ui as source so Nuxt UI components resolve in consuming apps

    Components like ConfirmModal and DangerSection referenced UModal, UAlert, and other Nuxt UI components in their templates. The package used to ship pre-built, so those references compiled to runtime resolveComponent() calls that fail outside the library build, and Vue rendered them as inert unknown elements. In Kubb Studio this made the delete-agent confirmation modal invisible, both in the agents table and on the agent settings page.

    The package now ships raw source and each consumer compiles it: Kubb Studio transpiles it so Nuxt resolves the components (including the Nuxt icon runtime), and kubb.dev scans it through the Nuxt UI Vite plugin's scanPackages option, which substitutes the Vue-compatible icon. The tsdown build step, the extracted @kubb/ui/style.css entry, and the runtime resolution failures all go away.