# .dockerignore does NOT use .gitignore semantics. Docker matches with
# moby/patternmatcher: filepath.Match plus `**`, so `*` does not cross
# `/` and an unprefixed pattern is anchored at the context root. Every
# depth-independent pattern therefore needs `**/`; only genuinely
# root-anchored entries go unprefixed. Never transplant these into
# .gitignore, where `**/` is wrong.
#
# Matching is case-sensitive, so secrets use character ranges rather
# than an ALL-CAPS twin, which would still miss `Server.Key`.

# Excluding .git means `git describe` cannot run in any build stage and
# fails quietly there; rtnetmon embeds no version, so this is safe.
.git

# Agent scratch: one full checkout of the repo per in-flight agent.
# Anchored because agents run at the repo root here.
.claude

# This repo's own host-built artifacts, root-anchored so `bin/` is not
# also matched inside package directories.
/bin
/rtnetmon
main.go.old

# Environment files.
**/*.[eE][nN][vV]
**/.[eE][nN][vV].*
**/.[eE][nN][vV][rR][cC]

# Private keys and the bundles carrying them.
**/*.[pP][eE][mM]
**/*.[kK][eE][yY]
**/*.[pP]12
**/*.[pP][fF][xX]
**/[iI][dD]_[rR][sS][aA]
**/[iI][dD]_[dD][sS][aA]
**/[iI][dD]_[eE][cC][dD][sS][aA]
**/[iI][dD]_[eE][dD]25519

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

# Editor state.
**/*.swp
**/*.swo
**/*~
**/*.bak
**/.idea
**/.vscode
**/*.sublime-*
