blob: 499bf046ed1b070423323626ee108ab0740e442f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
---
name: rust-bootstrap
description: Bootstrap or retrofit industrial-grade Rust linting by using the `rust_starter` repo as the source of truth. Use when Codex needs to set up strict Rust lint/check posture from scratch in a new repo, or ratchet an existing Rust repo toward manifest-owned lint policy without blindly overwriting valid local exceptions or stricter existing rules.
---
# Rust Bootstrap
Read [AGENTS.md](/home/main/programming/projects/rust_starter/AGENTS.md) first.
Then choose exactly one surface.
## Fresh Bootstrap
Use this when the target repo is blank or when you are setting up Rust linting from scratch.
Read:
- [docs/bootstrap-fresh.md](/home/main/programming/projects/rust_starter/docs/bootstrap-fresh.md)
- [template/fresh](/home/main/programming/projects/rust_starter/template/fresh)
Apply the template deliberately:
- replace placeholder members, names, and version/toolchain values
- keep repo-wide policy in root `Cargo.toml`
- keep `clippy.toml` tiny or delete it
- keep runners thin and orchestration-only
## Retrofit
Use this when the target repo already has Rust linting or check scripts and needs tightening.
Read:
- [docs/bootstrap-retrofit.md](/home/main/programming/projects/rust_starter/docs/bootstrap-retrofit.md)
- [template/fresh](/home/main/programming/projects/rust_starter/template/fresh)
- [docs/rust-linting-proposal.md](/home/main/programming/projects/rust_starter/docs/rust-linting-proposal.md)
Retrofit is diff-aware ratchet work:
- do not paste the fresh template wholesale
- preserve stricter local policy
- preserve justified local exceptions
- move duplicated script or CI flags into manifest-owned policy
- delete duplicate policy copies only after the manifest is authoritative
## Guardrails
- Re-open the repo docs when details matter; do not rely on memory.
- Use [docs/rust-linting-proposal.md](/home/main/programming/projects/rust_starter/docs/rust-linting-proposal.md) for rationale, not as a paste target.
- If a target repo already exceeds the template in some area, keep the stricter local posture.
- If a target repo intentionally diverges, adapt the pattern instead of forcing uniformity.
This skill is intentionally thin. The repo docs are the real payload.
|