# Built binaries (Dockerfile output + `go build ./cmd/hanzo`)
/cloud
/hanzo
# `make host` writes here too — 26MB of ELF one `git add -A` away from a commit.
/host
# A bare `go build ./plugin/<app>/` writes <app> HERE, not into /bin where the
# Makefile puts it: 150MB of unstripped ELF in a checkout several sessions share.
/o11y

# Local build directories
/dist/
/build/
/bin/

# Go test + coverage artifacts
*.test
*.out
coverage.txt
coverage.html

# cek encryption sidecars are key material — never commit one from a source tree.
# Tests seal their stores under t.TempDir(); a sidecar in a package dir (e.g. from a
# test that opened ":memory:") is a mistake. The cek testdata fixtures are the one
# intentional exception.
*.dek
*.cek.lock
!cek/testdata/**

# Environment files
.env
.env.*
!.env.example

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

# OS metadata
.DS_Store
Thumbs.db

# Logs
*.log
.shots/

.claude/
.worktrees/

# Artifacts from treating an in-memory DSN as a filename (see cek.inMemory).
:memory:
:memory:.*
__pycache__/

# Never commit dependency trees or build output — a 116 MB next-swc binary in
# clients/team/wallet/app/node_modules got a push rejected by the size limit.
node_modules/
**/node_modules/
native/flags/target/
tools

# Build output at the repo root. `go build ./apps/gateway` and friends drop the
# binary HERE by default, and five of them (gateway 53M, account 33M, authz 30M,
# smoke 8M, gen-app-cmds 4M — ELF x86-64, ELF aarch64 and Mach-O arm64, so three
# different people's machines) were committed and pushed the module tree past Go's
# 500MB zip limit. `go get github.com/hanzoai/cloud@latest` then failed outright
# with "module source tree too large", which is every consumer, not just ours.
#
# Each is built from a real package that keeps its source: apps/gateway,
# apps/account, plugin/authz, plugin/smoke, plugin/gen-app-cmds.
/gateway
/account
/authz
/smoke
/gen-app-cmds
