Titan

@titangymapp/cli

Titan from the command line.

npm install -g @titangymapp/cli
titan auth login
titan auth status

Or without installing: npx @titangymapp/cli auth login.

auth login opens your browser to sign in and stores the session in ~/.config/titan/hosts.json. auth status shows who you are logged in as.

titan --version reports the installed version.

By default the CLI talks to production. --env development|staging or --api-url <url> (also TITAN_ENV / TITAN_API_URL) point it elsewhere.

Commands

Every command is <noun> <verb>, and every one takes --json.

titan auth      login | status
titan session   list | view <id>
titan exercise  list | search <query> | view <uuid>
titan record    list
titan friend    list

Sessions

titan session list
titan session list --from 2026-01-01 --to 2026-01-31
titan session list --granularity sets --json
titan session view <id>
titan session list --user "Mathew John"

Without --from the window is the last month; --to defaults to today and includes it. Dates are YYYY-MM-DD (read in UTC) or a full ISO timestamp, and --from can reach as far back as your history goes.

--granularity selects the detail level: workout-session for dates and durations, exercises for exercise names (the default), or sets for weights and reps.

--user takes a name, username or id of someone you follow — titan friend list shows all three. Only people you follow are readable, so anyone else is reported as not followed. session view <id> needs no flag: a session id already identifies its owner.

Exercises

titan exercise list --limit 100
titan exercise search bench
titan exercise view <uuid>

list shows 50 of the catalogue by default and says how many it left out. Exercise uuids also come out of titan session list --json and titan record list --json.

Records and friends

titan record list
titan record list --exercise <uuid>
titan friend list