# =============================================================================
# .dockerignore
#
# Keeps the build context small for `docker build` / `docker buildx build`.
# Anything matched here is NOT sent to the Docker daemon as part of the
# context. Files are still re-included where the Dockerfile copies them
# explicitly (this only controls what `COPY .` and friends can see).
# =============================================================================

# -----------------------------------------------------------------------------
# Version control & IDE state
# -----------------------------------------------------------------------------
.git
.gitignore
.githooks
.github
.idea
.vscode
.DS_Store
*.swp
*.swo
*~

# -----------------------------------------------------------------------------
# Local environment / secrets
# -----------------------------------------------------------------------------
.env
.envrc
.env.*
*.pem
*.key

# -----------------------------------------------------------------------------
# Frontend (BUI) build artifacts and caches
#
# node_modules is reinstalled inside the builder stage to guarantee
# reproducibility. The Vite output dir (../../services/kronk/static) is
# generated by `npm run build` inside the image and must NOT be ignored
# from `cmd/server/api/services/kronk/static` itself — only the BUI's
# transient dist/.cache/coverage are excluded here.
# -----------------------------------------------------------------------------
cmd/server/api/frontends/bui/node_modules
cmd/server/api/frontends/bui/dist
cmd/server/api/frontends/bui/.vite
cmd/server/api/frontends/bui/coverage
cmd/server/api/frontends/bui/.cache
**/npm-debug.log*
**/yarn-debug.log*
**/yarn-error.log*
**/.pnpm-store

# -----------------------------------------------------------------------------
# Go build outputs / test artifacts
# -----------------------------------------------------------------------------
**/*.test
**/*.prof
**/*.out
**/*.cover
**/coverage.txt
**/coverage.html
**/dist
**/bin
vendor

# -----------------------------------------------------------------------------
# Kronk runtime state (user data that must never leak into the image)
# -----------------------------------------------------------------------------
**/.kronk
**/*.gguf
**/*.bin
**/*.safetensors
**/*.pt
**/*.ckpt
examples/samples/*.gguf
examples/samples/*.wav
examples/samples/*.jpg
examples/samples/*.png

# -----------------------------------------------------------------------------
# Docs and chapter content
#
# .manual/ is consumed by `go run ./cmd/server/api/tooling/docs` during the
# build to generate the BUI manual pages, so it must remain in the build
# context. .release/ is local note-taking and never needed in the image.
# -----------------------------------------------------------------------------
.release

# -----------------------------------------------------------------------------
# Sibling tooling that doesn't belong in the image
# -----------------------------------------------------------------------------
.goreleaser.yaml
zarf/docker/compose.yaml
zarf/docker/grafana
zarf/docker/loki
zarf/docker/prometheus
zarf/docker/promtail
zarf/docker/tempo
zarf/nix
mp
images

# -----------------------------------------------------------------------------
# Logs, pids, temp files
# -----------------------------------------------------------------------------
*.log
*.pid
tmp
.tmp
