Reference

CLI

Reference for all Everr CLI commands.

The Everr CLI queries local telemetry and remote Cloud or self-hosted installations, inspects GitHub Actions CI runs, manages bundled skills, and reconciles resources as code. Run everr --help or everr <command> --help for the help included with your installed version.

Authentication and remote queries

Authenticate with everr cloud login and sign out with everr cloud logout. See Cloud for login options and remote commands.

The CLI keeps one session. A successful login replaces it; a failed login preserves the previous session. To switch installations or accounts, log in again:

everr cloud login --url https://observability.acme.com
everr cloud status
everr cloud logout

The session file contains only the API URL and token. It is stored at ~/Library/Application Support/everr/session.json on macOS or ${XDG_CONFIG_HOME:-~/.config}/everr/session.json on Linux. EVERR_CONFIG_DIR overrides the directory and must be an absolute path. Debug builds use session-dev.json and default to http://localhost:5173 when no session is saved. Login does not create repository configuration.

CLI sessions authenticate queries and resource management. Application exporters use separate ingestion keys and an explicitly configured ingestion endpoint.

Cloud

These commands also work with the self-hosted installation selected by the saved session:

  • everr cloud login: authenticate in your browser and save one session
    • --url <app-url>: select another installation. Without this flag, login reuses the saved session's URL or the build default.
    • --no-open: print the authorization URL without opening a browser
  • everr cloud logout: revoke the saved session and remove the local session file
  • everr cloud status [--json]: check the saved session and show the current identity, app URL, and ingestion endpoint
    • Prints Name:, Email:, Organization:, Installation:, and Ingestion endpoint: rows. Missing or expired sessions and request failures produce an error without changing the saved session.
    • --json: return url, account and organization identity, and ingestEndpoint, without the token
  • everr cloud query "<SQL>": run read-only SQL against the saved session's installation
    • --format <json|ndjson|table>: choose the output format (default: table in a terminal, ndjson otherwise)

During exporter setup, use everr cloud status --json to discover ingestEndpoint, the installation's OTLP/HTTP base URL. Save that URL in your exporter's configuration. It is fetched from the server when status is called and is not cached in the session file. A null endpoint means the server has not advertised one; app and ingestion URLs can differ.

Maintenance

  • everr upgrade: upgrade the CLI and its bundled local browser UI
  • everr uninstall: remove local Everr state and globally installed skills, then print the command that removes the CLI binary

Skills

  • everr skills list [--project|--global] [--agent <codex|claude-code|cursor|all>]: list bundled Everr skills for a scope and Agent
  • everr skills install [--all] [--project|--global] [--agent <agent>] [--dry-run]: install all bundled skills. In an interactive terminal, omitted choices are prompted with project scope selected by default. In a non-interactive context, --all is required and the scope defaults to the project. Use --global to explicitly install across projects.
  • everr skills update [SKILL]... [--project|--global] [--agent <agent>] [--dry-run]: update bundled skills already installed in the selected scope. With no scope, update matching installations in both project and global scopes.
  • everr skills uninstall [SKILL]... [--all] [--project|--global] [--agent <agent>] [--yes] [--dry-run]: uninstall named bundled skills. --all requires --yes.

The --agent option can be repeated. With no Agent filter, a command targets all supported Agents.

CI

  • everr ci status: show CI status for the current commit

    • --commit <sha-or-ref>: target another commit
    • --run-id <id>: target a GitHub Actions run ID
    • --branch <name> and --repo <owner/name>: override repository context
  • everr ci watch: watch the current commit's CI runs until completion, then exit non-zero if any run was unsuccessful

    • --commit <sha-or-ref>: target another commit
    • --run-id <id>: target a GitHub Actions run ID
    • --attempt <n>: target a specific run attempt
    • --branch <name> and --repo <owner/name>: override repository context
    • --fail-fast: exit as soon as a CI run completes unsuccessfully
  • everr ci runs: list recent CI runs

    • --repo <owner/name>: filter by repository
    • --branch <name> or --current-branch: filter by branch
    • --conclusion <value>: filter by conclusion
    • --workflow-name <name>: filter by workflow
    • --run-id <id>: filter by GitHub Actions run ID
    • --from <expr> and --to <expr>: restrict the start time using date math, for example now-7d
    • --limit <n> and --offset <n>: paginate results (--limit defaults to 20 and accepts 1 through 100)
  • everr ci show <trace-id>: show a CI run's jobs and steps

    • --failed: show only failed jobs and their failed steps
  • everr ci logs <trace-id> --job-name <job> --step-number <n>: print logs for one CI step (the last 1000 lines by default)

    • --job-name <job> or --job-id <id>: select one job
    • --step-number <n> or --log-failed: select one step
    • --tail <n>: print lines from the bottom
    • --limit <n> and --offset <n>: fetch a raw page from the top
    • --egrep <pattern>: keep only lines matching a RE2 regex, exiting non-zero when no lines match
    • --color: preserve ANSI color codes (stripped by default)

