SKILL.md
Build And Test Rust Core
Companion Guidance
Use karpathy-guidelines alongside this skill for implementation or review work. Keep changes scoped, surface assumptions, and define focused validation before editing.
Use this skill when a change is primarily in crates/core, crates/adaptive, dynamic plugin Rust crates, or shared Rust runtime semantics.
Default Path
- Run
cargo fmt --all. - Run
just test-rust. - Run
cargo clippy --workspace --all-targets -- -D warnings. - Because this skill covers
crates/core,crates/adaptive, or shared runtime
semantics, expand to the full binding matrix with validate-change.
Use narrower crate tests as a local debug loop, not as the final validation story for a Rust change.
Common Commands
# Shared-runtime build/test wrapper
just test-rust
# Required Rust format pass
cargo fmt --all
# Required Rust lint pass
cargo clippy --workspace --all-targets -- -D warnings
# Core runtime only
cargo test -p nemo-relay
# Adaptive crate when touched
cargo test -p nemo-relay-adaptive
# Dynamic plugin crates when touched
just build-test-plugin-fixtures
cargo test -p nemo-relay-types
cargo test -p nemo-relay-plugin
cargo test -p nemo-relay-worker-proto
cargo test -p nemo-relay-worker
cargo test -p nemo-relay --features worker-grpc --test native_plugin_integration --test worker_plugin_integration
# Compile sweep
just build-rust
# Shared-semantics or broad runtime changes
just ci=true test-rust
When To Escalate
- If a public API, event shape, middleware behavior, plugin semantics, or any
crates/core/crates/adaptive behavior changed, also use validate-change.
- If native dynamic plugins, gRPC workers,
nemo-relay-plugin,
nemo-relay-worker, nemo-relay-worker-proto, or nemo-relay-types changed, also use maintain-dynamic-plugins.
- If the change is isolated to one binding wrapper on top of unchanged Rust
semantics, prefer that binding's build/test skill instead.
References
Cargo.tomlcrates/core/Cargo.tomlcrates/adaptive/Cargo.tomlcrates/core/README.mdcrates/adaptive/README.mddocs/contribute/testing-and-docs.mdxvalidate-changemaintain-dynamic-plugins