snapkitty
compilers
c
python
nasm
SNAPKITTYWEST's picture
Sync with GitHub, license metadata from LICENSE files, commercial license notice
e547dfd verified
|
Raw History Blame Contribute Delete
2.12 kB

Desktop development guide

The repository contains a native Windows client, an Electron workbench, and BEAM-style WebAssembly sources. Build them independently.

Native Windows client

The CMake project requires CMake 3.24+, Windows, a C17/C++17 toolchain, and Windows SDK libraries including Direct2D/DirectWrite. From the repository root:

cmake -S ide -B ide/build -G "Visual Studio 17 2022"
cmake --build ide/build --config Release

The build definition is in ide/, not ide/native/. The native source tree includes editor buffers/views, ConPTY, LSP, chat transport, Git operations, and graphics. Source inspection is not a successful build; this documentation update did not compile the IDE.

For bridge behavior and startup constraints, read ASR and bridge.

Electron workbench

The package is ide/desktop/package.json. From a Node/npm environment compatible with that package's dependencies:

cd ide/desktop
npm ci
npm run typecheck
npm test
npm run desktop

desktop runs the TypeScript/Vite build and then Electron. TypeScript emits to dist/; Vite targets _site/. The main process derives the workspace root from its package location, so no user-specific absolute path is required.

The Vite configuration names desktop/index.html as its renderer input, which is present in the inspected checkout. A complete desktop build was not run during this documentation update.

Provider credentials are encrypted using Electron safeStorage, and persistence rejects unavailable encryption. Bridge-backed tools use SOVEREIGN_ENGINE_BRIDGE_URL or http://127.0.0.1:19000. The desktop's automatic tool path rejects missing risk metadata or risk classes greater than 2. That client check does not protect direct callers of the HTTP service.

BEAM-style WebAssembly

ide/beam/ is a separate source collection. Do not infer that it replaces either desktop implementation or has been integrated into their builds.

For current validation boundaries, see Testing.