__pycache__/
*.pyc
.venv/
*.egg-info/
.pytest_cache/
.ruff_cache/
.coverage
htmlcov/

# ablate's own working state — worktrees, run logs, the derived index — should
# not be committed by a project that adopts ablate on itself.
.ablate/runs/
.ablate/worktrees/
.ablate/index.db
.ablate/removed/

# The task suite *is* committed, deliberately. It is the expensive,
# hand-authored part (R3: task authoring is the highest-friction step), it is
# what makes a comparison reproducible by someone else, and sharing it is the
# whole argument for keeping .ablate/ in the repo rather than a cache dir (Q9).
!.ablate/tasks/

.playwright-mcp/

# The landing page now lives in its own repo (ablate-ai/web). A local
# web/ checkout may still exist here as scratch; never track it.
/web/

# Launch/marketing scratch — a Remotion project and demo assets. Local
# working material, not part of the CLI. Never track it.
/ablate-launch-video/
/demo/
