Files
recap/startos-registry
Keysat 154d692371 Clean up legacy 0.3.5 scaffolding and standalone-mode artifacts
- Removes start9/0.4/ — the StartOS 0.3.5-style YAML manifest folder,
  superseded by the TypeScript-based startos/ package.
- Removes pre-StartOS standalone-mode artifacts: setup.sh, create-app.sh,
  Start Summarizer.command, build-guide-pdf.py, GET-STARTED.md/.pdf.
- Removes conversion-era design docs (START9_PACKAGING_GAMEPLAN.md,
  UPGRADE-DESIGN.md, KEYSAT_INTEGRATION.md). Recoverable from history if
  needed.
- Tightens .gitignore: untracks node_modules, javascript/ build output,
  *.s9pk, history/ user data, cookies.txt, library export, .env, .DS_Store,
  and .claude/ worktree state. Files remain on disk; just removed from
  the index.
2026-05-08 09:41:42 -05:00
..

StartOS Package Registry

A minimal, self-hosted StartOS package registry implementing the Start9 Marketplace Protocol.

Registry URL: https://registry.satsflows.com

Directory Layout

startos-registry/
  server.js              # The registry server (~250 lines of Node.js)
  registry.json          # Registry name and categories
  package.json           # Node.js dependencies
  nginx.conf             # nginx reverse proxy config
  startos-registry.service  # systemd unit file
  packages/
    youtube-summarizer/  # One directory per package
      package.json       # Package metadata (version, description, etc.)
      icon.png           # Package icon (PNG)
      LICENSE            # License text
      INSTRUCTIONS.md    # User-facing instructions
      *.s9pk             # The actual package binary
    another-package/     # Add more packages the same way
      package.json
      icon.png
      ...
  scripts/
    setup-vps.sh         # One-time VPS setup (nginx, TLS, systemd)
    publish.sh           # Upload new versions from your dev machine

Adding a New Package

  1. Create a directory under packages/ with your package ID as the name
  2. Create a package.json inside it (copy from an existing one as a template)
  3. Add icon.png, LICENSE, and INSTRUCTIONS.md
  4. Place the .s9pk file in the same directory
  5. Reload: systemctl reload startos-registry

Updating a Package

  1. Build a new .s9pk with the updated version
  2. Update packages/<id>/package.json: bump the version field and add release notes
  3. Replace the .s9pk file
  4. Reload: systemctl reload startos-registry

Or use the publish script from your dev machine:

./scripts/publish.sh youtube-summarizer ./youtube-summarizer_x86_64.s9pk

Version Format (Exver)

StartOS 0.4.0 uses Extended Versioning: <upstream>:<downstream>

  • 0.1.0:0 = upstream v0.1.0, wrapper revision 0
  • 0.2.0:0 = new upstream version
  • 0.2.0:1 = same upstream, updated wrapper/metadata

How Users Add Your Registry

On their StartOS device:

  1. Go to Marketplace
  2. Tap Change (or the registry selector)
  3. Tap Add custom registry
  4. Enter: https://registry.satsflows.com
  5. Your packages appear in their marketplace