# PotentialStorage Layered TypeScript storage library: KV → Events → Documents. The full design, milestones and implementation decisions are in [DESIGN.md](./DESIGN.md) — read it before changing anything. Record new decisions in DESIGN.md section 12. ## Commands - `npm test` — run all tests (Vitest; includes `*.test-d.ts` type tests) - `npm run typecheck` — `tsc --noEmit` over src, test and bench - `npm run bench` — `vitest bench` - `npm run build` — emit `dist/` ## Rules - No runtime dependencies in `src/`. Dev dependencies only. - Drivers stay flat and string-keyed; all path/index/escaping logic lives in the node classes. - Self vs child dispatch is by `arguments.length`; a passed-but-`undefined`/`null` key throws. - Multi-result reads are `AsyncIterable`; don't build large arrays internally. - Keep tests green and commit per milestone. Ask the owner before pushing.