# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Code coverage profiles and other test artifacts
*.out
coverage.*
*.coverprofile
profile.cov

# Dependency directories (remove the comment below to include it)
# vendor/

# Go workspace file
go.work
go.work.sum

# env file
.env

# Editor/IDE
# .idea/
# .vscode/

# Tracepad
bin/
dist/
# Written by `make notices` for a release, from the module cache and the bundle (spec 020 #17).
THIRD_PARTY_NOTICES
.dev.log
*.db
*.db-wal
*.db-shm
*.bak

# Web interface (spec 006 #9). The built bundle is never committed: it would
# poison every UI diff, and `make ui` reproduces it. `internal/ui/dist` is
# where `make ui` stages it for the `ui` build tag to embed.
ui/node_modules/
ui/.svelte-kit/
ui/test-results/
ui/playwright-report/
ui/tests/e2e/.state.json
internal/ui/dist/

# The Python package (spec 017). Nothing a build or a test run leaves behind:
# the wheel is built by the release workflow and the virtualenv by `uv`.
__pycache__/
*.py[cod]
.venv/
.pytest_cache/
.ruff_cache/
*.egg-info/

# The Node package (spec 032). `dist` is built by tsup on `npm pack` and by
# `make sdk-js-build`; never committed.
sdk/js/node_modules/
sdk/js/dist/

# The gate's lock-file linter, installed from its own lock (spec 020 #19).
tools/lockfile-lint/node_modules/

# The documentation site (spec 050): mkdocs builds into `site/`, which is
# published from the `gh-pages` branch and never committed here.
/site/
