# Env vars
.env*
!.env.ci
!.env.local.example
!.env.shared
!.env.development

# Terraform
.terraform/
.terraform.lock.hcl

# Node
node_modules
*.local
*.tsbuildinfo
vite.config.js
vite.config.d.ts

# Build artifacts.
**/dist/

# Release staging tree written by scripts/release/assemble.sh
/release/

# Compiled XID trigger (dev tool built locally from xid_trigger.cu)
/scripts/xid_trigger/xid_trigger

# `go build ./cmd/X` writes the binary to the working directory. The sanctioned
# path is `just build`, which writes to dist/ — these catch the ad-hoc case
# before a 100MB binary reaches a commit.
/probe-reasoner
/warpscale
/warpscale-bench
/warpscaled
# /warpscaled also matches the module directory, which would silently ignore
# every NEW file under warpscaled/; re-include the directory (trailing / matches
# directories only, and the later rule wins) so only the root binary is caught.
!/warpscaled/
/wsctl
/wsctldev

# Logs
*.log

# fault_inject compiled binary (the package dir shares the name, so ignore
# only the built binary, not the source under scripts/fault_inject/).
/fault_inject
/scripts/fault_inject/fault_inject
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
air*.log

# Editor directories and files
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

*.o
compile_commands.json
.cache/

coverage.out

# Go binaries
/warpscale
/sentry

# mkcert local dev certs
**/certs/*.pem

# Vite cache
.vite/
vite.config.d.ts
vite.config.js

# Temporary files (bpftime clone for research)
# E2E test logs
test/e2e/logs/

# Temporary files (cloned src for research)
tmp/

# Claude Code
.claude/scheduled_tasks.lock

# Bench harness artefacts (`dist/` already covered by the Node section above)
bench/results/

# Python (corpus/analysis)
**/__pycache__/
*.py[cod]
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
corpus/analysis/.venv/
corpus/analysis/reports/

# Reasoner-distillation scratch outputs (synthetic inputs, meta,
# teacher traces). Re-creatable from emit + distill-traces skill;
# never committed.
corpus/distillation/runs/
/infra/terraform/modules/aws-cw-logs-to-slack/lambda.zip
