From 880fc4e23d4343578510e43b09897b8a38004eb8 Mon Sep 17 00:00:00 2001 From: Shane Engelman Date: Sat, 3 Oct 2026 04:35:19 -0700 Subject: [PATCH 1/2] docs: make AGENTS.md an index of the org standards Org-wide standards now live once in blacklanternsecurity/.github. This AGENTS.md states what the repo is, its toolchain and test commands, links each standard with when to read it, and keeps only what is true here and nowhere else. CLAUDE.md points at it instead of duplicating it, so agent context stops paying for restated rules. Refs blacklanternsecurity/bbot-enterprise#157 --- AGENTS.md | 42 ++++++++++++++++++++++++++++++++++++++++++ CLAUDE.md | 1 + 2 files changed, 43 insertions(+) create mode 100644 AGENTS.md create mode 100644 CLAUDE.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..3273a83 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,42 @@ +# AGENTS.md + +Checks whether an IP or hostname belongs to a cloud provider. Rust core with Python bindings via maturin. + +## Toolchain + +| Concern | This repository | +|---|---| +| Language | Rust, edition 2024. Python 3.10 through 3.14 bindings | +| Package manager | cargo, uv | +| Lint and format | clippy and rustfmt. ruff, pinned in pyproject.toml | +| Tests | cargo test, pytest | + +## Setup + +```bash +uv sync && uv run maturin develop --release +``` + +## Tests + +```bash +cargo test +uv run pytest test_cloudcheck.py -v +``` + +## Standards + +Org-wide, in [blacklanternsecurity/.github/standards](https://github.com/blacklanternsecurity/.github/tree/main/standards). Read the one your task touches, not all of them. + +| Document | Read it when | +|---|---| +| [principles.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/principles.md) | Always | +| [toolchain.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/toolchain.md) | Touching dependencies, linting, formatting, or language versions | +| [git.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/git.md) | Branching, commit messages, opening or reviewing a pull request | +| [rfc.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/rfc.md) | A change needs agreement before work starts, or an RFC is ending | +| [testing.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/testing.md) | Writing or changing tests, or anything that has them | +| [ci.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/ci.md) | Touching a workflow, an action pin, or a permissions block | +| [releases.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/releases.md) | Versioning, tagging, or publishing | +| [repository-setup.md](https://github.com/blacklanternsecurity/.github/blob/main/standards/repository-setup.md) | Creating a repository, or auditing one | + +Never restate a standard here. If this file and a standard disagree, the standard wins and this file is the bug. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..dc366f8 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +See @AGENTS.md. From 155b8a4f07243b918ded8dcf093b196651b05c2e Mon Sep 17 00:00:00 2001 From: Shane Engelman Date: Sat, 3 Oct 2026 07:40:36 -0700 Subject: [PATCH 2/2] docs(agents): reference manifests instead of retyping versions The toolchain table retyped the Rust edition and a Python range that does not match requires-python, and called ruff pinned while pyproject.toml declares a floor. Point at Cargo.toml and pyproject.toml, and state that the Rust toolchain is not yet pinned. --- AGENTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 3273a83..e1afe3a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,9 +6,9 @@ Checks whether an IP or hostname belongs to a cloud provider. Rust core with Pyt | Concern | This repository | |---|---| -| Language | Rust, edition 2024. Python 3.10 through 3.14 bindings | +| Language | Rust, edition in Cargo.toml. Python bindings, `requires-python` in pyproject.toml | | Package manager | cargo, uv | -| Lint and format | clippy and rustfmt. ruff, pinned in pyproject.toml | +| Lint and format | clippy and rustfmt, no rust-toolchain.toml yet. ruff, version in the `dev` group of pyproject.toml | | Tests | cargo test, pytest | ## Setup