Files
TrueGrowth/openspec/changes/add-commercial-desktop-packaging/specs/desktop-packaging/spec.md

2.8 KiB

ADDED Requirements

Requirement: Branded Desktop Release Artifacts

The system SHALL provide branded desktop release artifacts for macOS and Windows customers.

Scenario: macOS package is built

  • WHEN the desktop packaging flow runs on macOS for the macOS target
  • THEN it SHALL produce a TrueGrowth-branded app artifact such as DMG or ZIP
  • AND the artifact SHALL use TrueGrowth product name, app identifier, version, and icon metadata
  • AND the app SHALL not require Node.js, pnpm, Vite, or a repo checkout on the customer machine

Scenario: Windows package is built

  • WHEN the desktop packaging flow runs on Windows or a Windows CI runner
  • THEN it SHALL produce a TrueGrowth-branded Windows installer artifact
  • AND the artifact SHALL use TrueGrowth product name, app identifier, version, and icon metadata
  • AND the app SHALL not require Node.js, pnpm, Vite, or a repo checkout on the customer machine

Requirement: Packaged Renderer and Local API Startup

The packaged desktop app SHALL start from bundled application assets.

Scenario: Packaged app starts

  • GIVEN the app is launched from a packaged install
  • WHEN Electron creates the main window
  • THEN it SHALL load the built renderer from bundled files
  • AND it SHALL start the Local API from bundled scripts
  • AND it SHALL set packaged-mode runtime paths so writable state is stored outside the read-only app directory

Scenario: Development app starts

  • GIVEN the app is launched by the development command
  • WHEN a dev server URL is provided
  • THEN Electron MAY load the renderer from the dev server
  • AND development behavior SHALL remain available for local debugging

Requirement: Model Center Owns Optional Runtime Setup

The packaged app SHALL route optional heavy runtime setup through Model Center.

Scenario: Heavy dependency is not bundled

  • GIVEN a customer opens a feature that needs ComfyUI, FunClip, model files, or another heavy local runtime
  • WHEN the dependency is missing
  • THEN the app SHALL show a customer-safe setup state that links to Model Center
  • AND Model Center SHALL offer managed install/download actions or OS-specific guidance
  • AND the customer SHALL not need technical staff to run repo commands manually

Requirement: Release Documentation

The project SHALL document repeatable commercial desktop packaging.

Scenario: Product owner needs to build a release

  • WHEN the product owner follows the desktop packaging documentation
  • THEN the docs SHALL explain prerequisites, commands, output directories, target-platform limits, runtime dependency policy, and signing/notarization steps
  • AND the docs SHALL distinguish unsigned internal-test artifacts from commercial signed artifacts