The CLI for LyraCore. Start a local realm, import world data, manage Packages, prepare client content, and provision Accounts.
Follow the LyraCore quickstart
to install the prerequisites and clone Core. Its ./lyracore launcher builds and runs the CLI
commit pinned in .lyracore-cli-rev. You do not need to clone this CLI repository to use it.
./lyracore doctor
./lyracore dev up
./lyracore account create ALICE
./lyracore import
./lyracore dev check
./lyracore dev statusCore's installer also supplies a global lyracore launcher that works from checkout subdirectories.
The local realm uses four databases by default; dev up --single selects one. Import your world
content before play. Stop the processes owned by the CLI with lyracore dev down.
lyracore help # initial setup
lyracore help --all # complete command surface
lyracore packages --help # one command family
lyracore help packages apply # one operationThe command reference holds the detailed behavior and safety contracts. Full and focused help share one catalogue; a test keeps its documented command list synchronized.
Before a direct Gateway Cargo build or editor check, run lyracore bindings to prepare generated
bindings. dev up prepares them automatically. See the bindings contract.
packages apply prepares and activates installed source. Authors can separately use
packages build to produce artifacts and packages check to verify existing ones.
client sync installs client content; client pack --out DIR builds a distributable artifact.
lyracore update updates Core only when it can preserve local commits. Replacing rewritten mirror
history requires --reset-mirror, which saves a recovery branch first. Neither form restarts
anything. See the update contract.
lyracore production status inspects an explicitly named production topology without changing it.
Root-only systemd reconciliation lives in the separate lyracore-ops binary and uses the selected
checkout without updating source. See installation and host operations.
The developer CLI does not install Rust or SpacetimeDB or manage backups.
cargo test --locked
cargo clippy --all-targets --locked -- -D warnings
cargo +1.85 check --locked # supported minimum toolchain
bash deploy/spacetimedb-prune-test.sh
python3 -m unittest discover -s deploy -p 'test_*.py'Unit tests use fake process adapters and temporary directories. Checkout-update integration tests also invoke the built CLI and Git against disposable local repositories, without network access. No test starts a real realm or administers a host service.
Core contract ownership records the interfaces needed to remove the remaining artifact-format and import-verification duplication without losing checks.
Licensed under either Apache License 2.0 or MIT License, at your option.