# .dockerignore uses Go filepath.Match, NOT .gitignore semantics: `*`
# does not cross `/`, and a pattern without a leading `**/` is anchored
# at the build-context root. Every depth-independent pattern therefore
# needs the `**/` prefix — without it `config/.env` and
# `certs/server.key` still ship while the file reads as solved.
#
# Root-anchored entries are for paths that occur exactly once, at the
# context root. A host-built binary is the usual case, and it must be
# written anchored: `/myapp`, never `**/myapp`. The prefixed form also
# matches `cmd/myapp/`, which deletes the package directory from the
# context.
#
# Matching is case-sensitive, so `**/*.key` does not match
# `certs/SERVER.KEY`. The secret-material extensions below use character
# classes, which cover every capitalisation in one line — a doubled
# ALL-CAPS pattern would still miss `Server.Key` while reading as though
# case were handled. Names that only ever exist in one spelling because
# a tool writes them (`.env`, `.envrc`, `id_rsa`) stay literal.
#
# Extend this file with the repo's own host-built artifacts (compiled
# binaries, test binaries, coverage output); those are per-repo and
# belong here because a host build otherwise drops them into the
# context.

# Repository metadata: exactly one, at the context root.
.git

# Environment files. `*.env` covers the `prod.env` / `local.env`
# convention; the `.env` and `.env.*` spellings are listed explicitly
# because they are what most tooling writes.
**/.env
**/.env.*
**/*.[eE][nN][vV]
**/.envrc

# Private keys and the bundles that carry them. Public certificates
# (*.crt, *.cer) are deliberately absent: they are not secrets and are
# sometimes a legitimate build input.
**/*.[pP][eE][mM]
**/*.[kK][eE][yY]
**/*.[pP]12
**/*.[pP][fF][xX]
**/id_rsa
**/id_dsa
**/id_ecdsa
**/id_ed25519

# Dependencies: restored inside the image, never copied in.
**/node_modules

# OS metadata.
**/.DS_Store
**/Thumbs.db

# Editor state. Never a build input, and it churns under a developer's
# hands, so it invalidates COPY for reasons unrelated to the source.
**/*.swp
**/*.swo
**/*~
**/*.bak
**/.idea
**/.vscode
**/*.sublime-*
