Stelae is a system for distributing, preserving, and authenticating laws.
- Install dependencies:
- Windows:
- Linux:
sudo apt-get install build-essential pkg-config libssl-dev
- Install Rust
- Install Just (Our build tool)
- Windows: install Git Bash, included in Git for Windows.
- Windows (Optional): install NuShell (A fast, cross-platform shell used by Just)
- We recommend using VSCode (default settings provided in repo), but you can use any editor you like.
- Lints must pass before merging into master
- All code must have tests. Tests should conform to our testing guidelines.
- Run
just
from within the repository to list all available just commands. Currently:bench
: Run all benchmarksci
: Continuous integration - lint, test, benchmarkclippy *FLAGS
: Run clippy maximum strictness. Passes through any flags to clippy.default
: List all available commandsformat
: Format codelint
: Format code and run strict clippytest
: Run all tests- Install nextest with command
cargo install cargo-nextest
- Install nextest with command
- On windows, especially, you may wish to run just through the nu shell, which can be done by calling all commands with the
--shell
command, e.g.just --shell nu lint
.
The ENV variable RUST_LOG
can be set with one of trace
, debug
, info
, warn
, error
. Filters can be set based on the target
components seen in the logs lines, for example: to use trace
but turn down the noise from the Actix dispatcher: RUST_LOG="trace,actix_http::h1::dispatcher=warn"
See tracing-subscriber docs and env_logger syntax.
- Why do we suggest NuShell?
- NuShell is almost as fast on Windows as cmd, but is compattible with bash. If you do not use NuShell on windows, you will need to make sure Git Bash is installed. If you have performance issues, consider switching to Nu.