Electron updater now uses Electron release metadata only Removed legacy Tauri package and migration workflow Replaced Tauri shim usage with the desktop bridge
2.5 KiB
2.5 KiB
Contributing to OpenChamber
Getting Started
git clone https://github.com/btriapitsyn/openchamber.git
cd openchamber
bun install
Dev Scripts
Web
| Script | Description | Ports |
|---|---|---|
bun run dev:web:full |
Build watcher + Express server. No HMR — manual refresh after changes. | 3001 (server + static) |
bun run dev:web:hmr |
Vite dev server + Express API. Open the Vite URL for HMR, not the backend. | 5180 (Vite HMR), 3902 (API) |
Both are configurable via env vars: OPENCHAMBER_PORT, OPENCHAMBER_HMR_UI_PORT, OPENCHAMBER_HMR_API_PORT.
Desktop (Electron)
bun run electron:dev
Launches the Electron desktop shell in dev mode.
VS Code Extension
bun run vscode:dev # Watch mode (extension + webview rebuild on save)
To test in VS Code:
bun run vscode:build && code --extensionDevelopmentPath="$(pwd)/packages/vscode"
Shared UI (packages/ui)
No dev server — this is a source-level library consumed by other packages. During development, bun run dev runs type-checking in watch mode.
Before Submitting
bun run type-check # Must pass
bun run lint # Must pass
bun run build # Must succeed
Code Style
- Functional React components only
- TypeScript strict mode — no
anywithout justification - Use existing theme colors/typography from
packages/ui/src/lib/theme/— don't add new ones - Components must support light and dark themes
- Prefer early returns and
if/else/switchover nested ternaries - Tailwind v4 for styling; typography via
packages/ui/src/lib/typography.ts
Pull Requests
- Fork and create a branch
- Make changes
- Run the validation commands above
- Submit PR with clear description of what and why
Project Structure
packages/
ui/ Shared React components, hooks, stores, and theme system
web/ Web server (Express) + frontend (Vite) + CLI
electron/ Electron desktop shell
vscode/ VS Code extension (extension host + webview)
See AGENTS.md for detailed architecture reference.
Not a developer?
You can still help:
- Report bugs or UX issues — even "this felt confusing" is valuable feedback
- Test on different devices, browsers, or OS versions
- Suggest features or improvements via issues
- Help others in Discord