trib is tribb from the command line. It speaks to the same account, the same feeds, and the same triage vocabulary as the web app and the MCP serversave, dismiss, downrank, unsave, unread — so an action you take in the terminal shows up everywhere else. It is built for agents first: every command takes --json, output is tab-separated and pipeable by default, and exit codes are semantic.

Install

The CLI is not published to npm. It ships with the tribb repo, in the cli/ package, and you run it from source. It has zero runtime dependencies — a single Node script — and requires Node 24+.

Clone the repo and put trib on your PATH:

git clone https://github.com/vigneshrajsb/tribb.git
cd tribb/cli
npm link          # or: npm install -g .
trib help

Prefer not to touch your global PATH? Run the entry point directly — no install step, no npm install:

node tribb/cli/bin/trib.mjs help

Auth

Every command except help and auth login needs an API token.

  1. Sign in at tribb.app/settings and find the CLI & MCP tokens panel.
  2. Click + mint a token. The token (prefixed trib_) is shown once — copy it right then.
  3. Hand it to the CLI one of two ways:
export TRIBB_TOKEN=trib_xxxxxxxx        # env var, nothing written to disk
# — or —
trib auth login trib_xxxxxxxx           # saved to ~/.config/tribb/config.json (mode 0600)

TRIBB_TOKEN wins if both are set. Confirm you are wired up with trib auth status. The same token authenticates the MCP server.

By default the CLI talks to https://tribb.app. Point it elsewhere (a preview deploy, local dev) with TRIBB_API:

TRIBB_API=http://localhost:3000 trib feeds

Commands

The grammar is gh-style: trib <noun> <verb>. Add --json to any command for machine-readable output.

Feeds

Command Does
trib feeds List your subscriptions — feedId, kind, title, url.
trib subscribe <url> Subscribe to a source. Pass any site URL; feed discovery runs server-side.
trib subscribe https://danluu.com
trib feeds --json

Items & triage

Command Does
trib items [--unread] [--saved] [--feed <id>] [--limit N] List items, newest first.
trib read <item-id> Print one article — full extracted text if available.
trib save <item-id> Keep it for later.
trib dismiss <item-id> Mark it handled and clear it.
trib downrank <item-id> See less like this source.
trib unsave <item-id> Undo a save.
trib unread <item-id> Mark it unread again.
trib items --unread --limit 20
trib read abc123 --json
trib save abc123

Every triage action is logged and trains the account's ranking. When an item is low-value but not unwanted, prefer downrank over dismiss.

Digest

Command Does
trib digest [--since <hours>] One AI catch-up pass over unread items, on your own key.

--since takes a number of hours (not 24h). Prints Markdown; add --json for the structured result. Requires a BYOK AI key set in Settings — without one the command exits with an error (code 1) telling you to add a key.

trib digest --since 24

Feedback

Command Does
trib feedback list [--status s] [--type t] [--mine] [--limit N] List feedback/issues. Operators see all; others see their own.
trib feedback new "<text>" [--type bug|idea|praise|other] File feedback or an issue.
trib feedback set <id> --status <status> [--note "…"] Update status (operator).
trib feedback new "search is slow on big feeds" --type bug
trib feedback list --status new --json

Operator & escape hatch

Command Does
trib admin stats Global product analytics. Owner only.
trib api <path> Raw authenticated GET against the v1 API.
trib api /api/v1/feeds

For agents

  • --json on everything. Structured output for jq; the plain form is tab-separated columns.
  • Semantic exit codes: 0 ok · 1 error · 2 no results · 4 auth failure. Branch on these in scripts.
  • Overnight triage: trib items --unread --json | jq -r '.[].id', then trib dismiss <id> per item.
  • Summarize, don't read the backlog: call trib digest for one model pass over unread rather than reading every item.

Same account, same verbs, no rate limit on agent tokens. If you would rather call tools than a shell, the MCP server exposes the same operations over Bearer auth.