# macOS
.DS_Store

# Python / uv
__pycache__/
*.pyc
# all uv envs (recursive: also overlay/.venv*). No trailing slash → also ignores the `.venv` SYMLINK
# uv's centralized-project-envs leaves in the tree (points into ~/.cache/uv), not just real env dirs.
# Opt-in tasks: fuzz/crosshair run ephemerally (no dir), pyspy uses /tmp, subint repro is manual.
.venv*
*.egg-info/

# atheris/libFuzzer crash + timeout repro artifacts (add real ones as regression goldens, don't commit blobs)
crash-*
timeout-*
oom-*
overlay/tools/fuzz/corpus/

# tooling caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
.coverage
# lychee link-checker cache (written by `poe links-net`); a regeneratable local cache like the above
.lycheecache
# cosmic-ray campaign DBs (poe mutate) — expensive to build, reused across runs
.mutation-cache/

# build artifacts
dist/
build/
*.whl

# release scratch: curated changelog entry for the in-progress release (release.py prepare); its
# content is folded into CHANGELOG.md, not committed itself
/RELEASE_NOTES.md

# render / test scratch
out.png
*.out.png

# generated ranking + dict outputs
saitenka-dicts/
*.anki2

# frequency dictionaries — user-supplied, never committed (see tools/freq/README.md)
tools/freq/*.zip

# local planning scratch — the published artifacts are CHANGELOG.md (+ GitHub issues)
vibe/

# repowise local index/wiki (generated by `repowise init`; its .repowise/.env may hold API keys)
.repowise/
# repowise also self-installs editor integration wherever it's run from — local machine config,
# not project source. Scoped to overlay/ (root /.claude/ below serves a different purpose: the
# repo-local skills symlink).
overlay/.claude/
overlay/.mcp.json
overlay/.vscode/

# Claude Code: entirely local (settings + an optional .claude/skills -> ../.agents/skills symlink). Never committed.
/.claude/

# Claude-Code-local agent shim (`@AGENTS.md`) — the repo is agent-agnostic; AGENTS.md is canonical.
# Kept locally by convention, same as .claude/ above (see the agent-setup skill).
/CLAUDE.md

# Codex: local machine config (for example the Repowise MCP adapter). Durable guidance lives in AGENTS.md/.agents.
/.codex/config.toml

# Generated by `.agents/skills/agent-setup` render.py from the canonical .agents/mcp/servers.json.
# Per-agent MCP config is not portable, so the neutral source is committed and this is derived, not tracked.
/.mcp.json

# MkDocs / Read the Docs build artifacts
site/
/requirements.txt

# Grow loop: generated coverage-context signal + its temp coverage files
.grow-contexts.json
.grow_contexts.*
