# Distribution

Livestream Recorder is a desktop prototype, so distribution means building, signing, notarizing, and delivering a macOS application rather than deploying a server.

## Personal local build

Open `code/StreamRecorder.xcodeproj`, select the `StreamRecorder` scheme, and run it from Xcode. An unsigned command-line build is documented in `BUILDING.md`.

## Signed macOS release

1. Replace the example bundle identifiers.
2. Select an Apple Developer team and signing certificate.
3. Review whether the app sandbox can be enabled for your intended file and process behavior.
4. Archive a Release build in Xcode.
5. Sign bundled content and third-party tools if you decide to ship them.
6. Notarize the archive with your Apple Developer account.
7. Test the final artifact on a clean Mac without developer tools.

The source package does not contain signing certificates, provisioning data, notarization credentials, or a prebuilt application.

## Later releases

Increment the semantic marketing version and build number, then add a dated entry to `CHANGELOG.md`. Keep the Xcode project, XcodeGen specification, buyer documentation, audited ZIP, and download benefit synchronized.

## Dependency strategy

The reference prototype expects `yt-dlp`, FFmpeg, and Deno on the user's machine. A commercial distribution can:

- keep Homebrew as an explicit prerequisite;
- guide users to selected executable locations;
- download verified tool releases on first run; or
- bundle tools after reviewing licensing, signing, notarization, update, and security obligations.

Pinning old versions is risky because source-site extraction changes. Define an update and rollback policy.

## Cross-platform delivery

A Windows or Linux port can ship as a native desktop package or CLI. Test executable discovery, browser-session integration, signal handling, path quoting, process-group termination, and media playback on every supported platform.
