# Clusev — project lives in /home/nexxo/clusev (its own repo root). /.phpunit.cache /bootstrap/ssr /node_modules /public/build /public/hot /public/storage /storage/*.key /storage/framework/active-domain /storage/pail /vendor # Secrets / local env (never commit) .env .env.* !.env.example *.pem # Self-update trust anchor: the SSH allowed-signers list update.sh checks the pulled HEAD against. # MUST stay untracked so a pulled/MITM'd tree can never swap the trusted maintainer key (git pull # leaves ignored files alone). Provisioned out-of-band; see the signature-verification spec. /.clusev-allowed-signers .phpunit.result.cache Homestead.json Homestead.yaml auth.json npm-debug.log yarn-error.log # editors / OS /.fleet /.idea /.nova /.vscode /.zed .DS_Store # local sqlite (we use MariaDB) /database/*.sqlite* # runtime host-bridge signal dir (request/result files written by the dashboard + host watchers); # the dir itself is kept (bind-mount target) but its runtime contents are never committed /run/* !/run/.gitkeep # host-side update transcript (written at the repo root — NOT under ./run — so a compromised # container cannot symlink-redirect the root updater's tee; see docker/restart-sentinel/watch.sh) /update.log /install.log # transient status temp files: created at the repo root then atomically renamed into ./run (same fs, # container-inaccessible) so the root write can't be symlink-redirected — normally gone in an instant /.phase.* # internal / AI-collaboration docs — kept on the dev box, never committed, mirrored or shipped /CLAUDE.md /rules.md /handoff.md /kickoff-prompt.md /docs/ # The release image pin is written ONLY into the promoted public tree by CI (git add -f there); # a copy must never be committed to the source tree, or a dev install would wrongly switch to pull. /release-images.lock # The marketing site + docs (clusev.com / docs.clusev.com) are a SEPARATE project at ~/clusev-site # with their own compose — they must NEVER land in the panel repo (else anyone could self-host the # site). Belt-and-suspenders guard in case site files are ever copied in here by mistake. /clusev-site/