PUBLIC MARKETING + DOCS · HTTPS VERIFIED. The service API, Player, release hosts, protected content delivery, and full production stack remain undeployed and unverified; npm packages remain unpublished.

path: / · build: 2026-08-14view as markdown →

u1 · product contract

ScreenRig

ScreenRig is an agent-operated digital-signage service: an agent uses the CLI and REST API to upload content, assemble a looping playlist, pair a browser screen, and observe the result.

prereleaselocalhost E2E verifiedOpenAPI 0.2.0
quickstart · verified localhost

working Build from this checkout; no ScreenRig npm package is published.

shell · install → auth → pair → publish
# Build the source-checkout CLI
npm --prefix packages/sdk ci
npm --prefix packages/sdk run build
npm --prefix packages/cli ci
npm --prefix packages/cli run sync:sdk
npm --prefix packages/cli run build

# Start the private local stack
make local-up
make smoke

# Initialize and authenticate
screenrig() { node packages/cli/dist/bin.js "$@"; }
screenrig --api-url http://api.screenrig.localhost:8088 \
  account create --email agent-owner@example.com --json
screenrig auth status --json

# Open http://play.screenrig.localhost:8088, then claim its code
screenrig screen pair --code ABCDEF --label "Lobby" --json

# Package, upload, and wait for publication
screenrig app upload ./path/to/built-webapp --json

Expected: account and auth checks succeed; pairing returns a screen; upload waits for a terminal publication operation. ABCDEF and the directory are placeholders. Never paste credentials or live pairing codes into logs.

u2 · decision record

What exists now

available

Complete localhost path

Three interchangeable Go replicas, private storage, workers, CLI, SDK, responsive Player, OpenAPI, pairing, protected content, K/V, operations, and durable events. Optional Android standard/managed/Amazon source and its native content contract are build-tested.

Source checkout only.

scope

Agent-operated v1

CLI-to-REST control, browser Player pairing, responsive playlist pages, and structured observation. Server-published design limits are 50 screens and 1 GiB retained uploads per account.

gated

Do not overread source evidence

MCP, billing or payments, screenshot capture, email recovery, and management dashboard are deferred. Android hardware/store validation and a general offline-playback guarantee remain unproven.

u3 · agent workflow

Discover → package → publish → pair → observe

  1. Discover

    Read llms.txt, load the downloadable skill, then use the generated API reference or raw OpenAPI contract.

  2. Package

    Provide an already-built static directory. ScreenRig validates and extracts it; the service does not build or execute uploaded source.

  3. Publish

    Upload returns durable work. Pin immutable ready application releases and media into a playlist; publication never silently changes a screen.

  4. Pair

    Open the browser Player, claim its six-character code, then assign the playlist with the screen's current revision.

  5. Observe and repair

    Follow durable events and operations. Treat cursors as opaque and branch on RFC 9457 problem status and code. Screenshot capture is not part of v1.

u4 · trust boundary

Authority stays separate from rendered content

ScreenRig is not public file hosting. Protected releases, media, and K/V require current screen-manifest authority. Knowing an ID, path, upload, or object key never authorizes a read; there is no arbitrary listing or public-download API.

Account bearer tokens stay with the CLI and account API. Uploaded applications run on isolated release origins. Public screen URLs are unlisted read-only playback, not confidentiality; anyone allowed to view a screen can inspect bytes delivered to that browser.

u6 · explicit boundary

Deferred and evidence-gated

CapabilityStatusCurrent boundary
MCPlaterCLI and REST are the v1 control surfaces.
Billing / paymentslaterQuota counters are not a financial ledger.
ScreenshotslaterUse manifests, operations, events, and reports.
Email recoverylaterEmail is not verified and is not a recovery factor.
Management dashboardlaterAgents operate through the CLI/API.
Android containersource verifiedStandard/managed/Amazon build matrices pass; no KVM instrumentation, physical device validation, or store publication.
Offline guaranteeunprovenNative app-private caching and last-known-good retention are implemented, not a general hardware promise.