Development¶
Artesian follows a small-workspace version of the structure used by mature Rust repositories such
as OpenAI Codex, Zed, Polars, and Ruff: domain crates under crates/, shared workspace
dependencies, crate-level integration tests, and repo-level command aliases.
Layout¶
- Production code lives under
crates/<crate>/src. - Public contract and integration tests live under
crates/<crate>/tests. - Shared test-only utilities live in
crates/artesian-test-supportand are never published. - Future fixture-heavy tests should use
tests/fixturesortest_datainside the owning crate. - Repository-level tooling lives in
.cargo/,.config/,rustfmt.toml,clippy.toml, andjustfile.
Commands¶
Equivalent cargo aliases:
Use cargo test --workspace to verify default features and
cargo test --workspace --all-features to verify optional backends such as Qdrant.
Diagrams¶
Hero diagrams live in docs/diagrams/*.mmd and are rendered to committed PNGs:
The target uses npx -y @mermaid-js/mermaid-cli, so no global Mermaid install is required. The
renderer needs Node.js and a working headless Chromium/Puppeteer runtime; on CI this is provided
by ubuntu-latest, while local Linux systems may need Chromium runtime libraries from the
distribution package manager.