Menubar sync agent for HQ. Built with Tauri 2 + Svelte.
npm install
npm run tauri devnpm run tauri buildPolicy deviation: V1 uses manual testing + Loom video instead of automated e2e tests. This is a documented exception from
e2e-backpressure-required.md, approved during PRD interview (QUALITY-2). Justification: dogfood-only cohort of 10 internal Indigo users with a direct feedback channel. V2 will add Playwright (for popover WebView) + AppleScript (for tray icon) automated e2e tests before any external customer rollout.
All testing is done via a structured manual checklist covering the 7 user journeys defined in the PRD:
| Journey | Description |
|---|---|
| UJ-001 | First install to first sync in <5 min, zero terminal |
| UJ-002 | Returning user — expired token silent refresh |
| UJ-003 | Sync conflict — resolve in popover modal, no terminal |
| UJ-004 | Retether — user changes HQ path via Settings |
| UJ-005 | Auto-update — new version installed silently |
| UJ-006 | Auto-provisioning + Personal HQ — first sync auto-creates person entity in HQ-Cloud and provisions the personal company bucket |
| UJ-007 | Telemetry opt-in round-trip — toggle in Settings persists to ~/.hq/menubar.json, vault /v1/usage/opt-in reflects the change, next sync respects new state |
Full checklist with step-by-step instructions, expected outcomes, and pass/fail checkboxes: tests/MANUAL_TESTING.md
# Rust unit tests
cargo test --manifest-path=src-tauri/Cargo.toml
# Frontend (when added)
npm testBefore each release (v1.0.0 and every minor/patch):
- Run through the full manual checklist on a fresh macOS VM
- Record a Loom video walking through all test scenarios
- Publish the Loom video link in the GitHub Release notes
- Verify performance budgets pass (see
tests/PERF.md) - Verify code signing:
spctl -a -vv "HQ Sync.app"
V2 will introduce automated e2e tests before any external rollout:
- Playwright — popover WebView interactions (sync button, conflict modal, settings pane)
- AppleScript — tray icon state verification, context menu actions
- CI integration — automated test suite in GitHub Actions on every PR