Install #
Prebuilt binaries and a Homebrew tap are on the way. Until then, build from source with Go 1.26 or newer:
git clone https://github.com/KilicerDev/trackr.git
cd trackr/cli
go build -o trackr .
mv trackr /usr/local/bin/Sign in #
trackr login --server https://app.trackr.devlogin probes the server, opens your browser, and receives the token on a loopback port. The token goes to your OS keychain (macOS Keychain, GNOME Keyring, Windows Credential Manager). Without a keyring it falls back to a 0600 file and warns you.
Options: --no-browser prints the URL instead of opening it; --token stores a token you already have.
Commands #
Running trackr on its own in a terminal opens the TUI. In a pipe it prints help.
| Command | Description |
|---|---|
trackr whoami [--json] | Who you are, which server, organizations and enabled surfaces. |
trackr task list [--scope mine\|all] [--project KEY] [--status …] | List tasks. |
trackr task create --title … [--project KEY] [--priority …] [--type …] [--due YYYY-MM-DD] [--estimate MIN] [--tag …] [--assignee …] | Create a task. -m "Title\n\nBody" sets title and description at once. |
trackr task view <ref> | Show a task by SCM-12 or id. |
trackr task done <ref> | Mark a task done. |
trackr task comment <ref> -m "…" | Comment on a task. |
trackr ticket list [--segment mine\|watched\|all] [--status …] | Tickets by last activity. |
trackr ticket create --org <slug> --subject "…" -m "…" | Open a ticket. |
trackr ticket view <ref> | Ticket with its messages. |
trackr ticket update <ref> [--status …] [--priority …] [--category …] | Update ticket fields. |
trackr ticket message <ref> -m "…" [--internal] | Reply, or add a staff-only note. |
trackr project list | Projects you can see. |
trackr inbox [--unread] [--limit N] | Notifications. |
trackr inbox read [id…] [--all] | Mark notifications read. |
trackr search <query> | Search everything. |
trackr logout | Forget the stored token. |
Every command accepts --server <url> and --verbose. Statuses, priorities, types and categories use the same values as the API.
Machine-readable output #
Add --json to any listing or view command. The output is the exact server response, not a re-encoding, so what you see is what the API returns.
trackr task list --scope mine --json | jq -r '.[] | "\(.ref)\t\(.title)"'Exit codes: 0 ok · 1 API or network error · 2 usage · 3 sign-in required · 4 not found.
Configuration #
The config file lives at $XDG_CONFIG_HOME/trackr/config.toml, or ~/.config/trackr/config.toml.
server = "https://app.trackr.dev"
default_project = "SCM"
# "keyring" (default) or "file"
token_storage = "keyring"Environment variables override the file: TRACKR_SERVER, TRACKR_DEFAULT_PROJECT, and TRACKR_LOG=debug for request logging. Precedence is flag › env › config › default.
The TUI #
The TUI shows tasks, tickets, your inbox and search in resizable panes, with detail pages, forms and confirmations. It hides the sidebar below 100 columns and the detail pane below 110; the floor is 80×20. Live updates are on the roadmap; press r to refresh.