examples/kitchen-sink/README.md
Unified kitchen-sink showcasing Rivet Actor features with a single registry, grouped navigation, and interactive demos.
git clone https://github.com/rivet-dev/rivet.git
cd rivet/examples/kitchen-sink
npm install
npm run dev
OPENAI_API_KEY) for the AI actor demoDrive the raw SQLite fuzzer actor against a real endpoint:
export RIVET_ENDPOINT="http://127.0.0.1:6420"
pnpm --filter kitchen-sink exec tsx scripts/db-fuzz.ts --endpoint "$RIVET_ENDPOINT" --start-local-envoy --seed local-smoke --iterations 2 --actor-count 1 --concurrency 1
pnpm --filter kitchen-sink exec tsx scripts/db-fuzz.ts --endpoint "$RIVET_ENDPOINT" --start-local-envoy --seed stress-001 --iterations 10 --actor-count 4 --concurrency 4 --mode hot --sleep-every 2 --ops-per-phase 100
pnpm --filter kitchen-sink exec tsx scripts/db-fuzz.ts --endpoint "$RIVET_ENDPOINT" --start-local-envoy --seed vfs-001 --mode kitchen-sink --iterations 3 --actor-count 1 --concurrency 1 --ops-per-phase 80 --max-payload-bytes 131072 --growth-target-bytes 1048576
pnpm --filter kitchen-sink exec tsx scripts/db-fuzz.ts --endpoint "$RIVET_ENDPOINT" --start-local-envoy --seed growth-10m --mode growth --iterations 1 --actor-count 1 --concurrency 1 --ops-per-phase 20 --max-payload-bytes 98304 --growth-target-bytes 10485760
pnpm --filter kitchen-sink exec tsx scripts/db-fuzz.ts --endpoint "$RIVET_ENDPOINT" --start-local-envoy --seed nasty-script --mode nasty-script --iterations 1 --actor-count 1 --concurrency 1 --ops-per-phase 1 --max-payload-bytes 131072
The harness uses raw SQLite only. It checks live rows against an operation log, validates repeated updates, deletes, upserts, transfer transactions, payload checksums, SQLite integrity, indexed query parity, page-boundary payloads, fragmentation/VACUUM churn, schema churn, constraints, savepoints, idempotent replay, relational aggregates, PRAGMA probes, prepared statement churn, large DB growth, boundary keys, shadow checksums, read/write overlap, truncate/recreate stress, and persistence after optional sleep/wake cycles.
The kitchen-sink registry imports fixtures and example actors into one setup so each page can expose a curated subset.
See the registry in src/actors.ts and the UI in frontend/App.tsx.
Read more about Rivet Actors, actions, and connections.
MIT