Development
Requirements
- mise (task runner)
- PostgreSQL 15+
- Rust 1.85+
Setup
bash
export DATABASE_URL=postgres://localhost/mise_server
mise run dev # start dev server (port 3000)Build & Test
bash
mise run build # build frontend + Rust binary
mise run test # all tests (unit + integration)
mise run test:unit # cargo test only
mise run test:bats # BATS integration tests (4 parallel jobs)
mise run lint # hk check --all
mise run lint-fix # hk fix --allRunning Individual Tests
bash
cargo test <test_name>
bats test/<file>.batsBATS tests require PostgreSQL:
bash
DATABASE_URL=postgres://localhost/mise_server bats test/<file>.batsTech Stack
- Rust (edition 2024), Axum 0.8, tokio, reqwest 0.12, sqlx (PostgreSQL)
- Vue 3 + TypeScript + Vite + Tailwind CSS (web dashboard in
web/) - BATS for integration tests (in
test/) - mise for task running, hk for linting