# Binaries
bin/
*.exe
*.exe~
*.dll
*.so
*.dylib
drogonsec

# Build output
dist/

# Test files
*.test
*.out
coverage.out
coverage.html

# Go workspace
go.work
go.work.sum

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

# Secrets - NEVER commit these
.env
.env.*
!.env.example
*.pem
*.key
*.p12
*.pfx
*.jks
config.local.yaml
secrets.yaml
configs/ai.yaml

# Reports (generated files - add to .gitignore if you don't want them in VCS)
report.html
drogonsec-report.html
drogonsec.sarif
*.sarif

# Terraform
*.tfstate
*.tfstate.backup
.terraform/
.terraform.lock.hcl

# Node.js
node_modules/
npm-debug.log

# Python
__pycache__/
*.pyc
*.pyo
venv/
.venv/
.pytest_cache/

# …except the one virtualenv that is test data. The SCA engine reads a
# project's .venv to find what is installed, so the fixture that exercises it
# has to be a real virtualenv layout — and the rule above silently swallowed
# it, leaving the tests green locally against untracked files and red in CI
# against nothing. Re-including needs the directory itself un-excluded first:
# git never descends into an excluded directory, so a negation naming only the
# files inside it would not match.
!internal/sca/testdata/pyvenv/.venv/

# Coverage
.coverage

# Temporary
tmp/
temp/
