Initial StartOS package for Station Master (v0.5.1)

Built from source via a git submodule pinned to a tag, not a published image
— the Dockerfile, main.ts, and manifest should never need to change for an
ordinary version bump, only the submodule pin (see UPDATING.md). One volume,
one interface serving the browser client + lobby/intent API + SSE stream
from a single origin, no dependencies. The server-wide join secret (D14) is
seeded on install, exposed via the Get Join Secret action, and blocks start
behind a critical task until retrieved — the same first-set/rotation pattern
as actual-budget-startos's admin password.

Verified on phoenix.local: installs, the critical task correctly blocks an
ordinary start, force-starting confirms the daemon binds its port and serves
the client, and store.json correctly holds the install-seeded join secret.
Not verified: the Get Join Secret action's execution end-to-end — start-cli's
`package action run` fails with a client-side deserialization error that
reproduces identically against actual-budget's already-shipped equivalent
action, so this looks like a start-cli issue rather than a defect here.

icon.svg is still the scaffold's hello-world placeholder — no real Station
Master icon exists yet to ship in its place.
This commit is contained in:
Jesse
2026-08-21 08:44:07 -04:00
commit de28b30eea
40 changed files with 2540 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
name: Sync next
# Carries every change that lands on the base branch onto the paired `next`
# iteration branch, so `next` never drifts behind what has already shipped.
# `next` is created on the first run if the repo does not have one yet.
#
# List every base branch this package maintains. Most packages have one; the
# multi-branch packages list each major line or flavor (e.g. 28.x, 29.x). A
# package whose default branch is `main` must say `main` here — a workflow
# pointed at a branch the repo does not use never runs.
#
# No paths-ignore: a docs-only commit on the base still has to reach `next`,
# or the next merge back re-introduces the stale copy.
on:
push:
branches: ['master']
workflow_dispatch:
jobs:
sync:
uses: Start9Labs/start-technologies/.github/workflows/syncNext.yml@master
permissions:
contents: write
pull-requests: write