Official TypeScript SDK and CLI for wspc.ai.
Status: v0 walking skeleton. Covers the todo domain only.
npm i -g @wspc/cliThis installs the wspc binary globally.
wspc login # OAuth device flow
wspc todo project ls # find a project id
wspc todo add "Buy milk" --project prj_xxx # create
wspc todo ls --project prj_xxx # list
wspc todo show tod_xxx # detail view
wspc todo done tod_xxx # mark done--project (-p) is required on every list / create because the wspc API
scopes todos per project. Run wspc todo project ls to discover ids.
| Command | Notes |
|---|---|
wspc login / logout / whoami |
OAuth device-flow auth; tokens stored in your local configuration file (with strict file permissions). |
wspc todo {add, ls, show, update, rm, done} |
Core todo CRUD. done is a sugar over update --status done. |
wspc todo project {add, ls} |
Project scope. |
wspc todo type ls |
List todo types. |
wspc todo rule ls |
List recurrence rules. |
wspc config |
Inspect / clear local config. |
Pass --help to any subcommand for flags, aliases, and examples.
Commands print a coloured aligned table (lists) or key-value block (detail views) when stdout is a terminal, and raw JSON when output is piped to a file or another command:
wspc todo ls -p prj_xxx # pretty: table with status icons, relative due dates
wspc todo ls -p prj_xxx | jq '.todos' # JSON: pipe-detected, no opt-in needed
wspc todo ls -p prj_xxx --json # JSON: forced even in a terminalIds are rendered with the discriminating prefix bright and the rest dimmed — they look short but terminal text selection copies the full 30-character id so you can paste it straight into the next command. No truncation, no 404s.
The mode can also be forced via env:
WSPC_OUTPUT value |
Effect |
|---|---|
pretty |
Always render the table / key-value layout, even when piped. Useful in CI logs and screenshots. |
json |
Always emit JSON, even in a terminal. Same as --json. |
| (unset) | TTY-detected. --json still wins. |
Colour follows the NO_COLOR and FORCE_COLOR
conventions on top of TTY detection.
If you'd rather not install globally, use npx — but two flags matter:
-p @wspc/cli@latest: the package is@wspc/clibut the binary iswspc, so npx's default short form (npx @wspc/cli ...) can't resolve the bin on Windows. The@latest(or any explicit version) is also required — without it npx may dispatch flags like--versionto itself.-y: skip the "install this?" prompt (optional but recommended for scripts).
npx -y -p @wspc/cli@latest wspc --version
npx -y -p @wspc/cli@latest wspc todo ls --project prj_xxxSee full docs at https://wspc.ai/docs (coming soon).
MIT