Local development
This page describes how to set up the KanzleiSynchron stack locally, run it, and verify it before every commit.
Prerequisites
Section titled “Prerequisites”- Rust (stable) — for the Axum backend.
- Node.js 20+ — for the Next.js frontend.
- PostgreSQL — as the database.
Start the stack
Section titled “Start the stack”./ks-run.shks-run.sh starts the whole stack on port 3013. The script:
- pins
NEXT_PUBLIC_API_URL=/apiso 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.
scripts/seed-demo.shBefore a commit: the test gate
Section titled “Before a commit: the test gate”A commit is only done once scripts/dev-test.sh exits 0 against a running :3013 stack:
scripts/dev-test.shThe gate steps:
- vitest — frontend unit tests.
- cargo check — backend compiles.
- tsc — TypeScript type check.
- Playwright
@smoke— end-to-end smoke test.
Email delivery (Postmark)
Section titled “Email delivery (Postmark)”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).
Next step
Section titled “Next step”- Architecture overview — components and data flow.
- Roles & capabilities — role and permission matrix.