swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/skills/rust-bootstrap/SKILL.md
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.