screentinker/.gitignore
ScreenTinker 0ec808298b Stop a self-referential node_modules symlink breaking the payload build
`server/node_modules` was tracked as a SYMLINK to its own absolute path:

    120000 blob ... server/node_modules -> /home/owner/Downloads/remote_display/server/node_modules

It came in with the #283 merge. Any attempt to resolve it is an ELOOP, so the
payload build died at the staging step with

    cp: cannot stat 'server/node_modules': Too many levels of symbolic links

and a fresh checkout gets a server/ whose dependencies cannot resolve at all.

.gitignore only had `node_modules/`, and a trailing slash matches DIRECTORIES —
which is exactly how a symlink of that name slipped past it. Both forms are listed
now, so the same mistake cannot be committed again.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014kfhrUPit5MCqxeTQyqr56
2026-08-18 20:22:15 -05:00

74 lines
1.5 KiB
Plaintext

# Dependencies
node_modules/
# No trailing slash as well: `node_modules/` matches DIRECTORIES only, so a SYMLINK named
# node_modules is not ignored by it. That is not hypothetical - an absolute, self-referential
# `server/node_modules -> /home/.../server/node_modules` was committed in the #283 merge and broke
# the payload build with "cp: Too many levels of symbolic links".
node_modules
# Databases: SQLite files, WAL/SHM sidecars, and any .db.<suffix> backups
# (e.g. .db.devbak), anywhere in the tree - never commit a database.
*.db
*.db-wal
*.db-shm
*.db.*
# Uploads (user content)
server/uploads/
# Secrets and certificates
server/certs/key.pem
server/certs/cert.pem
server/certs/license_private.pem
server/certs/.jwt_secret
server/certs/.license_key
# Android
android/.gradle/
android/build/
android/app/build/
android/local.properties
android/release-key.jks
*.apk
*.aab
*.wgt
*.tar.gz
# IDE / Editor
.claude/
.idea/
.vscode/
*.swp
*.swo
*~
# OS
.DS_Store
Thumbs.db
# Environment
.env
.env.*
# ...but DO track the documented template (placeholders only, no secrets)
!.env.example
# Local-only marketing assets
video/
# Generated: transition demo (rebuild with `node shared/Transitions/build-demo.js`)
shared/Transitions/demo.html
audit/
.mcp.json
**/.mcp.json
# Local SQLite artifacts (any extension the tooling might produce)
*.sqlite
*.sqlite3
# Generated by scripts/license-check.js --sbom (CI publishes it as a release asset)
sbom/
*.cdx.json
# Build artefacts: the player packages are built by scripts/, never committed.
brightsign/*.zip