Development Guide
Use just from the repository root for common development tasks. To see all available recipes, run:
just --list
Running the Application
Start the native application with:
just run
You can pass additional Cargo or application arguments after the recipe:
just run -r -- path/to/file
Dependency Management
For crates in the main workspace under crates/, declare dependency versions and internal crate paths only in the root Cargo.toml under [workspace.dependencies].
In crate-local Cargo.toml files, reference dependencies with workspace = true and keep them in the matching group:
[dependencies]
# Internal crates
stypes.workspace = true
# External crates
serde.workspace = true
Keep the root workspace dependency list grouped by internal crates, external dependencies, and development dependencies.
Formatting and Checks
Check Rust formatting without changing files:
just fmt-check
Format the Rust workspace:
just fmt
Compile all workspace targets without producing final binaries:
just check
Run Clippy for the workspace:
just clippy
Run workspace tests:
just test
Before submitting a pull request, run the full local validation recipe:
just validate
Reporting Issues
Bug reports and suggestions are welcome. When opening an issue, include a clear description, the expected behavior, the actual behavior, and steps to reproduce when possible.