local-deploylisted
Install: claude install-skill RonenMars/threadbase-streamer
# Local deploy (cross-platform)
Wraps the OS-specific deploy scripts (`scripts/deploy.sh` for macOS, `scripts/deploy-linux.sh` for Linux, `scripts/deploy.ps1` for Windows) plus first-run setup. The orchestration logic — fresh-install detection, DB-vs-memory prompt, API key generation, healthcheck reporting — is the same on every platform; only the service-management layer differs.
## Step 1 — Detect OS
Pick the correct branch by `uname -s` (or `$IsWindows` in PowerShell):
| `uname -s` output | Platform | Service mechanism | Deploy script |
|---|---|---|---|
| `Darwin` | macOS | launchd user agent | `scripts/deploy.sh` |
| `Linux` | Linux | systemd user unit | `scripts/deploy-linux.sh` |
| `MINGW*`, `MSYS*`, `CYGWIN*`, or PowerShell | Windows | Task Scheduler at logon | `scripts/deploy.ps1` |
If you can't determine the OS or it doesn't match these three, stop and tell the user this skill doesn't support their platform — don't guess.
## Step 2 — Classify install state
A platform-appropriate freshness probe (run **all** the relevant ones; install is **fresh** if any signal is missing):
**macOS:**
```bash
test -L "$HOME/.threadbase/cli.js"
launchctl print "gui/$(id -u)/com.ronen.threadbase" >/dev/null 2>&1
test -f "$HOME/Library/LaunchAgents/com.ronen.threadbase.plist"
```
**Linux:**
```bash
test -L "$HOME/.threadbase/cli.js"
systemctl --user list-unit-files threadbase.service >/dev/null 2>&1
test -f "$HOME/.config/systemd/user/threadbase.service"
```
**Windows (PowerSh