# Environment files (may contain secrets — FUSION_DAEMON_TOKEN, etc.) .env .env.local .env.*.local # Dependencies node_modules/ # Build output dist/ dist-electron/ *.tsbuildinfo # Generated i18n catalogs synced into the dashboard tree from @fusion/i18n # (authored source-of-truth lives in packages/i18n/locales/) packages/dashboard/app/locales/ # Desktop packaging artifacts *.dmg *.dmg.blockmap *.zip *.zip.blockmap *.AppImage *.exe *.nupkg *.tgz *.tar.gz *.pkg *.msi *.deb *.rpm *.snap *.blockmap latest*.yml builder-debug.yml builder-effective-config.yaml # Coverage reports coverage/ # hai runtime (local board state — don't commit) .fusion/ .hai/ .worktrees/ .factory/ .orca/ kb.db/ # Stray worktrees accidentally created at the repo root by the executor # or by manual `git worktree add` invocations. Without this, any such # directory gets captured as a 160000 gitlink by `git add -A` during # merger amend, producing broken submodule entries in HEAD (see FN-2152). .tmp-fn-* .tmp-kb-* # Pi .pi/ # VS Code Local History (editor auto-saved snapshots) .history/ # Sibling clone of the Homebrew tap (runfusion/homebrew-fusion); not part of this repo homebrew-tap/ # Ad-hoc task completion notes left by agents after a run; per-session scratch, # never meant to be committed. .DONE improvements.md # FNXC:RepoHygiene 2026-06-17-00:38: Published Markdown docs embed `docs/screenshots/*.png`; keep that directory trackable so GitHub, npm-rendered docs, and fresh clones do not show broken images. .claude/ # Local kb state and backups .kb/ .fusion-backup/ .fusion-backup-*/ # FNXC:RepoHygiene 2026-06-14-13:34: `paseo.json` is local config generated by the external Paseo git-worktree manager. # It can reappear whenever a developer provisions this repo with Paseo, so it must stay untracked repo-root noise. paseo.json # Stray runtime databases fusion.db fusion.db-wal fusion.db-shm # Capacitor mobile platform directories (generated by `cap add`) packages/dashboard/ios/ packages/dashboard/android/ packages/mobile/ios/ packages/mobile/android/ # Per-shard vitest JSON timing reporter outputs (raw; merged into # scripts/test-timings.json via `ci-test-shard.mjs --write-timings`). .timings/ # Plugin hot-reload scratch artifacts **/.index.reload-*.ts # Dolt database files .dolt/ *.db # MCP server config (contains API keys) .mcp.json # Desktop packaging: staged flat prod closure produced by `@fusion/desktop build` (pnpm deploy) packages/desktop/deploy/ # FNXC:EngineTests 2026-07-08-04:10: # FN-7669 prototype: rebuilt-every-run esbuild bundle of the @fusion/core # gate-safe barrel closure, emitted by scripts/build-engine-core-gate-bundle.mjs # from the engine-core vitest project's globalSetup. Never committed — it is # regenerated fresh before every gate run (no drift surface). Lives as a # SIBLING of packages/core/node_modules/ (not nested inside it) — nesting # inside node_modules triggers Vite's SSR external-dep heuristic and defeats # vi.mock interception for imports nested inside the bundle; see the script # comment (scripts/build-engine-core-gate-bundle.mjs) for the full repro. packages/core/.gate-bundle/