noboil

Single source of truth

How noboil docs stay in sync with the code that produces them.

noboil ships 53 generators that own 44 marker blocks across 5 doc files. Every block is rebuilt from source on bun docs and CI fails on drift via bun docs:check.

Generators

ScriptWhat it derives
doc/scripts/gen-api-imports.tslib/noboil/src/**/index.ts → API export tables
doc/scripts/gen-auto-fields.ts(undocumented)
doc/scripts/gen-brand-registry.tsSchemaHintMap interface → brand registry table
doc/scripts/gen-cli-flags.ts(undocumented)
doc/scripts/gen-cli-help.tsnoboil --help output → CLI help blocks
doc/scripts/gen-cli-types.tsTableType union in convex/add.ts → CLI --type valid values
doc/scripts/gen-component-parity.ts(undocumented)
doc/scripts/gen-config-schema.ts(undocumented)
doc/scripts/gen-cvx-factory-api.tscvx server/{log,kv,quota}.ts b.q()/b.m() → endpoint table
doc/scripts/gen-demo-inventory.tsweb/{cvx,stdb}/* filesystem → demo count + tree
doc/scripts/gen-demo-matrix.ts(undocumented)
doc/scripts/gen-demo-parity.ts(undocumented)
doc/scripts/gen-doc-dedup.ts(undocumented)
doc/scripts/gen-e2e-coverage.ts(undocumented)
doc/scripts/gen-env-vars.ts(undocumented)
doc/scripts/gen-error-codes.tserr() / throwConvexError() calls across server → error code list
doc/scripts/gen-eslint-rules.ts(undocumented)
doc/scripts/gen-example-check.ts(undocumented)
doc/scripts/gen-factory-api.tsstdb server/{log,kv,quota}.ts reducer name templates → reducer table
doc/scripts/gen-factory-depth.ts(undocumented)
doc/scripts/gen-factory-options.tsLogOptions/KvOptions interfaces → option tables
doc/scripts/gen-factory-parity.ts(undocumented)
doc/scripts/gen-glossary.ts(undocumented)
doc/scripts/gen-hook-params.ts(undocumented)
doc/scripts/gen-hook-reference.tsLog/Kv/QuotaHookResult interfaces → hook signature blocks
doc/scripts/gen-hotkeys.ts(undocumented)
doc/scripts/gen-http-routes.ts(undocumented)
doc/scripts/gen-jsdoc-examples.ts(undocumented)
doc/scripts/gen-link-check.ts(undocumented)
doc/scripts/gen-mega-parity.ts(undocumented)
doc/scripts/gen-meta-nav.ts(undocumented)
doc/scripts/gen-middleware.ts(undocumented)
doc/scripts/gen-noboil-options.ts(undocumented)
doc/scripts/gen-option-parity.ts(undocumented)
doc/scripts/gen-options-inventory.ts(undocumented)
doc/scripts/gen-package-info.ts(undocumented)
doc/scripts/gen-parity-matrix.ts(undocumented)
doc/scripts/gen-pkg-exports.ts(undocumented)
doc/scripts/gen-port-table.ts(undocumented)
doc/scripts/gen-react-hooks.ts(undocumented)
doc/scripts/gen-readme-factories.ts(undocumented)
doc/scripts/gen-recipe-toc.ts(undocumented)
doc/scripts/gen-route-map.ts(undocumented)
doc/scripts/gen-schema-diagram.ts(undocumented)
doc/scripts/gen-schema-fields.ts(undocumented)
doc/scripts/gen-signature-drift.ts(undocumented)
doc/scripts/gen-stability.ts(undocumented)
doc/scripts/gen-symbol-coverage.ts(undocumented)
doc/scripts/gen-table-endpoints.ts(undocumented)
doc/scripts/gen-test-counts.tsbun test pass count parsing → test count summary
doc/scripts/gen-test-tree.ts(undocumented)
doc/scripts/gen-ui-components.ts(undocumented)
doc/scripts/gen-utility-parity.ts(undocumented)

Marker blocks per doc

FileAuto-generated sections
README.mdPACKAGE-INFO, DEMO-COUNT, HOTKEYS, CLI-TABLE-TYPES, FACTORY-TABLE, DEMO-TREE
TODO.mdTEST-COUNTS
doc/content/docs/architecture.mdxBRAND-REGISTRY, AUTO-FIELDS, UI-COMPONENTS, DEMO-MATRIX, NOBOIL-OPTIONS, MIDDLEWARE, SCHEMA-DIAGRAM, SCHEMA-FIELDS, ROUTE-MAP, OPTIONS-INVENTORY, EXAMPLE-CHECK, SIGNATURE-DRIFT, DOC-DEDUP, FACTORY-PARITY, FACTORY-DEPTH, OPTION-PARITY, DEMO-PARITY, UTILITY-PARITY, COMPONENT-PARITY, MEGA-PARITY
doc/content/docs/api-reference.mdxIMPORTS, FACTORY-OPTIONS, CVX-FACTORY-ENDPOINTS, STDB-FACTORY-REDUCERS, REACT-HOOKS, HOOK-INTERFACES, HOOK-PARAMS, ERROR-CODES, ESLINT-RULES, STABILITY, TABLE-ENDPOINTS, PACKAGE-EXPORTS, HTTP-ROUTES, SYMBOL-COVERAGE
doc/content/docs/cli.mdxHELP, CLI-FLAGS, CONFIG-SCHEMA

Workflow

bun docs            # regenerate all blocks
bun docs:check      # exit 1 if any block is stale (CI uses this)

What's NOT auto-generated (and won't be)

Narrative prose: recipes, "when to use" decision matrices, security reasoning, architectural rationale, migration guides. These require human judgment and explanation. Everything machine-derivable is auto-generated.

On this page