# Rust build artifacts
/target/
fuzz/target/
# libFuzzer crash/hang output and locally grown corpora (seed with -f if you commit minimal cases)
fuzz/artifacts/
fuzz/corpus/
**/*.rs.bk
*.pdb
**/*.rmeta

# Cargo.lock for libraries (should not be committed)
Cargo.lock
fuzz/Cargo.lock

# Coverage reports and profiling
/coverage/
/target/tarpaulin/
*.tarpaulin
*.profraw
*.profdata
/cobertura.xml
/lcov.info

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.*.sw?
*.sublime-*
.project
.classpath
.settings/
.vs/

# OS files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini

# Environment and secrets
.env
.env.*
!.env.example
*.key
*.pem
*.p12

# Logs and databases
*.log
*.db
*.db-shm
*.db-wal
*.sqlite
*.sqlite3

# Documentation build artifacts
/target/doc/
/book/

# Benchmark results
/target/criterion/
/benches/*.txt
benchmark_results.txt

# Flamegraph and profiling
flamegraph.svg
perf.data
perf.data.old

# Backup files
*.bak
*.gho
*.ori
*.orig
*.tmp

# Lock files from other tools
package-lock.json
yarn.lock
pnpm-lock.yaml

# Test artifacts
*.test
/test-results/

# Large test data binaries (IBD repro, etc.)
tests/test_data/**/*.bin

# Misc
.cache/
*.pid

# Local-only ad-hoc spec-lock wrappers (canonical script is scripts/spec-lock-verify.sh)
scripts/*.spec-lock.local.sh

# Local Cargo configuration (for local development only)
.cargo/config.toml