13 lines
819 B
Markdown
13 lines
819 B
Markdown
# Architecture
|
|
|
|
MosaicIQ is split into a small workspace that mirrors the same boundaries used by larger Electron/web monorepos.
|
|
|
|
- `apps/web`: React and Vite renderer app.
|
|
- `apps/desktop`: Electron main process, preload bridge, and local RPC handler.
|
|
- `packages/contracts`: shared typed contracts for the renderer/preload/main RPC boundary.
|
|
- `packages/shared`: shared runtime data and utilities that are not app-specific.
|
|
|
|
The renderer never imports Electron directly. It calls the preload bridge through `window.mosaic`, and the Electron main process handles those calls through typed RPC methods from `packages/contracts`.
|
|
|
|
pnpm is the default package manager for this repo. The committed lockfile is `pnpm-lock.yaml`, and `pnpm-workspace.yaml` owns the Electron/esbuild build-script allowlist needed by pnpm 11.
|