Skip to content

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 --all

Running Individual Tests

bash
cargo test <test_name>
bats test/<file>.bats

BATS tests require PostgreSQL:

bash
DATABASE_URL=postgres://localhost/mise_server bats test/<file>.bats

Tech 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

Licensed under FSL-1.1-ALv2. Maintained by @jdx.