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.