Files
platform/.gitignore
T
pastilhasandClaude Opus 5 2258812d4a untrack marketplace-installed plugins
The previous commit's `git add -A` committed plugins/music as a gitlink (mode
160000) — a pointer to a commit in a repository this one does not contain.
Anyone cloning the platform would get an empty directory and a broken checkout
if they could not reach gitea.

That is not a slip to be careful about next time: it is the normal consequence
of the marketplace, which puts a clone with its own .git inside this tree on
every install. So it is ignored by rule rather than by discipline.

/plugins/*/ with the shipped ones re-included by name. Adding an in-tree plugin
is deliberate, so maintaining that list by hand is the right friction — an
unlisted directory in plugins/ is an install, not source.

Verified: music ignored, example and offscale still tracked with all their files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 18:08:39 +00:00

110 lines
3.8 KiB
Plaintext

# dependencies (bun install)
node_modules
# output
out
src/videos/**/out
dist
dist_*
.dist
runtime-scripts
*.tgz
# code coverage
coverage
*.lcov
# logs
logs
_.log
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# caches
.eslintcache
.cache
*.tsbuildinfo
# IntelliJ based IDEs
.idea
# Finder (MacOS) folder config
.DS_Store
src/config.ts
# Playwright
playwright/
.wwebjs_cache/
# generated from index.html by scripts/gen-index.ts
src/apps/officer-web/index.gen.html
# scratch scripts — never commit these
*.tmp.ts
# Sidecar assets published at install time — copies of files that live in each sidecar's own tree.
public/plugins/
# Written by machine-setup.sh to record completed steps; per-machine, never shared.
.setup-progress
.setup-answers
# Written by officer-setup.sh; per-machine.
scripts/setup/officer-setup/.setup-progress
# Generated by officer-setup, describing THIS install's processes. Never committed:
# the repository has no ecosystem file at all any more, and the next machine
# generates its own. See scripts/setup/officer-setup/lib/services.sh.
ecosystem.config.cjs
# The built SPA and the generated plugin module — both describe THIS install's plugin set and are
# rewritten on every install. See servers/plugins/generate.ts.
build/
build.next/
src/apps/officer-web/Plugins.gen.tsx
src/databases/officer_db/src/plugin-schemas.gen.ts
# drizzle-kit's generated migrations. Nothing applies them — there is no __drizzle_migrations table and
# `drizzle-kit migrate` has never been run here; `bun db:push` diffs the schema code against the live
# database and alters it directly. The schema code is the source of truth (src/databases/CLAUDE.md).
#
# Ignored rather than merely unused, because `bun db:gen` reads src/schema.ts — whose last line imports
# plugin-schemas.gen.ts, itself generated from the plugin DIRECTORIES on this machine. So a generated
# migration describes whichever plugins happen to be checked out here, and committing one would launder
# per-machine state into the repository: run it with music installed and history gains music_*; run it on
# a fresh clone and the next commit deletes them again.
#
# The old 0000_new_princess_powerful.sql is deleted from the WORKING TREE but left in history. It had 36
# tables and described a schema from before capabilities, api_keys, the app store and the plugin system
# existed, including three (task_logs, terminal_containers, queue_jobs) that no longer exist at all.
#
# Purging it from history was tried on 2026-08-15 and deliberately undone. This codebase cites 76 commit
# SHAs in comments and docs as evidence — `totality.ts` points at 2873948 for the websocket incident,
# `registry.ts` at 044aacf4, CLAUDE.md at f35c145 — and a filter-repo run rewrites every one of them.
# Three stale files nobody reads in old commits are not worth 76 dangling citations in a codebase whose
# documentation works by pointing at the commit that proves the claim.
#
# Generate one locally whenever a diff is useful to read. It stays local.
src/databases/officer_db/migrations/
# ── Marketplace-installed plugins ──
#
# A plugin fetched from the marketplace is a CLONE with its own .git and its own repository. Left
# tracked, `git add -A` after an install commits it as a gitlink — a pointer to a commit this repo does
# not contain, which then breaks anyone who clones the platform and does not have access to that plugin.
# Happened on 2026-08-15, one commit after the marketplace landed.
#
# The plugins that genuinely ship with the platform are re-included by name below. Adding one is a
# deliberate act, so keeping this list by hand is the right amount of friction — an unlisted plugin
# directory is an install, not a source file.
/plugins/*/
!/plugins/example/
!/plugins/offscale/