# Rust
target/
Cargo.lock
generated/*
!generated/README.md
!generated/manifest.json

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

# OS
.DS_Store
Thumbs.db

# Scattered outputs in root (legacy - to be removed)
/*.png
/*.pdf
/*.svg
/performance_data.csv

# Temporary files
*.tmp
*.temp
*.rej
*.orig

# Web demo outputs
node_modules/
demo/web/node_modules/
demo/web/pkg/
demo/web/dist/
demo/web/playwright-report/
demo/web/test-results/
crates/ruviz-web/pkg/
packages/ruviz-web/node_modules/
packages/ruviz-web/dist/
packages/ruviz-web/generated/
packages/ruviz-web/docs/.vitepress/cache/
packages/ruviz-web/docs/.vitepress/dist/
python/.venv/
python/.pytest_cache/
python/.ruff_cache/
python/site/
python/**/__pycache__/
python/**/*.pyc
python/**/*.pyo
python/ruviz_py/ruviz/_native*.so
python/ruviz_py/ruviz/*.dSYM/

# AI/Assistant artifacts
.serena/
.claude/
.codex/
openspec/
memory/
plans/
claudedocs/
AGENTS.md
CLAUDE.md
.playwright-mcp
.playwright-mcp/
review/
