# .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. Entries
# that are genuinely root-anchored stay unprefixed. 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 and secrets. These are the reason the prefixes matter: a
# developer's local copy is invisible to every git-based check.
**/.env
**/.env.*
**/*.pem
**/*.key

# 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-*
