# Rust
/target/
**/target/
Cargo.lock.bak
*.pdb

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.pyd
*.egg-info/
.pytest_cache/
.venv/
venv/
.python-version
dist/
build/
wheels/
*.whl

# Editor / OS
.idea/
.vscode/
*.swp
.DS_Store
Thumbs.db

# Maturin
target/wheels/

# Benchmarks
criterion/

# Coverage
*.profraw
lcov.info
tarpaulin-report.html

# Local config that should not be committed
*.local.toml

# Node binding artifacts
**/node_modules/
bindings/node/*.node
bindings/node/npm-debug.log*
# index.js + index.d.ts are generated by `napi build` but committed (a matched
# pair) so consumers and the repo get TypeScript types; CONTRIBUTING requires
# regenerating both when a binding's public API changes.
# package-lock.json is committed for the tracked Node packages — bindings/node/
# and examples/node/ — so contributors get reproducible npm installs. There is
# no top-level npm package, and the ghost-ignored site/ keeps its lockfile local.
# See CONTRIBUTING.md "Lockfile policy" for the full per-component breakdown.

# WASM build output
bindings/wasm/pkg/

# Python venv
.venv/
venv/
