6a6112a15f
Rename CLAUDE.md -> AGENTS.md (cross-vendor standard) with a relative CLAUDE.md symlink so Claude Code still loads it. Move each .claude/rules file into docs/guides/ (paths: frontmatter preserved) and replace the rules file with a relative symlink into the guide. Repoint the AGENTS.md index paragraph at docs/guides/ so non-Claude agents find the guides.
32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
---
|
|
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)://<server>.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`.
|