torre-cli

module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2026 License: MIT

README

torre

CI Release Coverage Go Reference Go version Ask DeepWiki Built with cliwright

Torre.ai jobs from your terminal — search opportunities, fetch public genomes, agent-friendly output (JSON/YAML/CSV/MCP).

Documentation · Command reference

A fast, scriptable, agent-friendly command-line client for the Torre.ai public API. Search job opportunities, fetch an opportunity's full detail, search people, and pull a person's public genome/bio — all with machine-first output (JSON/YAML/CSV, -o id, --jq) so an AI assistant or a shell pipeline can consume it directly.

Torre's public endpoints need no credentials, so torre works out of the box.

Install

Install script (macOS/Linux) — checksum-verified, no dependencies:

curl -fsSL https://raw.githubusercontent.com/jjuanrivvera/torre-cli/main/install.sh | sh

Homebrew:

brew install jjuanrivvera/torre-cli/torre-cli

Go:

go install github.com/jjuanrivvera/torre-cli/cmd/torre@latest

Windows (Scoop):

scoop bucket add torre https://github.com/jjuanrivvera/scoop-torre-cli
scoop install torre

Quickstart

# Search remote Go roles, machine-readable
torre jobs search --skill golang --remote -o json

# LATAM + remote, capped and piped
torre jobs search --skill "product design" --location Colombia --limit 50 -o id

# Only recently-posted roles (results are relevance-ordered, not date-ordered)
torre jobs search --skill golang --since 7d --all -o json
torre jobs search --skill golang --posted-after 2026-07-12 -o json

# Remote roles open to ANY country (the key filter for a LATAM contractor)
torre jobs search --skill golang --remote-anywhere --limit 100 -o id
torre jobs search --skill golang --location-type remote_anywhere,remote_timezones -o json

# Only roles that actually disclose pay, posted in the last two weeks
torre jobs search --skill golang --comp-disclosed-only --since 14d -o json

# One opportunity's full detail
torre jobs get KWN4QjAd

# A person's public genome, sliced with jq
torre genome torrenegra --jq '.person.name'
torre genome torrenegra --jq '[.strengths[].name]' -o json

# Search people, then pull a match's profile
torre people search --skill "data science" --remote -o table
Flag Meaning
--skill / --query skill or role text
--experience experience level (default potential-to-develop; Torre's seniority proxy — e.g. 1-plus-years, 3-plus-years)
--remote only remote opportunities
--location location/country ranking hint (e.g. Colombia) — server-side relevance nudge, not a hard filter
--organization organization name
--compensation --currency --periodicity compensation ranking hint (currency default USD$, periodicity default monthly) — server-side relevance nudge, not a hard filter
--since / --posted-after keep only roles created on/after a date — absolute YYYY-MM-DD or relative Nd/Nw (e.g. 7d, 2w). Client-side over .created; pairs well with --all/a larger --limit
--location-type hard client-side filter on .place.locationType (repeatable/CSV, case-insensitive; e.g. remote_anywhere, remote_timezones)
--remote-anywhere shorthand for --location-type remote_anywhere — roles open to any country (the key filter for a remote LATAM contractor)
--comp-disclosed-only hard client-side filter: keep only roles that disclose a pay figure (minAmount>0 or minHourlyUSD>0) — distinct from the --compensation ranking hint
--size --limit --all pagination

Note: --location and --compensation are ranking hints Torre applies server-side — they influence relevance/ordering but do NOT restrict results to that location or pay (a remote role carries no location and is not dropped). The hard (client-side) filters are --since, --location-type/--remote-anywhere, and --comp-disclosed-only; they compose (AND) and only --skill narrows the server-side search.

Pagination note: the opportunities _search endpoint ignores offset and caps a page at 99, so --limit/--all fetch one large page and de-duplicate by .id — the earlier bug where --limit 100 returned 100 rows but only ~20 unique ids is fixed. The distinct maximum from this endpoint is ~99.

Output & scripting

Global -o table|json|yaml|csv|id, --columns, --jq <gojq>, --dry-run (prints the equivalent curl), -v/--verbose, --no-color/NO_COLOR. Notes go to stderr so stdout stays pipe-clean. CSV cells are sanitized against spreadsheet formula injection.

For AI agents

  • MCP server: torre mcp start exposes the read commands as annotated MCP tools; setup/secret commands and the raw api escape hatch are excluded.
  • Agent guard: torre agent guard --host claude-code|codex|opencode emits host safety config from the live command tree (torre is read-only, so the guard mainly gates the raw api escape hatch to GET/HEAD/OPTIONS and blocks alias set).

Auth (optional)

Every wrapped endpoint is public. If you have a bearer token for an authenticated endpoint:

torre auth login          # hidden prompt; stored in the OS keyring
export TORRE_TOKEN=...     # or per-invocation via env

Honest comparison

There is no official Torre CLI. torre wraps the same public endpoints the Torre web app uses; it adds machine output, an MCP server, agent guardrails, and offline-friendly scripting. It does not cover authenticated/private Torre features (applications, messaging) — use the web app for those.

License

MIT — see LICENSE.

Directories

Path Synopsis
cmd
torre command
Command torre is a read-only, agent-friendly CLI for the Torre.ai public API.
Command torre is a read-only, agent-friendly CLI for the Torre.ai public API.
Package commands wires the cobra command tree.
Package commands wires the cobra command tree.
internal
api
Package api is the Torre.ai client core.
Package api is the Torre.ai client core.
auth
Package auth stores bot tokens out of plaintext.
Package auth stores bot tokens out of plaintext.
config
Package config resolves torre configuration with a manual flag > env > file > default precedence (no Viper, per the cliwright house pattern).
Package config resolves torre configuration with a manual flag > env > file > default precedence (no Viper, per the cliwright house pattern).
output
Package output renders Torre API JSON in table/json/yaml/csv/id.
Package output renders Torre API JSON in table/json/yaml/csv/id.
update
Package update self-updates the CLI binary from its GitHub releases.
Package update self-updates the CLI binary from its GitHub releases.
version
Package version holds build metadata, injected at link time via -ldflags.
Package version holds build metadata, injected at link time via -ldflags.
tools
gendocs command
Command gendocs generates the Markdown command reference under docs/commands from the live cobra tree, so the published docs never drift from the actual CLI surface.
Command gendocs generates the Markdown command reference under docs/commands from the live cobra tree, so the published docs never drift from the actual CLI surface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL