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-access`](aldebaran-access/) | A Cloudflare Access token checked by the Worker itself (RS256), with a closed set of refusals. Part of Aldebaran. |
10| [`aldebaran-assets`](aldebaran-assets/) | Embedded files named by their content, cached for good; a bundle that refuses duplicate paths at compile time. Part of Aldebaran. |
11| [`aldebaran-axum`](aldebaran-axum/) | Responses over `http` and axum's body, for the Worker family and the native family alike. Part of Aldebaran. |
12| [`aldebaran-datastar`](aldebaran-datastar/) | Datastar's wire: patch events, signals, the one `datastar.js`. Part of Aldebaran, the Datastar web framework. |
13| [`aldebaran-gate`](aldebaran-gate/) | Which address a request came to: old addresses moved to the canonical one, a strict `on`/`off` switch. Part of Aldebaran. |
14| [`aldebaran-headers`](aldebaran-headers/) | The security headers of every response, from a policy that cannot name another origin by accident. Part of Aldebaran. |
15| [`aldebaran-log`](aldebaran-log/) | A request log built from closed types, so a visitor cannot be written to it by accident. Part of Aldebaran. |
16| [`aldebaran-worker`](aldebaran-worker/) | The Worker console and the deploy's variables; the one Aldebaran crate that names `worker`. Part of Aldebaran. |
17| [`aldebaran-time`](aldebaran-time/) | UTC on the server, relative time with a local tooltip in the browser; the calendar once. |
18| [`mcp`](mcp/) | The MCP layer over `rmcp`. Projects depend on this and never on `rmcp`. |
19| [`pixel-mouth`](pixel-mouth/) | A mouth for pixel-art characters: where it sits and how it is drawn as data, the rectangles of four openness levels, and the timing that steps them over a syllable. |
20| [`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. |
21| [`rete-draw`](rete-draw/) | A `rete` network drawn as SVG, from the network that runs. |
22
23Projects use a crate by path (`mcp = { path = "../rustcrates/mcp" }`), or, when
24the project is itself cloned by others, through a git submodule of this
25repository (lmjtfy: `third-party/rustcrates`, path dependencies into it). Whether the crates are later published as separate small
26repos is undecided and recorded in the brain, not here.
27
28```
29mise trust && mise install
30mise run test
31```