Skip to content

Commit cb78734

Browse files
arul28claude
andcommitted
docs: update internal docs for Windows port
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3a002a0 commit cb78734

1 file changed

Lines changed: 31 additions & 7 deletions

File tree

docs/ARCHITECTURE.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,17 @@ A standalone Node CLI that exposes ADE actions over a private JSON-RPC
8484
bridge.
8585

8686
- **Socket mode** — when ADE desktop is running, `ade` connects to the
87-
project socket at `.ade/ade.sock`.
87+
project IPC endpoint. On macOS/Linux that is `.ade/ade.sock`; on
88+
Windows it is a named pipe under `\\.\pipe\ade-<hash>` where `<hash>`
89+
is a SHA-256 prefix of the lowercased absolute project root
90+
(`apps/desktop/src/shared/adeMcpIpc.ts`). Both platforms share the
91+
same JSON-RPC framing.
8892
- **Headless mode** — with `--headless`, the CLI bootstraps the same
8993
project services directly from the repository.
94+
- **Windows packaging** — the installer lays down `ade-cli-windows-wrapper.cmd`
95+
plus an `ade-cli-install-path.cmd` helper alongside the bundled Node
96+
runtime so that `ade` works from a normal Windows shell without a
97+
global Node install. See §14.4 for the packaging flow.
9098
- **Session identity** — the CLI resolves caller role from ADE context
9199
environment variables and command flags. Role vocabulary: `cto`,
92100
`orchestrator`, `agent`, `external`, `evaluator`.
@@ -866,7 +874,12 @@ ADE/
866874
│ ├── features/
867875
│ └── final-plan/
868876
├── new-docs/ # This file + feature docs
869-
├── scripts/ # Release, validate, notarize, after-pack
877+
├── scripts/ # Release, validate, notarize, after-pack (per-platform)
878+
│ # Platform-specific: validate-mac-artifacts.mjs,
879+
│ # validate-win-artifacts.mjs, ade-cli-windows-wrapper.cmd, etc.
880+
├── apps/desktop/vendor/crsqlite/
881+
│ ├── darwin-arm64/
882+
│ └── win32-x64/ # Prebuilt cr-sqlite native binaries per platform
870883
├── .github/workflows/
871884
│ ├── ci.yml
872885
│ ├── prepare-release.yml
@@ -918,14 +931,25 @@ Sharding is required because the desktop suite is large enough to be slow in a s
918931

919932
### 14.4 Packaging (Electron Builder)
920933

934+
macOS:
935+
921936
- `npm run dist:mac` — notarized .dmg for local distribution.
922937
- `npm run dist:mac:universal:signed` — universal x64+arm64 signed builds.
923938
- `npm run dist:mac:universal:signed:zip` — zip archive variant.
924-
- Post-packaging hardening (`apps/desktop/scripts/`):
925-
- `runtimeBinaryPermissions.cjs` — restores exec bits on `node-pty` spawn helpers, Codex vendor binaries, Claude SDK ripgrep helpers; patches `node-pty` `unixTerminal.js` for ASAR-unpacked paths.
926-
- `after-pack-runtime-fixes.cjs` — electron-builder after-pack hook.
927-
- `validate-mac-artifacts.mjs` — confirms expected binaries + intact code signing.
928-
- `notarize-mac-dmg.mjs` — Apple notarization.
939+
940+
Windows:
941+
942+
- `npm run dist:win` — x64 installer via `electron-builder --win --x64`, wrapped with `validate:win:artifacts` (preflight) and `validate:win:release` (post-build) checks in `apps/desktop/scripts/validate-win-artifacts.mjs`.
943+
- Windows-only wrappers for the bundled `ade` CLI ship in `apps/desktop/scripts/`: `ade-cli-windows-wrapper.cmd` (launcher) and `ade-cli-install-path.cmd` (idempotent PATH install helper). The platform-agnostic `.sh` wrapper covers macOS/Linux.
944+
- The Windows installer bundles the prebuilt `cr-sqlite` native binary from `apps/desktop/vendor/crsqlite/win32-x64/` plus a Windows node-pty ConPTY worker.
945+
- GitHub Actions `release-core.yml` drives signed/notarized Windows artifacts.
946+
947+
Post-packaging hardening (`apps/desktop/scripts/`):
948+
949+
- `runtimeBinaryPermissions.cjs` — restores exec bits on `node-pty` spawn helpers, Codex vendor binaries, Claude SDK ripgrep helpers; patches `node-pty` `unixTerminal.js` for ASAR-unpacked paths.
950+
- `after-pack-runtime-fixes.cjs` — electron-builder after-pack hook. Covers both platforms: runs the permissions pass on macOS and stages CLI wrappers + runtime shims on Windows.
951+
- `validate-mac-artifacts.mjs` / `validate-win-artifacts.mjs` — per-platform artifact validators; confirm expected binaries and signing state.
952+
- `notarize-mac-dmg.mjs` — Apple notarization.
929953

930954
### 14.5 Documentation
931955

0 commit comments

Comments
 (0)