Documentation

LLM Signal CLI

A simple guide for teams to set up, use, and maintain LLM Signal from the terminal.

CLI docs home: /docs

npm package: @llmsignal/cli

Agent index: /llms.txt

OpenAPI spec: /openapi/agent-v1.yaml

Before You Start

  1. Create a site in LLM Signal first (Dashboard -> Settings).
  2. Copy your Site ID and API key from Dashboard -> Settings -> API keys.
  3. Use Node.js 18+.

1) Setup

Install/check CLI:

npx @llmsignal/cli@latest --help

Set environment variables (Bash/zsh):

export LLMSIGNAL_BASE_URL="https://www.llmsignal.app"
export LLMSIGNAL_SITE_ID="YOUR_SITE_ID"
export LLMSIGNAL_API_KEY="YOUR_API_KEY"
export LLMSIGNAL_DOMAIN="example.com"

Set environment variables (PowerShell):

$env:LLMSIGNAL_BASE_URL = "https://www.llmsignal.app"
$env:LLMSIGNAL_SITE_ID = "YOUR_SITE_ID"
$env:LLMSIGNAL_API_KEY = "YOUR_API_KEY"
$env:LLMSIGNAL_DOMAIN = "example.com"

Run setup and verification flow:

npx @llmsignal/cli@latest bootstrap --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --json
npx @llmsignal/cli@latest snippet --site-id "$LLMSIGNAL_SITE_ID" --domain "$LLMSIGNAL_DOMAIN"
npx @llmsignal/cli@latest ping --site-id "$LLMSIGNAL_SITE_ID" --domain "$LLMSIGNAL_DOMAIN"
npx @llmsignal/cli@latest ingest --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --path /llmsignal-cli-test
npx @llmsignal/cli@latest status --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY"
npx @llmsignal/cli@latest verify --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --timeout-seconds 120

2) Use (Daily Workflow)

Use these commands to check health, run canary checks, and send smoke events.

npx @llmsignal/cli@latest status --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY"
npx @llmsignal/cli@latest canary --site-id "$LLMSIGNAL_SITE_ID" --domain "$LLMSIGNAL_DOMAIN"
npx @llmsignal/cli@latest ingest --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --path /llmsignal-cli-smoke --json

3) Maintain

Run this on a schedule (daily/weekly) to keep install health visible.

# Quick health check
npx @llmsignal/cli@latest status --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --json

# Strict verify: require install + recent activity
npx @llmsignal/cli@latest verify --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --require-activity true --timeout-seconds 180 --interval-seconds 15

# Upgrade to latest CLI
npx @llmsignal/cli@latest --help

Troubleshooting

If install status is stale or missing:

# Get machine-readable diagnostics
npx @llmsignal/cli@latest status --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --json

# Re-check install signal
npx @llmsignal/cli@latest ping --site-id "$LLMSIGNAL_SITE_ID" --domain "$LLMSIGNAL_DOMAIN"

# Send a direct smoke event
npx @llmsignal/cli@latest ingest --site-id "$LLMSIGNAL_SITE_ID" --api-key "$LLMSIGNAL_API_KEY" --path /llmsignal-cli-recovery --json

Command Help

npx @llmsignal/cli@latest snippet --help
npx @llmsignal/cli@latest ping --help
npx @llmsignal/cli@latest ingest --help
npx @llmsignal/cli@latest canary --help
npx @llmsignal/cli@latest bootstrap --help
npx @llmsignal/cli@latest status --help
npx @llmsignal/cli@latest verify --help

Agent API v1 (Direct)

If you are building an integration directly, use these endpoints:

  • POST /api/agent/v1/bootstrap
  • POST /api/agent/v1/status

Machine-readable schema: /openapi/agent-v1.yaml

curl -X POST "https://www.llmsignal.app/api/agent/v1/status" \
  -H "Content-Type: application/json" \
  -H "X-LLMSIGNAL-KEY: $LLMSIGNAL_API_KEY" \
  -d '{
    "siteId": "'"$LLMSIGNAL_SITE_ID"'",
    "apiKey": "'"$LLMSIGNAL_API_KEY"'"
  }'

Notes

  • The CLI currently does not create accounts/sites.
  • Keep API keys in server-side environment variables.
  • Use --json for machine-readable output.

Legacy Snippets

If needed, the same setup content is also available in the interactive docs section at /docs.

Bash/zsh

export LLMSIGNAL_BASE_URL="https://www.llmsignal.app"
export LLMSIGNAL_SITE_ID="YOUR_SITE_ID"
export LLMSIGNAL_API_KEY="YOUR_API_KEY"
export LLMSIGNAL_DOMAIN="example.com"

PowerShell

$env:LLMSIGNAL_BASE_URL = "https://www.llmsignal.app"
$env:LLMSIGNAL_SITE_ID = "YOUR_SITE_ID"
$env:LLMSIGNAL_API_KEY = "YOUR_API_KEY"
$env:LLMSIGNAL_DOMAIN = "example.com"