--- paths: - "package/**" --- # StartOS package (`package/`) TypeScript wrapper that ships the Docker image as an s9pk. `@start9labs/start-sdk` pinned `1.3.3`, Node ≥22, bundled by `@vercel/ncc`. ## Commands ```bash cd package npm i # one-time make x86 # typecheck + ncc bundle + docker build + pack → spark-control_x86_64.s9pk make install # sideload to the Start9 server; needs "host: http(s)://.local" in ~/.startos/config.yaml npm run check # tsc --noEmit — run after any startos/ edit; make x86 also runs it npm run prettier # prettier --write startos (no semicolons, single quotes, trailing commas) ``` `make aarch64` for ARM Start9 servers. `make install` picks the newest `*.s9pk` in `package/` and restarts the live spark-control service — get a go/no-go first. ## Versioning & release notes - Version format is `X.Y.Z:N` (`:N` = revision). Bump in `package/startos/versions/v0_1_0.ts`; **replace** the release notes — never leave old notes behind under an extra key (any unknown key fails `tsc`). - New external-facing endpoints get noted in release notes for downstream app developers (Recap Relay, Ten31 Transcripts, CRM, Signal Engine consume these APIs). ## Layout - `package/startos/` — manifest, interfaces, actions (`configureSparks`, `showPublicKey`), `versions/v0_1_0.ts` (current version string + release notes). - The "Reapply speech-model patches" action is **not** a StartOS action — it's a dashboard action implemented in `image/app/speech_models.py`.