1# rustcrates
2
3Generic Rust crates shared across this estate's projects, one Cargo workspace.
4The Jev-specific ones live in `~/jevcrates`; a crate belongs here when nothing
5about it is tied to one product.
6
7| Crate | What it is |
8|---|---|
9| [`aldebaran-datastar`](aldebaran-datastar/) | Datastar's wire: patch events, signals, the one `datastar.js`. Part of Aldebaran, the Datastar web framework. |
10| [`aldebaran-time`](aldebaran-time/) | UTC on the server, relative time with a local tooltip in the browser; the calendar once. |
11| [`mcp`](mcp/) | The MCP layer over `rmcp`. Projects depend on this and never on `rmcp`. |
12| [`rete`](rete/) | A Rete rules engine over facts a host's domain declares: shared nodes, priority, one batched ask, a trace, rules as validated data. |
13| [`rete-draw`](rete-draw/) | A `rete` network drawn as SVG, from the network that runs. |
14
15Projects use a crate by path (`mcp = { path = "../rustcrates/mcp" }`), or, when
16the project is itself cloned by others, through a git submodule of this
17repository (lmjtfy: `third-party/rustcrates`, path dependencies into it). Whether the crates are later published as separate small
18repos is undecided and recorded in the brain, not here.
19
20```
21mise trust && mise install
22mise run test
23```