Development workflow
The workspace is only in a good state when the checks, docs, smoke tests, and Rust/WASM transcript core path all pass together.
Prerequisites
Section titled “Prerequisites”- Node
24.14.1or newer pnpm10.33.0- Rust with the
wasm32-unknown-unknowntarget installed - Playwright browser runtimes for the browser matrix
Main commands
Section titled “Main commands”pnpm installpnpm run checkpnpm run vectorspnpm exec playwright install chromium firefox webkitpnpm run testpnpm run verify:docspnpm run docs:build:sitepnpm run smoke:packpnpm run smoke:pack:npmpnpm run buildWhat each command proves
Section titled “What each command proves”pnpm run check: package typechecks, repo lint, Rust checks, package-boundary checks, vector manifest verification, and dead-code analysispnpm run vectors: committed test vector files matchtest-vectors/manifest.jsonpnpm run test: Node tests, browser tests, and the internal WASM transcript core loader pathpnpm run verify:docs: generated API pages and docs link structure stay consistentpnpm run smoke:packandpnpm run smoke:pack:npm: the published package tarball installs cleanly and exposes the transcript core fixture verifier plus election foundation helperspnpm run build: every package builds, the private crypto/runtime bridge is vendored into the SDK, and the WASM transcript core artifact is copied into the internal loader package
Release-facing rule
Section titled “Release-facing rule”The release workflow bumps and publishes only packages/sdk. The workspace root is private and is never published.