Skip to content

docs: fix inaccuracies found in a full docs-vs-source validation audit - #162

Merged
stijnvanhulle merged 1 commit into
mainfrom
claude/docs-validation-audit-8upeg0
Jul 18, 2026
Merged

docs: fix inaccuracies found in a full docs-vs-source validation audit#162
stijnvanhulle merged 1 commit into
mainfrom
claude/docs-validation-audit-8upeg0

Conversation

@stijnvanhulle

Copy link
Copy Markdown
Contributor

🎯 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/kubb and kubb-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.barrel default was wrong for every generator plugin. The shared snippet (and several per-plugin option tables) said it defaults to false. In reality only the root defineConfig default and @kubb/plugin-barrel itself default to false — every generator plugin (axios, cypress, faker, fetch, mcp, msw, react-query, swr, ts, vue-query, zod) overrides it to { type: 'named' } in its own plugin.ts.
  • Diagnostic terminal examples showed a fabricated plugin prefix. Diagnostics.format only 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 across kubb-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 the diagnostics.md overview.
  • KUBB_ADAPTER_REQUIRED has no throw site in current source, and defineConfig already defaults adapter to adapterOas() when omitted, so the documented trigger condition can't happen through the documented flow.
  • The Claude MCP plugin walkthrough had a wrong output folder (models vs the real default types), a wrong generated type name/import path (AddPetRequestConfig vs the real AddPetOptions), and referenced mcp.json where the generator actually writes the dotfile .mcp.json.
  • Client baseURL is 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 on meta.baseURL, readable from a custom banner/footer function.
  • Assorted wrong generated-code samples (missing imports, wrong destructuring, wrong casing), a couple of resolver-default descriptions, and a dead internal link (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 shared createGroupConfig helper doesn't do).

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I am using USA English (serialize, color, center, canceled, analyze, license).
  • I ran the humanizer check on any new documentation I wrote.

Generated by Claude Code

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).
@changeset-bot

changeset-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 5623b67

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@stijnvanhulle
stijnvanhulle merged commit d506046 into main Jul 18, 2026
1 check passed
@github-actions
github-actions Bot deleted the claude/docs-validation-audit-8upeg0 branch July 18, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants