This guide covers how to build Llumen from source for development or production.
| Tool | Version | Notes |
|---|---|---|
| Rust | ≥1.89 | MSRV is 1.89 |
| Node.js | ≥20 | For frontend |
| pnpm | ≥9 | Package manager |
| sqlite3 | - | For local development |
| sea-orm-cli | ≤1 | Database migration |
| typeshare | ≥1.13 | API codegen |
cd frontend
pnpm installUse cargo xtask from the backend directory:
cd backend
cargo xtask runThis runs the backend on http://127.0.0.1:8001 with development features enabled.
cd backend
cargo xtask run-with-buildThis builds the frontend first, then runs the backend.
cd frontend
pnpm buildOutput is in frontend/build.
cd backend
cargo xtask buildThis builds the frontend and then compiles the Rust backend in release mode.
The final binary is located at backend/target/release/backend.
Run migrations from the backend directory:
cd backend
cargo xtask fresh # Drop all tables and recreate
cargo xtask refresh # Refresh databasecd backend
cargo xtask gen-tsGenerates TypeScript types from Rust structs using typeshare.
cd backend
cargo xtask gen-entityRequires sea-orm-cli:
cargo install sea-orm-clicd backend
cargo xtask gen-licenseGenerates THIRDPARTY.toml for dependency licenses.
cd backend
cargo test
cargo test --release # Faster testscd frontend
pnpm test # Run tests
pnpm check # TypeScript check
pnpm lint # Format checkcargo +nightly fmtcd frontend
pnpm format