Desktop "Local" mode crashed with ERR_MODULE_NOT_FOUND because electron-builder's pnpm collector drops `deduped` subtrees, so engine's transitive closure (@modelcontextprotocol/sdk, pi-ai provider SDKs, etc.) was never packed. Stage the complete flat prod closure with `pnpm deploy --legacy --config.node-linker=hoisted` and package it via `electron-builder --projectDir deploy`, bypassing the lossy collector entirely. Also make the dashboard-imported example plugins loadable under plain Node (the Electron main runtime): cursor/droid/roadmap now expose compiled `dist` on the `import` condition (keeping `source`→src for the bun CLI) and are built during the desktop build. Add `source` conditions to paperclip/agent-browser/even-cards/ even-realities-glasses/whatsapp-chat so the bun `--conditions=source` Windows CLI compile resolves them from source. Validated on macOS: @fusion/core|engine|dashboard import cleanly from the staged deploy; packing yields a complete 705-package asar; bun-windows-x64 cross-compiles with all plugin dist removed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
107 lines
2.4 KiB
Plaintext
107 lines
2.4 KiB
Plaintext
# 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/
|
|
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/
|