8 releases
| 0.2.7 | May 20, 2026 |
|---|---|
| 0.2.6 | May 15, 2026 |
#997 in Database interfaces
345KB
9K
SLoC
link-cli Rust Package
This directory contains the Rust link-cli crate, which publishes both a
reusable [lib] (link_cli) and the clink [[bin]] from the same
package. It mirrors the core query processor, named references, LiNo
import/export, and structure formatting used by the production C# tool.
The WebAssembly wrapper crate lives in rust/wasm/ and depends on this
package.
Install
# Build and install the CLI binary.
cargo install link-cli
# Or pull in the public API to build your own tooling.
cargo add link-cli
API documentation for every published version is hosted on
docs.rs/link-cli. A copy is also published to
GitHub Pages alongside the C# DocFX site by .github/workflows/docs.yml.
Use
clink '() ((1 1))' --changes --after
Optional Transactions and Version Control
Pass --transactions (or any flag in the family — --transactions-file,
--commit-mode, --retention, --log) to record each Create/Update/Delete
as a reversible transition in a sidecar doublets store. Pass --vc
(or --vc-file, --branch, --branch-from, --checkout, --tag,
--list-branches, --list-tags) to add a version-control layer over the
recorded transitions log:
# Record reversible transitions into data.transitions.links
clink --db data.links --transactions --auto-create-missing-references '() ((1 1))'
clink --db data.links --log
# Branch and tag on top of the transitions log
clink --db data.links --vc --tag v1
clink --db data.links --vc --branch feature --branch-from 1
clink --db data.links --vc --list-branches
End-to-end demo scripts live in
examples/transactions/ and
examples/version-control/.
Develop
cargo fmt --manifest-path rust/Cargo.toml --all -- --check
cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features
cargo test --manifest-path rust/Cargo.toml --all-features
Release automation for this package lives in rust/scripts/ and uses changelog
fragments from rust/changelog.d/.
Dependencies
~5–11MB
~223K SLoC