The SpeedyDb component registry (copy-paste source)

Shadcn-style distribution (roadmap §7): the versioned dependency is the tiny headless binding (@speedydb/core/{react,vue,svelte,solid,angular}); these styled components are source you copy into your app and restyle — pulled with the CLI:

npx speedydb-components list
npx speedydb-components add vue                 # the whole kit → src/components/speedydb
npx speedydb-components add react results-list # one component (+ css/context, always)

Every kit has the same six pieces over the same client store — dropzone, source list, search box, results list, answer panel, model status — plus one shared stylesheet (speedydb.css, deliberately plain: the wiring is the value, the pixels are yours) and, where the framework needs it, a context helper.

Every component preserves the honesty contracts (the product's trust story): the sources panel shows exactly the passages the model received; "nothing found" costs zero tokens and never invokes the model; the device badge is the worker's PROBED device; empty retrieval never reaches the model.

In-repo, the starters' copies are drift-guarded: node scripts/sync-registry.mjs re-copies each kit into its starters, and --check (wired into scripts/test-site.sh) fails on any divergence.