Skip to content

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.

  • Node 24.14.1 or newer
  • pnpm 10.33.0
  • Rust with the wasm32-unknown-unknown target installed
  • Playwright browser runtimes for the browser matrix
Terminal window
pnpm install
pnpm run check
pnpm run vectors
pnpm exec playwright install chromium firefox webkit
pnpm run test
pnpm run verify:docs
pnpm run docs:build:site
pnpm run smoke:pack
pnpm run smoke:pack:npm
pnpm run build
  • pnpm run check: package typechecks, repo lint, Rust checks, package-boundary checks, vector manifest verification, and dead-code analysis
  • pnpm run vectors: committed test vector files match test-vectors/manifest.json
  • pnpm run test: Node tests, browser tests, and the internal WASM transcript core loader path
  • pnpm run verify:docs: generated API pages and docs link structure stay consistent
  • pnpm run smoke:pack and pnpm run smoke:pack:npm: the published package tarball installs cleanly and exposes the transcript core fixture verifier plus election foundation helpers
  • pnpm 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

The release workflow bumps and publishes only packages/sdk. The workspace root is private and is never published.