Skip to content

Local development

This page describes how to set up the KanzleiSynchron stack locally, run it, and verify it before every commit.

  • Rust (stable) — for the Axum backend.
  • Node.js 20+ — for the Next.js frontend.
  • PostgreSQL — as the database.
Terminal window
./ks-run.sh

ks-run.sh starts the whole stack on port 3013. The script:

  • pins NEXT_PUBLIC_API_URL=/api so the frontend reaches its API on the same origin,
  • runs scripts/seed-demo.sh, which loads demo data — so a login on :3013 lands directly on a populated /today.
Terminal window
scripts/seed-demo.sh

A commit is only done once scripts/dev-test.sh exits 0 against a running :3013 stack:

Terminal window
scripts/dev-test.sh

The gate steps:

  1. vitest — frontend unit tests.
  2. cargo check — backend compiles.
  3. tsc — TypeScript type check.
  4. Playwright @smoke — end-to-end smoke test.

Without a configured Postmark token, tax-advisor dispatch runs in sandbox mode: the confirmation shows delivery: "sandbox" and no real email is sent. For live delivery the token must be set server-side (see Tax-advisor channel).