# Python
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
dist/
build/
.eggs/

# Virtual environments
.venv*/
venv/

# Environment
.env
.env.local
.env.*.local

# Run artifacts (CLI default --out runs/; immutable per-run dirs + manifest, ADR-0021)
/runs/

# Distilled skill drafts (ariadne distil --out skills-proposed/; a human ratifies one by
# moving it under .claude/skills/, ADR-0029). The proposal is local until ratified.
/skills-proposed/

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

# Testing
.pytest_cache/
.coverage
coverage.xml
htmlcov/
.mypy_cache/
.hypothesis/
.ruff_cache/

# OS
.DS_Store
Thumbs.db

# Agent config
# Claude Code — the per-repo skill-context.md and the project skills (the harness
# itself) are team-shared; everything else under .claude/ is local.
.claude/*
!.claude/skill-context.md
!.claude/skills/
.gemini/
.worktrees/

# Logs (dev-runner archives are reproducible; never commit)
logs/
*.log

# Zensical build output
site/
.zensical_cache/

# Local data / model caches (never commit source intelligence data)
data/
*.duckdb
*.sqlite
models/
