# Rust
/target/
**/*.rs.bk
*.pdb

# Python (for the pyo3/python bindings workspace)
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
.venv/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# OS
.DS_Store
Thumbs.db

# Editors
.vscode/
.idea/
*.swp
*.swo
*~

# Env
.env
.env.local

# mdbook build output (regenerated by `mdbook build` / `just docs-floor` / CI).
book/book/

# Per-user Claude Code settings (the .claude/arch and .claude/plans directories ARE tracked)
.claude/settings.local.json

# Local working notes, recovery artifacts, agent transcripts.
# scratch/ is for in-flight thinking; nothing in it ships in the public crate
# (Cargo.toml already excludes it via the `exclude` field) and nothing in it
# belongs in git history either.
scratch/

# Generated-docs archive (snapshots of prior docsite content; not tracked)
.archive/

# Coverage output (regenerated by `just coverage`).
lcov.info
coverage.xml
.coverage

# Compiled Python extension produced by `maturin develop` into the source tree.
# The wheel is the shipping artifact; this file is a local build product.
*.so

# Spike and probe scratch. These are throwaway explorations, and spikes/
# carries build output measured in tens of megabytes.
.claude/spikes/
.claude/probes/

# Plugin workspaces. craft-rhetoric and craft-research scratch: discourse,
# comprehension traces, cartography, extraction units. Working state for the
# agents, not project artifacts.
.claude/rhetoric/
.claude/research-deep-dive/
