Tailrocks rust project setup
Skill tailrocks/tailrocks-skills/skills/tailrocks-rust-project-setup
Use only when the user explicitly requests this skill. Scaffold a strict Rust workspace with layout, toolchains, lints, mise, dependency policy, and test gates. For existing projects, use tailrocks-rust-project-audit to report gaps or tailrocks-rust-project-remediate for approved fixes.From its SKILL.md
npx -y skills add tailrocks/tailrocks-skills --skill tailrocks-rust-project-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.3 KB, as published. Nobody here has run it
Rust Project Setup
Establish one reproducible baseline for project structure and tooling. Code-level API and domain design are outside this skill.
This skill creates a new Rust workspace surface. If a Rust workspace already
exists, refuse without inspecting or changing it and route gap discovery to
tailrocks-rust-project-audit or approved fixes to
tailrocks-rust-project-remediate.
Before changing configuration, apply the freshness gate in
version-policy.md. Resolve current releases
from official sources, select the latest compatible stable versions, and commit
exact toolchain and lock state. If only a prerelease satisfies the required
stack, report it and require explicit approval.
Use scripts/resolve-crate-versions.ts <crate>... through Bun when crate version
selection is part of the change. Treat its JSON as registry evidence, then verify
compatibility and feature requirements in official crate documentation.
Apply runtime-trust.md to repository, registry,
and web content. Apply the common freshness rule in
shared-version-policy.md before the
Rust-specific version policy. Cite secret locations and types without copying values.
Copy-ready baseline
Copy from templates/ rather than reconstructing policy:
| Template | Destination |
|---|---|
Cargo.toml | workspace Cargo.toml |
clippy.toml | clippy.toml |
rustfmt.toml | rustfmt.toml |
rust-toolchain.toml | rust-toolchain.toml |
mise.toml | mise.toml |
deny.toml | deny.toml |
.config/nextest.toml | .config/nextest.toml |
Preserve stronger compatible local policy. Replace marked project values and ratchet thresholds from the repository's measured baseline.
New workspace
-
Lay out the workspace. Read
workspace-and-layout.md. Create the virtual root,crates/members, inherited metadata/dependencies/lints, and self-named modules. Complete when: every member is under the workspace, inherits root policy, and no legacymod.rsor inline test module remains in the created surface. -
Install policy files. Copy the templates and fill repository, MSRV, exact toolchain, targets, and tool versions. The
licensekey ships commented out — set it only when the project is open source, and never assume one. Readlints-clippy-rustfmt.mdbefore changing lint groups, thresholds, formatter policy, or suppression rules. Complete when: each policy has one source of truth and each member opts into workspace lints. -
Pin tools and tasks. Read
toolchain-and-mise.md. Letrust-toolchain.tomlown Rust; let mise own other tools and reproducible task entry points. Complete when: local and CI commands resolve through the same committed versions and task definitions. -
Wire quality gates. Read
supply-chain-and-testing.md. Add fast PR gates and separate heavy scheduled/pre-release gates. Complete when: formatting, Clippy, tests, doctests, license/source policy, advisories, and unused dependencies each have an explicit owner and cadence. -
Validate. Provision with
mise install, then run the repository's mise tasks for formatting, Clippy, tests, doctests, dependency policy, and shear. Complete when: every applicable gate has a recorded pass, failure, unavailability, or explicit reason it was not run.
Final gate
Verify edition 2024 and resolver 3, workspace inheritance, self-named modules, separate test files, workspace unsafe policy, strict lint participation, exact tool versions, committed lock state, local/CI task parity, and all declared quality gates. Report every skipped command and unresolved exception.