node_modules/
explorer/node_modules/
explorer/dist/
__pycache__/
*.pyc
.env
venv/
.venv/
.vscode/
.idea/
*.log
explorer/public/graph_data.json
explorer/dist/graph_data.json
.coverage

# Private marketing materials — not for public repo
marketing-plan/

# macOS junk
.DS_Store

# Local Claude Code / agent config
.claude/
.agents/

# Demo-recording rig + raw captures (local-only, keep out of public repo)
# (root package.json/lock are the Playwright demo rig — anchored with / so explorer/package.json stays tracked)
# The Remotion rig that polishes the capture lives in /scripts/video and is ignored with it.
# Exception: docs/screenshots/vibegraph-demo.{gif,mp4} are the finished README demo and ARE
# committed — they do not match demo*.{gif,mp4}, so they stay tracked. Regenerate via
# scripts/video/README.md.
/package.json
/package-lock.json
/scripts/
docs/screenshots/_video/
docs/screenshots/_video_hd/
docs/screenshots/demo*.gif
docs/screenshots/demo*.mp4