Local telemetry

Local commands and the local browser UI work without a remote login and do not read the session file. The local UI has no remote account or sign-in controls.

  • everr local start: start the local collector and browser UI in the foreground
    • -d, --detach: run in the background and return once ready. The instance survives closing the terminal; stop it with everr local stop. Detached mode does not start at boot or automatically restart a crashed supervisor.
    • --no-open: start without opening a browser
    • --quiet: suppress startup output and browser launch
    • Prints otlp:, sql:, and ui: URLs once ready. In a terminal, successful startup also shows the Everr banner. Redirected output contains only the endpoints and, for detached startup, a log: path. Ctrl+C stops a foreground instance started by this invocation.
    • If a matching collector and UI are already ready, prints their endpoints and exits successfully. An existing foreground instance still needs its original terminal session.
    • Occupied ports and partial or mismatched instances produce an error. Existing processes remain running.
  • everr local stop: gracefully stop the recognized foreground or detached instance and wait for telemetry to flush and cleanup to finish
    • Keeps collected telemetry data and succeeds when already stopped.
  • everr local status: check the identity and readiness of the local collector and browser UI, and print their endpoints when running
    • Distinguishes running, starting, stopped, unrecognized listeners, connection failures, and mismatched instances.
    • Exits with code 0 when both belong to the same ready instance, or code 2 otherwise.
  • everr local query "<SQL>": run read-only SQL against local telemetry
    • --format <json|ndjson|table>: choose the output format (default: table in a terminal, ndjson otherwise)
  • everr local ui: open the running local UI in the default browser and print ui: <url>
    • Requires the same matching ready collector and UI instance as local status. Otherwise, reports the same diagnostics and exits with code 2, without starting services.
    • If browser launch fails, exits with code 1 and prints the URL to open manually.
  • everr wrap -- <command>: run a command and capture its stdout, stderr, and exit status as local logs
    • The command only starts when the local Collector is available.
    • The CLI preserves the command's exit code.

Detached diagnostic logs are stored in ~/Library/Logs/everr/local.log on macOS or $XDG_STATE_HOME/everr/local.log on Linux (default ~/.local/state/everr/local.log). Set EVERR_LOCAL_LOG_DIR to override the directory. Logs rotate at 5 MiB, keeping three backups. These diagnostic logs are separate from collected application telemetry.

Resources as code

Apply

everr apply <dir> reconciles the Dashboard, Alert, and Runbook definitions under a directory with Everr. Files can use .yaml, .yml, or .json and are discovered recursively. Apply creates and updates definitions present in the directory and deletes live resources that were previously applied by the same Repoid but are now absent.

By convention, use an everr/ directory with files such as *.dashboard.yaml, *.alert.yaml, and *.runbook.yaml. The kind field, not the filename suffix, determines the resource kind. kind: Notebook and the *.notebook.yaml suffix remain supported for compatibility, but Runbook is the current name.

The Repoid is inferred from the repository's origin remote and normalized to host/owner/repo. An optional everr.yaml or everr.yml Manifest at the apply root can override it with a single non-empty repoid key. See Observability as code.

  • <dir>: directory to read recursively, for example ./everr
  • --preview [NAME]: reconcile into a preview instead of live state and print a shareable link. NAME defaults to the current branch and must be explicit in CI or a detached HEAD. Previews do not prompt, never send alert notifications, and expire seven days after their latest apply.
  • --dry-run: compute and print the diff without writing
  • --yes, -y: skip confirmation for a live apply (required in non-interactive contexts)
  • --adopt: adopt resources in the applied directory that another Repoid currently owns. Use --dry-run first to review the ownership changes.

Apply uses the saved login session by default. For unattended runs, set EVERR_API_KEY to an Organization API Key with the apply capability; EVERR_API_TOKEN remains a deprecated alias. With a key, EVERR_API_URL selects the installation, falling back to the URL in the saved session when omitted. A runner without a saved session must supply EVERR_API_URL.

Inspect and manage live resources

  • everr resources list [--kind <dashboard|runbook|alert>] [--repoid <id>] [--json]: list live resources across the active Organization. Pass an empty --repoid value to select UI-created resources.
  • everr resources show <kind> <slug> [--project <name>] [--json]: print a resource's stored YAML, or raw JSON with --json
  • everr resources delete <kind> <slug> [--project <name>]: delete a live resource immediately, without prompting
  • everr resources adopt <kind> <slug> [--project <name>] [--yes]: adopt a live resource into the current repository's Repoid. Interactive terminals prompt for confirmation; non-interactive contexts require --yes.

--project defaults to default. These commands require the saved login session and do not accept EVERR_API_KEY.