Upgrading & Deploying
Telegram commands
| Command | What it does |
|---|---|
/update | Update from npm (stable/alpha) |
/update pull | Git pull latest code (no build) |
/update deploy | Build + deploy from local git checkout |
/software | Show versions, source, rollback slots |
Remote deploy flow: /update pull → /update deploy
Linux / WSL (KP)
cd ~/workspace/ab/abtars
abtars updateabtars update builds from source, stages into app.staging/, atomically swaps to app/, restarts, and health-verifies. Auto-rolls back if the bridge fails to start.
macOS
From Telegram (remote):
/update pull ← fetches latest code
/update deploy ← builds + deploys + restartsabmind-only changes
abtars update always copies fresh abmind dist into app/node_modules/abmind/. Just rebuild abmind and re-run update:
cd ~/workspace/ab/abmind && npm run build
cd ~/workspace/ab/abtars && abtars update --from-localVerify after deploy
abtars statusOr via Telegram: /status, /software
Shows: version, commit, bridge PID + health, source (npm or local + repo path). Also check:
✓ Bridge healthyin update output- Telegram polling started (check logs)
- No EADDRINUSE errors
Rollback
abtars rollbackSwaps app/ ↔ app.prev/, restarts, health-verifies. Always works — app.prev/ is a full copy.
Dry run
abtars update --dry-runShows what would happen without building or mutating anything.
If deploy fails
Auto-rollback handles most cases. If both new and rolled-back versions fail:
- Check logs:
tail -50 ~/.abtars/logs/bridge.log - Restore config:
cp ~/.abtars/config/.pre-update/* ~/.abtars/config/ - Manual start:
node ~/.abtars/app/bundle/abtars.js - Nuclear:
abtars stop --force && abtars update --from-local
If abtars update itself is broken (no release staged)
When the deployed CLI is so broken that abtars update cannot run — for example abtars: no release staged. Run 'abtars install' first. because the wrapper can't locate the bundle, or the bridge is dead and the watchdog can't respawn it — use the emergency script. It does the full deploy (build, stage, swap symlinks, restart, health-probe) with plain npm + esbuild and direct launchctl/systemd calls. No working deployed binary required.
bash ~/.abtars-releases/src/abtars/scripts/emergency-update.shMake sure the source checkout is on the commit you want first:
cd ~/.abtars-releases/src/abtars && git pull