# Building Trust Systems from this bundle

## What you need

1. **Rust** — [rustup](https://rustup.rs/) (stable), with a C toolchain for native deps (`openssl-sys`, SQLCipher, etc.).
2. **Bun** — [bun.sh](https://bun.sh/) (used for the Tauri frontend step and font copy).
3. **OS packages for Tauri** — Follow the official [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/) for your platform (e.g. on Debian/Ubuntu: WebKitGTK, `libssl-dev`, `libayatana-appindicator3-dev`, `librsvg2-dev`, and related packages listed there).

### NFC reader (optional)

On Linux, PC/SC is used for supported readers (e.g. ACR1252U). Install your distribution’s **PC/SC lite** development and runtime packages (e.g. `libpcsclite1` / `libpcsclite-dev` on Debian/Ubuntu) if you want NFC at runtime.

## Steps

From **this directory** (the root of the unzipped bundle):

```bash
bun install
bun run tauri build
```

- **Development:** `bun run tauri dev` (starts the UI dev server and the app).
- **Production artifacts:** after `bun run tauri build`, see `src-tauri/target/release/bundle/` for platform-specific bundles (`.deb`, AppImage, etc. on Linux, depending on your Tauri bundle config).

### Faster compile check (no installer)

```bash
CI=true bun run tauri build --no-bundle --ci
```

Produces `src-tauri/target/release/trust-systems-app` (or the binary name configured in Tauri) without running the bundler.

## Not included

Integration tests, design docs, `sign-csr`, `tap/`, and `assets/test_data/` are omitted. The app **release** build does not require `assets/test_data/`. Running `cargo test` at the repo root still executes **unit tests** embedded in the library sources.

## Verify integrity

Compare file trees, run `bun install` and a release build, and inspect `src/` and `src-tauri/src/` as needed. There is no network requirement after dependencies are installed except what Bun/cargo fetch for crates and packages.
