TILLDEV · CLI

The terminal is the fastest dashboard.

One binary drives every product in your workspace. tilldev talks to the same API as the dashboard at tilldev.dev, so anything you can click you can also script — list issues, upload dSYMs on release, rotate a DSN, or ask your telemetry a question, without leaving your shell.

Install

npm i -g @tilldev/cli      # or: pnpm add -g @tilldev/cli

tilldev login             # sign in once
tilldev config set org my-team
tilldev config set project prj_1a2b3c   # optional default

The tillpulse command is installed as an alias of tilldev — same binary, so tillpulse issues and tilldev pulse issues are equivalent.

Account & config

Your token, org, and a default project live at ~/.tilldev/config.json (file mode 0600). Set a default org and project and every command below drops the flags.

tilldev loginSign in with email + password (prompts for 2FA if enabled); stores a token at ~/.tilldev/config.json (0600).
tilldev whoamiShow the signed-in user, org, role, and the API URL in use.
tilldev logoutForget the stored token — leaves your api-url and org config in place.
tilldev config get [key]Show config: api-url · org · project · token (redacted).
tilldev config set <key> <value>Set api-url, org, or a default project so later commands need no flags.

TillPulse — observability

Everything under tilldev pulse …. Set a default project with tilldev config set project <id> to omit --project.

tilldev pulse projectsList projects in the current org.
tilldev pulse projects create <name> --platform <ios|android|react-native|flutter|web>Create a project and print its DSN.
tilldev pulse project <id>Show a project, including its DSN.
tilldev pulse issues [--project <id>] [--limit <n>]List issues, newest first, with level, event count, and last-seen.
tilldev pulse issue <id>Show one issue as JSON — stack, breadcrumbs, device, release.
tilldev pulse metrics [--project <id>]Fetch the project’s headline metrics (error rate, throughput, health).
tilldev pulse alertsList alert rules and their current status.
tilldev pulse releases create <projectId> <version> [--build <b>] [--env <e>] [--commit <sha>]Mark a release so crash-free-session and regression tracking have a boundary.
tilldev pulse sourcemaps upload <projectId> --release <v> --file <path>Upload a JS/RN source map to de-minify stack traces.
tilldev pulse proguard upload <projectId> --release <v> --file <path>Upload an Android ProGuard/R8 mapping file.
tilldev pulse dsym upload <projectId> --release <v> --file <path>Upload iOS dSYMs to symbolicate native crashes.
tilldev pulse dsn rotate <projectId>Rotate the ingest DSN — old key stops accepting events.
tilldev pulse ask "<question>"Ask your telemetry in natural language; streams the answer to your terminal.

TillAuth — authentication

tilldev auth appsList your TillAuth apps.
tilldev auth apps create <name>Create an auth app; prints its public id and tenant slug.
tilldev auth app <appId>Show one auth app as JSON.

Workspace

Team and API keys are org-level — they span every product you’ve enabled.

tilldev teamList members of the current org with their roles.
tilldev keysList API keys and when each was last used.
tilldev keys create <name> [--scopes read,write,admin]Mint an API key (defaults to read). Shown once — copy it immediately.

Global flags & environment

These work on any command:

--jsonPrint raw JSON instead of tables — pipe it into jq for scripting.
--api-url <url>Override the API base URL. Env: TILLDEV_API_URL. Defaults to https://tilldev.dev.
--token <token>Use a token without logging in — ideal for CI. Env: TILLDEV_TOKEN.
--help, -h · versionShow usage for any command, or print the CLI version.

In CI

Skip the interactive login: mint a scoped key once with tilldev keys create ci --scopes read,write, store it as a secret, and export it. The CLI reads TILLDEV_TOKEN automatically — a common step is uploading source maps right after a build:

export TILLDEV_TOKEN="${{ secrets.TILLDEV_TOKEN }}"

tilldev pulse releases create prj_1a2b3c "$GIT_SHA" --commit "$GIT_SHA"
tilldev pulse sourcemaps upload prj_1a2b3c --release "$GIT_SHA" --file ./dist/main.js.map

← TillDev overview·TillPulse docs →·API reference →