@tallwatch/cli
v0.3.2
Published
Tallwatch CLI — manage monitors and incidents from your terminal.
Maintainers
Readme
@tallwatch/cli
Tallwatch CLI. Thin client over the public REST API, plus UptimeRobot import.
Install
curl -fsSL https://tallwatch.com/install-cli.sh | bashOr with npm (Node.js 20+):
npm install -g @tallwatch/cli@latestFrom source in this monorepo:
pnpm --filter @tallwatch/cli build
pnpm tallwatch --helpDocs: docs.tallwatch.com/integrations/cli · Install page: tallwatch.com/cli
Browser login
tallwatch loginPrints a one-time code, opens the browser, and finishes when the app authorizes. Use --no-browser on remote SSH sessions.
Commands
Omit <id> on show / update / pause / resume / ack / resolve / postmortem / browse to pick interactively (searchable list in a TTY). Unique names also resolve. Scripts should pass a UUID or use --json.
tallwatch whoami
tallwatch status
tallwatch browse monitor
tallwatch logout
tallwatch update
tallwatch uninstall
tallwatch monitor list|show|create|update|pause|resume
tallwatch incident list|show|evidence|ack|resolve|reopen|postmortem
tallwatch oncall now
tallwatch status-page list
tallwatch test --url https://…
tallwatch import uptimerobot --file ./monitors.json [--apply] [--yes]Run tallwatch help or tallwatch <command> --help for flag reference.
Auth
tallwatch login/tallwatch logout— browser device login, or clear~/.config/tallwatch/config.json- Env:
TALLWATCH_API_KEY(tw_live_…), optionalTALLWATCH_API_URL - The CLI never prints the full key after validation
Update / uninstall
tallwatch update # install latest from npm (uses the npm next to this Node)
tallwatch uninstall # clear login + remove the global packageIf npm uninstall -g @tallwatch/cli does nothing, you are on a different Node than the one that owns tallwatch (common with fnm/nvm vs Homebrew). Prefer tallwatch uninstall, or run uninstall with the same Node that which tallwatch uses.
UptimeRobot import
Export monitors:
curl -X POST https://api.uptimerobot.com/v2/getMonitors \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_UR_KEY","format":"json","custom_http_statuses":1,"custom_http_headers":1}' \
> monitors.jsonPrefer readable fields: type: "http" | "keyword", keyword_type: "contains" | "not_contains", http_method: "GET". Numeric UptimeRobot codes still map. Ping / port / heartbeat are skipped. Creates use three default regions (fra1, iad1, sgp1). Dry-run is the default; --apply writes. App UI: Monitors → Import. Sample: docs/fixtures/uptimerobot-sample.json.
Publish (maintainers)
@tallwatch/cli depends on @tallwatch/contracts on npm. Publish both in order:
npm login
pnpm publish:cliRequires the @tallwatch npm org and a clean git tree is not enforced (--no-git-checks).
Notes
tallwatch testruns from the API host (SSRF-filtered), not from probe regions.- Reuses
@tallwatch/contractsZod schemas for create bodies — no second API dialect. - Destructive pause/import requires confirmation unless
--yes.
