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