# Rust
/target/
Cargo.lock

# Python
__pycache__/
*.py[cod]
*.egg-info/
.venv/
dist/
*.whl

# JavaScript / Node
node_modules/
dist/
*.tsbuildinfo

# WASM artifacts in wrapper dirs (built by CI, not committed)
wrappers/python/src/checkrd/checkrd_core.wasm
wrappers/python/src/checkrd/_wasm_integrity.py
wrappers/javascript/checkrd_core.wasm

# Test artifacts
.coverage
htmlcov/

# Terraform
.terraform/
*.tfstate
*.tfstate.backup
*.tfplan
tfplan
.terraform.lock.hcl
*.auto.tfvars
# terraform.tfvars is committed (non-sensitive values); local overrides use *.auto.tfvars

# Dev logs
.dev-logs/

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

# Environment
.env
.env.*
!.env.example
!dashboard/.env.development
!dashboard/.env.production
config/prod.env
config/staging.env
# E2E fixture JWT (generated by scripts/seed-e2e-fixtures.sh) — contains
# a signed session token; never commit.
config/e2e.env.local

# Playwright artifacts
dashboard/playwright-report/
dashboard/test-results/
dashboard/e2e/.auth/

# Credentials (never commit)
*.key
*.pem
credentials.toml

# Claude Code worktrees + ephemeral agent state
.claude/

# cargo-mutants output
mutants.out/
mutants.out.old/
.vercel

# Worktrees for isolated subagent-driven development
.worktrees/
