← ClaudeAtlas

local-deploylisted

Build, stamp, and (re)launch threadbase-streamer locally on macOS, Linux, or Windows. Detects the OS and dispatches to the right deploy script (launchd / systemd-user / Task Scheduler). On a fresh install, prompts the user for PostgreSQL persistence vs memory-only mode and bootstraps the platform service before the first deploy. Use when the user says "deploy locally", "redeploy threadbase", "ship a local build", "install threadbase on this machine", or wants to update the running streamer.
RonenMars/threadbase-streamer · ★ 0 · DevOps & Infrastructure · score 72
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