# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies **/node_modules /.pnp .pnp.* .yarn/* !.yarn/patches !.yarn/plugins !.yarn/releases !.yarn/versions # testing /coverage # next.js **/.next/ **/out/ # production /build # misc .DS_Store *.pem # debug npm-debug.log* yarn-debug.log* yarn-error.log* .pnpm-debug.log* # env files (can opt-in for committing if needed) .env* # ...except the template the docker stack tells you to copy. It carries the # exposure model in comments and is worth more in git than out of it. !.env.example # vercel .vercel # typescript **/*.tsbuildinfo **/next-env.d.ts # nested transcripts repo /transcripts # downloadable transcript archives (an old whole-corpus format; ignored so a # stray copy is never committed) /export/public/transcripts.tar.gz /export/public/transcripts.tar.xz # preprocessed transcript data (regenerate with `pnpm build:index`) # NOTE: no trailing slash — in a `pnpm wt` worktree these are SYMLINKS to the main # checkout's dirs (see WORKTREES.md), and a directory-only pattern wouldn't match # them, leaving generated data showing up as untracked in every worktree. /export/public/subs /export/public/posts # export/out is a SYMLINK to the bundle built last (release 18, # publish/build.ts pointExportOutAt) — `**/out/` matches only a directory. /export/out /export/public/digests /export/public/summaries /export/public/transcripts /export/public/stats /export/public/chart-templates.json /export/public/search-aliases.json /export/public/duplicates.json /export/public/tags.json /export/public/site.json /export/public/_headers /export/public/sw.js /export/public/hub-sites.json /export/public/hub-summary.json /export/public/corpus.json /export/public/llms.txt /export/public/robots.txt /export/public/sitemap.xml # per-site bulk-download archive zips + manifest (regenerate with `pnpm build`) # (no trailing slash — may be a worktree symlink, as above) /export/public/archives # a report site's reports, moment pages and cited media (compose-site's reports stage) /export/public/reports /export/public/m /export/public/media # oversize archives staged for the deploy-time R2 upload /export/.r2-staging/ /export/.export-index/ # per-site incremental-compose signatures (skip-unchanged cache) /export/.compose-cache/ # per-site docker build outputs (out/, .next, public/, caches) — one dir per site /export/.export-builds/ /transcripts/index.mdb/ # homepage (hub) generated public data (regenerate with `pnpm build:homepage`) /homepage/public/stats/ /homepage/public/channel-sites.json /homepage/public/chart-templates.json /homepage/public/homepage-summary.json # source snapshot tarball + its sidecar (regenerated by `archilyzer source # publish`, which `archilyzer build homepage` runs). # Note this does NOT cover /homepage/public/_headers — the `_headers` rule above # is scoped to /export/public, so the homepage's stays tracked. /homepage/public/downloads # The published source: the git mirror (archilyzer.git: packs, info/refs), the # raw tree and manifest.json, all written by `archilyzer source publish` # (common/publish/source.ts). Ignored for Tailwind as much as for git: Tailwind # v4 scans every file .gitignore does not exclude, and a pack file is binary — # the umtool `.next-*` failure below, where a scanned binary yields "class # names" that break the stylesheet. homepage/tsconfig.json excludes `public` # for the same reason: the raw tree is ~2,000 .ts/.tsx files of the whole repo. /homepage/public/source # The publish step's skip key (rules hash + source commit). Kept out of # public/ on purpose: a hash of the denylist is a guess-confirmation oracle. /homepage/.source-publish.json # editor e2e fixtures and ephemeral state /editor/test-transcripts/ /editor/test-settings.json # Disposable changelogs for the cut-release e2e (EDITOR_CHANGELOG_FILE and # EXPORT_CHANGELOG_FILE in dev:test/start:test). Keep those specs — and # POST /api/ops/cut-release, which can cut both — off the tracked CHANGELOG.md files. /editor/test-changelog.md /editor/test-export-changelog.md /editor/playwright-report/ /editor/test-results/ /editor/blob-report/ # An operator's symlink out of the repo (plans/FACTS.md, "editor/content is a # symlink out of the repo"): Tailwind's source detection follows it, Turbopack # panics on globals.css, and `pnpm e2e` dies before the first spec. Ignored so # it stops showing up as an untracked file somebody might commit. /editor/content # export e2e fixtures and ephemeral state /export/test-public/ /export/test-settings.json /export/test-settings.hub.json /export/playwright-report/ /export/test-results/ /export/test-results-hub/ /export/test-results-2origin/ /export/.2origin/ /export/test-results-report/ # the cited report-site suite's stage project (export/e2e-report/stage.ts) /.e2e-report-site/ /export/blob-report/ # homepage's own Playwright output (its suite runs from homepage/) /homepage/test-results/ /homepage/playwright-report/ /homepage/out/ # the e2e's synthetic summary, and a killed run's temp copy (homepage/e2e/fixture-summary.ts) /homepage/e2e/.e2e-summary.json* # the e2e's settings.json (social links only), and its temp copy (homepage/e2e/fixture-social.ts) /homepage/e2e/.e2e-settings.json* # the e2e's empty sites directory (no homepage.json; homepage/playwright.config.ts) /homepage/e2e/.e2e-sites/ # the e2e's fixture publish for /source/ (homepage/e2e/fixture-source.ts) /homepage/e2e/.e2e-source/ # site config /settings.json /chart-templates.json # Diarization runtime: the uv-managed python 3.13 venv + the sherpa-onnx models. # Machine-specific (~148 MB) and rebuildable from .diarize/README.md, which IS # tracked. sherpa-onnx ships wheels only to cp313 and this box's system python is # 3.14, so the venv is not optional — settings.diarization.python points at it. /.diarize/env/ /.diarize/models/ /.diarize/logs/ # Sortformer engine: the built ggml binary + shared objects + the 471 MB GGUF. # Machine-specific and rebuildable with scripts/build-sortformer.sh. /.diarize/sortformer/ /.diarize/.sortformer-build/ # umtool: the e2e fixture (built by e2e/fixtures/make-fixture.mjs), the build # dir, and the e2e dev server's SEPARATE build dir -- it needs its own so it can # run alongside a dev server someone is judging clips in (Next refuses two for # one project). umtool/.e2e-song/ # ...and the storage spec's media root, a sibling of it (UMTOOL_MEDIA_DIR). umtool/.e2e-song-media/ umtool/.next/ # Any alternate dist dir, not just the e2e one. # # Tailwind v4 auto-detects its sources and honours .gitignore -- so a dist dir # that is NOT ignored gets scanned, its binary turbopack cache yields candidate # class names like `p-[var(-sM0or-Z)]`, and the generated stylesheet fails to # parse. Every page then 500s on a CSS error with nothing wrong in the CSS. # Cost an e2e run's worth of confusing red to find. umtool/.next-*/ umtool/test-results/