swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/AGENTS.md
blob: f75805921ee75fc52d36666050bac9f91613ddec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
This repo is the source of truth for bootstrapping or ratcheting Rust lint posture.

Read [docs/rust-style-doctrine.md](/home/main/programming/projects/rust_starter/docs/rust-style-doctrine.md)
before meaningful Rust style decisions. New and retrofitted Rust projects should
link to that doctrine from their own `AGENTS.md` so future agents inherit the
same taste surface.

Choose exactly one surface:

- Fresh bootstrap: read [docs/bootstrap-fresh.md](/home/main/programming/projects/rust_starter/docs/bootstrap-fresh.md) and adapt the files under [template/fresh](/home/main/programming/projects/rust_starter/template/fresh).
- Retrofit: read [docs/bootstrap-retrofit.md](/home/main/programming/projects/rust_starter/docs/bootstrap-retrofit.md), then diff the target repo against [template/fresh](/home/main/programming/projects/rust_starter/template/fresh) and [docs/rust-linting-proposal.md](/home/main/programming/projects/rust_starter/docs/rust-linting-proposal.md).

House rules:

- Keep lint semantics in root `Cargo.toml`; keep runners, CI, and editor config orchestration-only.
- Install project-local `.cargo/config.toml` with `[build] target-dir = "/data/main/cargo-target/<project-slug>"`; do not alter user-global Cargo config.
- Make every member crate opt into `[lints] workspace = true`.
- Pin an exact stable toolchain in `rust-toolchain.toml`.
- Install a target `AGENTS.md` link to [docs/rust-style-doctrine.md](/home/main/programming/projects/rust_starter/docs/rust-style-doctrine.md).
- Prefer `#[expect(..., reason = "...")]` for temporary local suppressions.
- Retrofit is ratchet work: preserve stricter local policy and justified local carve-outs; do not blindly paste the template.

Use [docs/rust-linting-proposal.md](/home/main/programming/projects/rust_starter/docs/rust-linting-proposal.md) for rationale and policy details, not as a paste target.