Skip to content
Public alpha · CLI packages live · Studio optional

Engineering Quality

Srijika separates validation concerns instead of treating one successful build as proof of correctness:

  1. TypeScript and lint rules validate authored code quality.
  2. Unit tests cover compilers, contracts, rules, stores, and transformations.
  3. Integration tests cover cross-package and workbench behavior.
  4. Contract tests preserve versioned schemas and protocol compatibility.
  5. Playwright exercises browser workflows, accessibility, and visual baselines.
  6. Rust formatting, Clippy, and tests validate native boundaries.
Terminal window
pnpm verify

This runs formatting, lint, TypeScript (including Playwright tooling), root and package tests, Rust core checks, the supported code-first browser lane, and workspace builds. For a shorter edit loop, use pnpm verify:fast.

Terminal window
pnpm test:e2e:web

The default lane covers the current code-first product plus future generated owner tests. Retired visual-editor tests remain explicit with pnpm test:e2e:web:legacy; they are not silently mixed into the supported release gate. Visual baseline updates are committed only after intentional review. Accessibility checks cover serious and critical shell violations, with known exclusions documented in the canonical testing reference.

Terminal window
pnpm check:rust

Full Tauri workspace validation additionally requires the platform-native dependencies documented for Linux, Windows, or macOS.

A bug fix adds coverage at the narrowest layer that can reproduce the failure and, when the behavior crosses a user-visible boundary, at an integration or end-to-end layer as well.