# Exclude everything not needed in the all-in-one image. The build context is
# the repo root; the Dockerfile COPYs nodejs/* (app) + ops/nginx_conf/* (OpenResty
# config). Keep those, drop the rest.

# Node deps are rebuilt in the image from the lockfile (clean tree).
nodejs/node_modules/
nodejs/test/
nodejs/npm-debug.log*

# Bare-metal installer + chef ops not needed in the image.
ops/install.sh
ops/cert.sh
ops/cookbooks/
ops/roles/
ops/proxy.service

.github/

# Git + editor + secrets.
# NOTE: .git/ is intentionally NOT excluded — the gitinfo build stage in the
# Dockerfile reads it to bake the commit hash into the image (see
# nodejs/utils/build_info.js), then it's discarded before the final stage.
# It never ends up in the final image.
.gitignore
# docs/ and the doc files below ARE needed in the image now — served in-app
# at /docs (routes/docs.js) so they're readable without internet access.
*.md
!README.md
!CHANGELOG.md
!DEPLOYMENT.md
!nodejs/api.md
!docs/**/*.md
secrets.js
secrets.json
*.env
.env
.DS_Store
*.swp