docs: fix inaccuracies found in a full docs-vs-source validation audit - #162
Merged
Merged
Conversation
Cross-checked every page under docs/, adapters/, parsers/, plugins/, and
snippets/ against the actual source in kubb-labs/kubb and kubb-labs/plugins,
then independently re-verified each finding before fixing it. Highlights:
- output.barrel actually defaults to `{ type: 'named' }` on every generator
plugin, not `false` (only the root config and plugin-barrel itself default
to false); fixed the shared barrel snippet and per-plugin option tables
- diagnostic terminal examples showed a fabricated `@kubb/plugin-*` prefix;
Diagnostics.format only prefixes a plugin name when the diagnostic actually
carries one, and most diagnostics never set it or use the unscoped
registered name (e.g. `plugin-ts`, not `@kubb/plugin-ts`)
- KUBB_ADAPTER_REQUIRED has no throw site in current source, and defineConfig
already defaults `adapter` to `adapterOas()`
- the MCP plugin walkthrough had a wrong output folder, wrong generated type
name/import path, and referenced `mcp.json` instead of the real `.mcp.json`
dotfile
- client baseURL is never inferred from the adapter's resolved server URL;
it only reaches the client when passed to the client plugin directly
- assorted wrong generated-code samples, resolver defaults, and a dead
internal link (kit.md's Diagnostics row pointed at the wrong page)
Every fix was independently re-verified against source before being applied;
a couple of machine-suggested corrections were caught and corrected by hand
during review (a redundant snippet inlining, and a wrong claim about
type: 'path' group-name casing).
|
This was referenced Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 Changes
Ran a full validation audit across every page in this repo — concepts, reference (commands, config, diagnostics, kit), adapter/parser options, getting-started/guide/integrations, migration guides, AI/community docs, and all 13 plugin doc sets (index, guide, recipes, reference/options) — cross-checking every claim, option default, and code sample against the real source in
kubb-labs/kubbandkubb-labs/plugins. Every finding was independently re-verified against source (a second pass explicitly trying to refute it) before being fixed here, and I hand-checked a broad sample of the diff myself against source directly.69 confirmed inaccuracies fixed across 44 files. Highlights:
output.barreldefault was wrong for every generator plugin. The shared snippet (and several per-plugin option tables) said it defaults tofalse. In reality only the rootdefineConfigdefault and@kubb/plugin-barrelitself default tofalse— every generator plugin (axios,cypress,faker,fetch,mcp,msw,react-query,swr,ts,vue-query,zod) overrides it to{ type: 'named' }in its ownplugin.ts.Diagnostics.formatonly prefixes a plugin name when the diagnostic actually carries one, and most diagnostics either never set it or use the unscoped registered name (plugin-ts, not@kubb/plugin-ts). Fixed acrosskubb-adapter-required,kubb-deprecated,kubb-input-not-found,kubb-input-required,kubb-performance,kubb-plugin-failed,kubb-plugin-info,kubb-plugin-not-found,kubb-plugin-warning,kubb-ref-not-found,kubb-unsupported-format, and thediagnostics.mdoverview.KUBB_ADAPTER_REQUIREDhas no throw site in current source, anddefineConfigalready defaultsadaptertoadapterOas()when omitted, so the documented trigger condition can't happen through the documented flow.modelsvs the real defaulttypes), a wrong generated type name/import path (AddPetRequestConfigvs the realAddPetOptions), and referencedmcp.jsonwhere the generator actually writes the dotfile.mcp.json.baseURLis never inferred from the adapter's resolved server URL. It only reaches the generated client when passed to the client plugin directly — the adapter's resolved server URL only lands onmeta.baseURL, readable from a custombanner/footerfunction.kit.md's Diagnostics row pointed at the diagnostics catalog instead of the Kit API page).A couple of machine-suggested corrections didn't survive my own review and were fixed by hand: one fix redundantly inlined a snippet instead of relying on the (already-corrected) shared include, and one corrected description of
type: 'path'group-name casing was itself wrong (claimed camelCasing that the sharedcreateGroupConfighelper doesn't do).✅ Checklist
Generated by Claude Code