Skip to content

Install

There is no separate "install FlowPad" command. FlowPad is installed:

  1. As a workspace package (a pnpm install in the matrix-3 workspace root).
  2. As a default runtime registered automatically by hivecast install.
  3. (Optionally) on a remote Host via matrix install @open-matrix/flowpad.

In a development checkout

bash
# From the workspace root
pnpm install
pnpm --filter @open-matrix/flowpad build

# Or directly:
cd projects/matrix-3/packages/flowpad
node build.mjs

build.mjs runs Vite then writes dist/matrix-artifact.json capturing the gitSha and source roots used. Output ends up in projects/matrix-3/packages/flowpad/dist/.

The package's files field in package.json ships:

jsonc
"files": ["dist", "dist-path.js", "matrix.json", "README.md", "LICENSE"]

In a local Host (hivecast install)

hivecast install registers FlowPad as one of the default runtimes. From projects/matrix-3/packages/hivecast/bin/hivecast.mjs:37:

js
{ target: '@open-matrix/flowpad', runtimeKey: 'FLOWPAD', serve: true, autoStartPriority: 35 },

That means:

  • runtimeKey (the runtime id) is FLOWPAD.
  • serve: true — the gateway serves FlowPad's dist/ static assets at /apps/flowpad/.
  • autoStartPriority: 35 — FlowPad is started after the system runtimes (priority 0–10) and the auth gateway (priority 20), but before the higher-numbered application runtimes.

A canonical install:

bash
node projects/matrix-3/packages/hivecast/bin/hivecast.mjs install --home /tmp/matrix-home
node projects/matrix-3/packages/hivecast/bin/hivecast.mjs start --home /tmp/matrix-home

After install, FlowPad's runtime record lives at:

/tmp/matrix-home/runtimes/FLOWPAD.json

with the live status reflected in host.status.json and the runtime logs at logs/runtimes/FLOWPAD.log.

On a HiveCast-linked device

Once a Host is paired (hivecast login --device --cloud https://hivecast.ai), the same runtime registration applies. The device's system.devices heartbeat reports FlowPad among the available webapps; the platform UI lists the device's FlowPad URL as https://hivecast.ai/<spacePath>/apps/flowpad/.

In a sibling Host (matrix install)

To install FlowPad on a Host that is not the default install:

bash
pnpm --filter @matrix/mx-cli exec matrix install @open-matrix/flowpad --home /path/to/host-home

The CLI looks up the package in the workspace registry, copies the dist/ payload into <host-home>/.matrix/packages/@open-matrix/flowpad/<version>/, and writes a runtime record. To start it:

bash
matrix up @open-matrix/flowpad --serve --home /path/to/host-home

--serve tells the gateway to also serve the static dist/ payload, so the page is reachable through the gateway's HTTP endpoint.

Verifying install

bash
# Runtime record present
node projects/matrix-3/packages/hivecast/bin/hivecast.mjs runtimes --home /tmp/matrix-home \
  | grep -i flowpad

# Page actually responds
curl -fsS http://127.0.0.1:3100/apps/flowpad/ | head -3
# Expect: <!doctype html> ... <flowpad-app>

# In browser:
#   http://127.0.0.1:3100/apps/flowpad/

What install does NOT do

  • It does not run any FlowPad code outside the browser. The package is purely a static webapp + an @open-matrix/flowpad library import for tests.
  • It does not install LISP/Scheme/VLM as separate packages. Those are bundled inside @open-matrix/flowpad's services.
  • It does not configure permissions or auth. matrix.json declares fsPolicy: 'none'; FlowPad inherits whatever auth the surrounding shell already established.

See also

Source: projects/matrix-3/packages/hivecast/bin/hivecast.mjs:28-39 (default-runtime registration list).