# Binary outputs
bin/
*.exe
*.dll
*.so
*.dylib

# State data (cloned on-demand)
state/
chaindata/

# Test outputs
*.test
*.out
coverage.txt
coverage.html

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

# Dependency directories
vendor/

# Environment files
.env
.env.local
.env.*.local

# Log files
*.log
logs/

# Temporary files
tmp/
temp/
*.tmp
*.temp

# Generated genesis files (keep configs directory but track essential configs)
!configs/.gitkeep
# Allow essential embedded config files
!configs/genesis_mainnet.json
!configs/genesis_testnet.json
!configs/genesis_local.json
!configs/cchain_genesis_mainnet.json
!configs/bootstrappers.json
!configs/validators.json
!configs/checkpoints.json

# Output directories
output/
dist/

state
extracted-blockchain/
runs/
migrated

# Go workspace files
go.work
go.work.sum

# AI markdown symlinks (all reference LLM.md)
AGENTS.md
CLAUDE.md
GEMINI.md
GROK.md
QWEN.md

# Build tool binaries (generated by go build)
analyze-keys
block-migrate
block-replayer
check-block
check-block0-badger
check-canonical
check-h-keys
check-header
check-header-format
check-migration
check-pebble-format
check-pebble-headers
convert-state
convert-state-proper
convert-trie
create-replay
debug-subnet
dump-keys
extract-raw-genesis
extract-real-genesis
finalize-migration
find-balance
find-headers
find-height
find-treasury
fix-canonical-blocks
fix-canonical-format
fix-canonical-geth-format
fix-chain-config
fix-chainconfig
genesis-stamp
get-state-root
inspect-db
key-scanner
list-prefixes
luxd
migrate-complete
migrate-full
migrate-proper
migrate-rawdb
migrate-subnet
pebble-inspect
pebble-scan
probe
scan-badger
scan-pebble
setup-pchain
setup-vm
subnet2coreth
test-batch
test-launch
verify-state
write-full-config
write-td
/genesis

# Temporary development scripts and files
*.sh
!scripts/*.sh
*.bak
*.OLD

# Migration and test output
migrated-ethdb/
migration.pid
--db/
--help/
.!*

# Backup directories
backup-*/

# Generated JSON files in root (configs are in configs/)
*.json
!configs/*.json
!configs/**/*.json
!pkg/genesis/*.json

# Temporary go files in root (not in subdirectories)
/*.go
!/main.go

# Node directory (cloned for development)
node/
vm/

# Docker deployment files
deploy/docker/Dockerfile
deploy/docker/configs/

# Docs Next.js files (built separately)
docs/app/
docs/content/
docs/lib/
docs/public/
docs/next.config.mjs
docs/postcss.config.js
docs/source.config.ts
docs/tailwind.config.ts
docs/mdx-components.tsx

# Staking keys (should not be committed)
test/test-mainnet-keys/
test/test-staking-keys/

# Archive build outputs
cmd/archive/*/import-blockchain
cmd/archive/*/netrunner
cmd/archive/*/rpc-server
cmd/archive/*/verify-chain
cmd/archive/*/check-balance
migrated-ethdb.disabled/
*.mem
*.sst
