From 0f0905fe6635751edd9ad7e9e02b36e8b8e4dbc4 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 31 May 2026 11:11:08 -0500 Subject: feat(aiignore): add .aiignore and the recursive-read convention Agents (and any future inventory tool) doing a naive recursive read of a project pick up node_modules, __pycache__, build output, and token artifacts even when those are gitignored, because a recursive read sees the disk, not git. I added a gitignore-syntax .aiignore at the repo root with the default skip list, and a protocols.org "Recursive Reads" subsection documenting the convention, the defaults to assume absent a file, and the lockfile policy (skip on agent reads, independent of git-tracking). I did not wire the walking scripts (audit.sh, diff-lang.sh, sync-language-bundle.sh): they do targeted finds over .ai/.claude/bundle dirs, never whole-tree walks, so honoring .aiignore there would be dead code. That belongs in a future catalog tool. --- .aiignore | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .aiignore (limited to '.aiignore') diff --git a/.aiignore b/.aiignore new file mode 100644 index 0000000..903f5f1 --- /dev/null +++ b/.aiignore @@ -0,0 +1,42 @@ +# .aiignore — paths agents and inventory tooling should skip on recursive reads. +# +# Same syntax as .gitignore. These are noise during exploration (machine- +# specific caches, dependency trees, build output) that waste tokens and skew +# project summaries even when gitignored — a recursive read sees the disk, not +# git. This file is rulesets' own copy and the canonical example; a project may +# add its own patterns. The convention and defaults are documented in +# .ai/protocols.org ("Recursive Reads"). + +# Dependency trees +node_modules/ +.venv/ +venv/ +vendor/ + +# Python build / cache +__pycache__/ +*.pyc +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ + +# JS/TS build + coverage +dist/ +build/ +coverage/ +.next/ +.cache/ + +# Editor / OS cruft +.DS_Store +*.swp + +# Generated auth / token artifacts +token.json +*.token.json + +# Lockfiles: skipped on agent reads (large, low-signal). This is about what +# agents read, not what git tracks — a project still tracks these for +# reproducibility where that matters. +package-lock.json +uv.lock -- cgit v1.2.3