Commit Graph
9 Commits
Author SHA1 Message Date
7418andClaude Opus 4.6 d80477cfac chore: add arch to macOS DMG filename
Use artifactName template to always include architecture in DMG
filename (e.g. CodePilot-0.2.3-x64.dmg) for clarity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:33:53 +08:00
tianshuang b9d68d5051 feat: support x64/arm64 macOS builds and fix build script errors 2026-02-07 21:34:40 +08:00
7418andClaude Opus 4.6 b42d3d2ad8 fix: explicitly rebuild better-sqlite3 for Electron ABI in afterPack
Root cause: electron-builder's @electron/rebuild only rebuilds native
modules found in the `files` config. Since better-sqlite3 enters the
app through extraResources (via .next/standalone/), it was skipped.
The afterPack hook was copying the system Node.js ABI (127) instead
of the required Electron ABI (143).

Fix:
- afterPack now explicitly calls `npx electron-rebuild` targeting the
  exact Electron version and architecture from the build context
- Falls back to @electron/rebuild programmatic API if CLI fails
- Fails the build if rebuild cannot complete (no silent failures)
- Adds file size logging for verification
- Excludes `release/` from extraResources to prevent recursive nesting
- Adds startup ABI compatibility check in Electron main process with
  friendly error dialog instead of cryptic crash

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:23:37 +08:00
7418 b819eb7601 Merge branch 'main' into feat/windows-drive-switcher
Resolve conflict in electron-builder.yml: keep both icon resources
(from PR) and afterPack hook (from main).
2026-02-07 14:20:17 +08:00
xuxu777xuandClaude Opus 4.6 0234240066 feat: full Windows platform adaptation
- Add src/lib/platform.ts: cross-platform Claude CLI discovery
  (candidate paths, .cmd/.bat shell handling, where/which fallback)
- Refactor claude-status route and claude-client to use shared platform utils
- Electron main: Windows process spawning (windowsHide), PATH construction
  with AppData/npm dirs, titleBarOverlay, .ico icon support
- electron-builder.yml: add win/nsis build targets
- package.json: add electron:pack:win script
- FolderPicker: drive switcher dropdown for navigating between drives
- SkillsManager: fix duplicate key warning with filePath fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:35:04 +08:00
7418andClaude Opus 4.6 ac0546c0b0 fix: ensure better-sqlite3 in standalone uses Electron ABI
Add afterPack hook that copies the @electron/rebuild-compiled
better_sqlite3.node into the standalone resources directory.
Previously the standalone copy retained the system Node ABI from
next build, causing MODULE_VERSION mismatch at runtime.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:31:54 +08:00
7418andClaude Opus 4.6 43e79dec04 fix: ensure standalone node_modules are included in packaged app
- Split extraResources to explicitly copy node_modules separately
  (electron-builder excludes node_modules by default)
- Exclude unnecessary project files from asar bundle
- Fixes 'Cannot find module next' error in packaged app

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 21:48:43 +08:00
7418andClaude Opus 4.6 85ec4f9b96 fix: resolve standalone symlinks and exclude electron from TS check
- Replace symlinks in .next/standalone with real copies for electron-builder
- Exclude electron/, dist-electron/, scripts/, release/ from tsconfig
- Use arm64 target instead of universal to avoid native module merge issues

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 21:16:13 +08:00
7418andClaude Opus 4.6 ff1fb38735 feat: CodePilot - desktop GUI for Claude Code
Full-featured desktop application built with Next.js + Electron:
- Streaming chat with Claude Code via Agent SDK
- Session management with SQLite persistence
- Project file tree and file preview
- MCP server and custom skills management
- Permission controls with Code/Plan/Ask modes
- Dark/light theme, token tracking
- macOS DMG packaging with electron-builder

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 21:04:05 +08:00