__pycache__/
*.py[cod]
*$py.class

.venv/
venv/
.env

build/
dist/
wheelhouse/
*.egg-info/

.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
htmlcov/

docs/_build/

# pymongo-validation pytest-json-report raw output (regenerated each run).
.validation/

.DS_Store
.idea/
.vscode/

# Claude Code's per-worktree harness config (hooks, plugins, settings).
# Local to the developer; never committed.
.claude/

# Cross-driver smoke test scaffolding. The Go module's downloaded
# deps live in $GOPATH (already outside the repo); the Node smoke's
# node_modules is local to the workdir and downloaded on first run.
# package-lock.json IS committed for reproducibility.
tests/cross_driver/node/node_modules/

# Pelican site build artifacts and ephemeral runtime state. The build
# output is regenerated each `invoke build`; theme/static/img/ is copied
# from ../brandkit/ at build time; secantus-data/ is a stray WiredTiger
# data dir that may be created if a SecantusDBServer is started with
# website/ as cwd; aws-state.json contains account-specific resource IDs.
website/output/
website/themes/secantus/static/img/
website/infra/aws-state.json
website/secantus-data/
website/__pycache__/
