Skip to content

how to contribute tooling

factory-droid[bot] edited this page Jul 5, 2026 · 1 revision

Tooling

The toolchain combines Bun scripts, Cargo workspace commands, Tauri, Specta, Vitest, Python packaging checks, and GitHub Actions.

Scripts

package.json is the command index. It defines frontend checks, Rust checks, binding generation/checks, builds, smoke tests, packaging checks, release metadata checks, and full verification.

Generated files

frontend/src/bindings.ts is generated from src-tauri/src/specta_bindings.rs. The debug app export in src-tauri/src/main.rs updates it during debug runs, and bun run bindings:check verifies it without opening the GUI.

CI and release

.github/workflows/ci.yml runs verification for normal changes. .github/workflows/release.yml builds release artifacts, macOS bundles, Linux packages, package metadata, and repository assets. Helper scripts live under scripts and are covered by Python or Node checks where applicable.

Package metadata

Linux metadata is validated by scripts/validate_linux_package_metadata.py and tests under tests. JSON config sanity is handled by bun run package:check.

For release behavior, see Deployment and Reference dependencies.

Clone this wiki locally