rust-tooling-cicd

Structure Cargo workspaces and build Rust CI pipelines with fmt, clippy, cargo-deny, nextest, and coverage.

1|Updated Jul 29, 2026
One-click install
npx skills add https://github.com/fusengine/kimi-code --skill rust-tooling-cicd-fusengine
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: rust-tooling-cicd
Source: https://github.com/fusengine/kimi-code/tree/main/plugins/rust-expert/skills/rust-tooling-cicd
Command: npx skills add https://github.com/fusengine/kimi-code --skill rust-tooling-cicd-fusengine

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Rust projects often suffer from inconsistent dependency versions across crates, CI pipelines that waste minutes running slow checks before fast ones, and unenforced supply-chain policy. This Skill provides the canonical workspace layout and a fixed, fail-fast CI gate so formatting, lint, security, and test checks run in the right order. ## Core Features & Use Cases - Cargo Workspace Structuring: Centralize dependency versions in [workspace.dependencies], inherit metadata and lints via key.workspace = true, and design additive features verified with cargo hack. - Canonical CI Gate: Implements the fixed order fmt → clippy (-D warnings) → cargo deny → cargo audit → nextest → cargo test --doc → llvm-cov coverage, with a ready-to-copy GitHub Actions workflow. - Supply-Chain Policy as Code: Ships a committed deny.toml template covering licenses, bans, advisories, and sources, plus MSRV verification with cargo hack check --rust-version. - Use Case: You are splitting a growing Rust crate into a multi-crate workspace and need a GitHub Actions pipeline. Use this Skill to generate the root manifest, member inheritance, deny.toml, and a four-job CI workflow in one pass. ## Quick Start Ask the agent to set up a Cargo workspace with centralized dependencies and a full Rust CI pipeline including clippy, cargo-deny, nextest, and coverage.

Frequently Asked Questions about rust-tooling-cicd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a Rust CI pipeline with GitHub Actions?▼

Run the canonical gate in fixed order: cargo fmt --check, cargo clippy with -D warnings, cargo deny check, cargo audit, cargo nextest run, cargo test --doc, then cargo llvm-cov for coverage. The Skill provides a ready-to-copy ci.yml implementing this as four jobs.

How do I share dependency versions across a Cargo workspace?▼

Declare versions once in the root [workspace.dependencies] table, then inherit them in each member with dep.workspace = true. This creates a single source of truth and prevents the same crate being pinned at different versions across members.

What is the difference between cargo-deny and cargo-audit?▼

cargo-deny is a policy engine covering licenses, banned or duplicate crates, unknown sources, and advisories, while cargo-audit only scans Cargo.lock against the RustSec advisory database. They overlap on advisories but are not redundant, so run both in CI.

Why does cargo nextest not run my doc-tests?▼

cargo nextest never executes doc-tests by design, so doc-tests silently pass CI if nextest is the only test step. Add a separate cargo test --doc step after nextest to cover them.

How do I verify MSRV and feature combinations in Rust?▼

Declare rust-version in the package or workspace manifest, then run cargo hack check --rust-version to prove the crate builds on it. Use cargo hack --feature-powerset check to verify every feature combination compiles, since features must be additive.

When should I not use Cargo features for optional behavior?▼

Do not use features for mutually exclusive behavior, because Cargo unifies the union of all requested features across the dependency graph and a downstream crate enabling both gets both. Model mutually exclusive modes as separate crates or APIs instead.