nvidia/test-rust-core
Build and test NeMo Relay Rust core, adaptive, and dynamic plugin crates; use for crates/core, crates/adaptive, crates/plugin, crates/worker, crates/worker-proto, crates/types, or shared runtime changes
npx skills add https://github.com/NVIDIA/NeMo-Relay --skill test-rust-core
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.
cargo fmt --all.just test-rust.cargo clippy --workspace --all-targets -- -D warnings.crates/core, crates/adaptive, or shared runtimesemantics, 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.
# 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
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
crates/core/crates/adaptive behavior changed, also use validate-change.
nemo-relay-plugin,nemo-relay-worker, nemo-relay-worker-proto, or nemo-relay-types changed,
also use maintain-dynamic-plugins.
semantics, prefer that binding's build/test skill instead.
Cargo.tomlcrates/core/Cargo.tomlcrates/adaptive/Cargo.tomlcrates/core/README.mdcrates/adaptive/README.mddocs/contribute/testing-and-docs.mdxvalidate-changemaintain-dynamic-pluginsTake nvidia/test-rust-core from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.