# Planning and internal docs
compose-lint-plan.md

# Agent / AI assistant configuration.
# AGENTS.md and CLAUDE.md are tracked (CLAUDE.md is a symlink to AGENTS.md for
# tools that still look for the legacy name). Memory, session, and local
# agent-runner state lives under .claude/ and stays untracked.
.claude/

# Python bytecode
__pycache__/
*.py[cod]
*$py.class
*.pyo

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

# Virtual environments
.venv/
venv/
ENV/

# IDE / editor
.vscode/
.idea/
*.swp
*.swo
*~
.project
.settings/

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

# Type checking
.mypy_cache/
.dmypy.json

# Ruff
.ruff_cache/

# Mutation testing (mutmut working dir)
mutants/
.mutmut-stats/

# Environment / secrets
.env
.env.*
!.env.example

# OS files
.DS_Store
Thumbs.db

# Build isolation
*.spec

# Raw VHS render; the committed demo asset is docs/assets/demo.gif
scripts/demo/demo.gif
