# Python environments, bytecode, analysis and test output
__pycache__/
*.py[cod]
*$py.class
.venv/
venv/
env/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
.tox/
.nox/
.coverage
.coverage.*
coverage.xml
htmlcov/
*.egg-info/
.eggs/

# Node/frontend dependencies, caches and build output
node_modules/
dist/
build/
.vite/
.turbo/
.parcel-cache/
.npm/
.yarn/
.pnpm-store/
.playwright-mcp/
playwright-report/
test-results/
*.tsbuildinfo
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Local environment and credentials. Safe examples are explicitly allowed.
.env
.env.*
!.env.example
!.env.*.example
# Credential *material*, not every filename that mentions credentials. The bare substring globs
# that used to live here matched source: backend/tests/test_credential_security_m16.py — the entire
# M16 credential security suite, 35 tests — and docs/security/CREDENTIAL_THREAT_TESTS.md were
# silently excluded from the repository while being reported as delivered.
*.credentials
*.secret
*.token
credentials.json
credentials.yaml
credentials.yml
secrets.json
secrets.yaml
secrets.yml
*.pem
*.key
*.p12
*.pfx
id_rsa*
id_ed25519*

# IDE, OS and local browser/session state
.vscode/
.idea/
*.suo
*.user
*.userosscache
*.sln.docstates
.DS_Store
Thumbs.db
Desktop.ini
*.stackdump

# ModelForge runtime, container and generated evidence state
.data/
.state/
state/
data/
# Model weights, not configuration. This rule used to be a bare `models/`, which also matched
# config/models/ and silently excluded the candidate registry manifest the control plane
# needs at startup — a clean clone of the repository could not start.
/models/
model-artifacts/
hf-cache/
huggingface/
.cache/huggingface/
artifacts/
.quarantine/
quarantine/
downloads/
container-state/
postgres-data/
redis-data/
runtime-traces/
traces/
benchmarks/results/
benchmarks/generated/
*.sqlite
*.sqlite3
*.db
*.db-shm
*.db-wal

# Model weights and derived checkpoints are never source artifacts.
*.safetensors
*.gguf
*.bin
*.pt
*.pth
*.ckpt
*.onnx

# Logs and temporary output
*.log
logs/
tmp/
temp/
*.tmp
*.bak
dist-*/
