Files

37 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Linsa desktop
Electron shell that mirrors the same structure we use in the `as` project: `electron-vite` bundling the main, preload, and React renderer. The window loads the Linsa web app by default (dev URL: `http://localhost:5625`) and falls back to the bundled renderer if the web app cannot be reached.
## Running locally
```bash
pnpm install
pnpm --filter @linsa/web dev
pnpm --filter @linsa/desktop dev
```
By default the Electron shell loads the existing web app. Override the target with `WEB_DEV_URL` or `WEB_URL` when needed.
Set a Jazz Cloud key to sync state instead of keeping it only on the device:
```bash
cd packages/desktop
echo "VITE_JAZZ_API_KEY=your_jazz_key" >> .env
# optional: point to a custom peer
# echo "VITE_JAZZ_PEER=ws://localhost:4200" >> .env
```
### Optional environment
- `WEB_URL` / `WEB_DEV_URL` where to load the web app from.
- `VITE_JAZZ_API_KEY` / `VITE_JAZZ_PEER` used by the fallback renderer for sync.
## What it does
- Uses `electron-vite` to bundle `main`, `preload`, and the React renderer.
- Loads the web client first and falls back to the bundled renderer if needed.
- Wraps the renderer with `JazzReactProvider` (storage in IndexedDB) and a simple Jazz schema to keep track of folders you want scanned.
- Opens an OS folder picker (via the preload bridge) to add/remove code folders.
- Scans those folders for git repos and lets you open them in VS Code, Terminal, or Finder.
- Shows the current Jazz sync status so we can expand to syncing folder lists later.