swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..9ea771b
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,16 @@
+This repo is the source of truth for bootstrapping or ratcheting Rust lint posture.
+
+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.
+- Make every member crate opt into `[lints] workspace = true`.
+- Pin an exact stable toolchain in `rust-toolchain.toml`.
+- 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.