__pycache__/
*.pyc
.venv/
.pytest_cache/
.ruff_cache/
.hypothesis/
*.egg-info/
dist/
build/
.coverage
htmlcov/
# generated dbt projects live under target/ by default
target/
# catalog demo scratch (scripts/catalog_demo_seed.py writes throwaway source repos here)
.catalog-demo/
# canvas toolchain (the production build IS committed, under packages/server/.../static)
canvas/node_modules/
# vscode extension toolchain (source is committed; artifacts are not)
vscode/node_modules/
vscode/dist/
vscode/*.vsix

# demo projects ship as adoption assets: track the source, ignore build output.
# (*.duckdb below already excludes the bundled warehouses; users run `dbt build`.)
demo/**/target/
demo/**/logs/
demo/**/dbt_packages/

# demo recorder toolchain (tapes/pages are committed; the recorder's deps + rendered
# media are regenerable — `demos/standalone/build.mjs` + `record.mjs` rebuild them).
# The committed copies live where they're used: README GIFs in docs/assets/demos/,
# landing videos in demos/landing/media/.
demos/standalone/node_modules/
demos/standalone/package-lock.json
demos/standalone/out/

# duckdb build artifacts
*.duckdb
*.duckdb.wal

# macOS
.DS_Store

# Container-generated YAML-schema settings (paths are machine-specific).
.vscode/settings.json
.claude/worktrees/

# Vendored erwin XSD schemas — reference only, must NOT ship in a public repo.
erwin/

# Modelith CLI demo renders (regenerable via demos/render.sh)
demos/out/
