-
-
Notifications
You must be signed in to change notification settings - Fork 0
Building & Releasing
Nick edited this page Jul 28, 2026
·
1 revision
From the repo root:
.\scripts\build.ps1This runs the full build pipeline:
- Builds the Python backend into a single
.exe(PyInstaller) - Copies the backend exe to Tauri's sidecar directory
- Builds the React frontend + Tauri shell into a Windows installer (
.msi) and portable executable (-setup.exe)
| Artifact | Path | Size |
|---|---|---|
| MSI installer | app/src-tauri/target/release/bundle/msi/Open-Write_*.msi |
~28 MB |
| NSIS setup | app/src-tauri/target/release/bundle/nsis/Open-Write_*-setup.exe |
~27 MB |
| Sidecar binary | app/src-tauri/binaries/open-write-backend-x86_64-pc-windows-msvc.exe |
~24 MB |
Both installers bundle the Python backend — no Python needed on the target machine.
| Flag | Description |
|---|---|
-SkipBackend |
Reuse existing sidecar exe (when only frontend code changed) |
-Debug |
Build in debug mode (faster, larger exe, no optimization) |
- Python 3.11+ on PATH
-
uvinstalled (pip install uv) - Node.js 18+ on PATH
- Rust toolchain (rustup) for Tauri
- Frontend deps installed (
cd app && npm install) - Backend deps installed (
cd backend && uv sync --dev)
.\scripts\build-backend.ps1Builds just the Python backend sidecar via PyInstaller. Used when only backend code changed.
.\scripts\release.ps1 -Version 1.1.0This script:
- Validates the version string and confirms no uncommitted changes
- Bumps version in
app/package.json,app/src-tauri/tauri.conf.json, andapp/src-tauri/Cargo.toml - Builds the backend sidecar
- Builds the Tauri bundle
- Generates
latest.jsonmanifest with signed signature - Prints a manual upload checklist
Set the signing key environment variables:
$env:TAURI_SIGNING_PRIVATE_KEY = "your-key-here"
$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD = "your-password"Generate a key pair once with npm run tauri signer generate. Store the private key safely.
- Move
[Unreleased]CHANGELOG entries into a[vX.Y.Z]section - Commit:
git commit -m "Release v1.1.0" - Tag:
git tag v1.1.0 - Push:
git push origin main --tags - Create GitHub Release:
gh release create v1.1.0 ...
The auto-updater is currently disabled. It will be re-enabled once Open-Write has its own release feed and a fresh minisign keypair. See docs/RELEASING.md for details.
Welcome to the Open-Write Studio wiki!
This wiki covers everything you need to know about Open-Write — from installation to architecture to contributing.
New here? Start with Getting Started.