# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
build/
dist/
*.egg-info/
*.egg
.eggs/

# Virtual environments
.venv/
venv/
env/

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

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/

# Environment variables
.env
.env.*

# Claude Code -- local agent state stays out, but skills are shared tooling and are tracked.
# Must be `.claude/*` rather than `.claude/`: git does not descend into an excluded directory, so a
# negation for something inside it can never re-include the file.
.claude/*
!.claude/skills/

# OS files
.DS_Store
Thumbs.db

# Jupyter
.ipynb_checkpoints/

# Generated Mintlify files (built by scripts/)
docs/knowledge-base-source/
docs/mint.json
docs/.mintlify/
dist/

# AppMap trace artifacts (generated locally, never commit)
appmap.log
*.appmap.json

# Generated by scripts/audit/*.py. These are reports OF a run, not source:
# the committed copies were a v0.4.0 snapshot describing a 70/136 baseline that
# the audits themselves superseded, and they read as current. Re-generate with
# `python scripts/audit/run_all.py`.
audit_results/
