Install
Install script (macOS / Linux)
curl -fsSL https://downloads.stqry.com/stqry-cli/install.sh | sh
Installs the latest release to /usr/local/bin (or ~/.local/bin when /usr/local/bin isn't writable). Set STQRY_INSTALL_DIR to override the destination.
Update
A binary installed via the install script can update itself in place:
stqry update # update to the latest release
stqry update --check # only report whether an update is available
pip installs update with pip install --upgrade stqry (pipx: pipx upgrade stqry, uv: uv tool upgrade stqry).
Shell completion
# Shell completion (bash / zsh / fish)
stqry completion zsh > "${fpath[1]}/_stqry" # zsh example; see `stqry completion --help`
Quick Start
Configure the current folder with your STQRY API key:
stqry config init --api-key=<API_KEY> --region=us
List collections:
stqry collections list
Create a screen:
stqry screens create --name="Welcome" --type=story
Create a media item from a file:
stqry media create --file=./photo.jpg --type=image --name=photo.jpg
AI Agent Integration
The CLI ships its own context for AI agents. stqry docs reference prints a core reference covering setup, the data model, and the global flags, plus an index of per-resource command docs (e.g. stqry docs media). stqry docs workflows prints step-by-step recipes.
Claude Code — two options:
- Per-project: run
stqry config initin the project directory. It writes aCLAUDE.mdthat points Claude atstqry docs reference/workflows, so Claude pulls live content on demand whenever you work in that project. - Globally: run
stqry setup claudeonce. It installs the same skill content at~/.claude/skills/stqry/SKILL.md, so Claude Code auto-loads it whenever you mention STQRY content from any directory.
OpenAI Codex (CLI or Desktop) — two options:
- Per-project: run
stqry config initin the project directory. AlongsideCLAUDE.mdit writes anAGENTS.md— the file Codex reads before doing any work — pointing it atstqry docs reference/workflows. - Globally: run
stqry setup codexonce. It installs the same skill content at~/.codex/skills/stqry/SKILL.md, which Codex auto-loads at the start of a session whenever you mention STQRY content from any directory.
Claude Desktop / Claude Cowork — download the skill zip and install via the UI:
Download stqry-skill.zip from https://downloads.stqry.com/stqry-cli/stqry-skill.zip, then add it via the app's skill settings (in Claude Desktop: Settings → Customise → Skills → Add Skill) and restart. Its SKILL.md calls stqry docs at runtime, so a single stqry-skill.zip stays valid across CLI versions.
Output Formats
Commands support multiple output formats:
Default (human-readable):
stqry collections list
JSON output — wraps results in a { "data": [...], "meta": {...} } envelope:
stqry collections list --json
Quiet mode — emits only the raw data payload (no envelope), handy for piping:
stqry collections list --quiet
Built-in --jq — filter results without piping to an external jq binary. Always runs against the bare data (the array of rows), so the same expression works with or without --json. Pair with --raw / -r to emit string outputs as raw text instead of JSON-quoted strings (mirrors jq -r):
stqry collections list --jq '.[].name'
stqry collections get 42 --jq '.title.en' -r # → plain string, no quotes
stqry media list --jq '[.[] | select(.file_size > 500000)]'
External jq is still useful when you need the meta envelope (the built-in --jq strips it):
stqry collections list --json | jq '.meta.pages'
Pagination
Every list command paginates server-side. The default is 30 rows per page; max is 1000. When you don't pass --per-page you only see the first 30 rows.
Signals that more pages exist:
- Human mode — footer like
Showing 30 of 1017 (page 1 of 34) — pass --page / --per-page to see more. --jsonmode — the envelope'smetafield:{"page": 1, "per_page": 30, "pages": 34, "count": 1017}.--quiet/--jqmode — the envelope is stripped from stdout, but awarning: showing N of TOTAL results …line is mirrored to stderr so it's still visible to humans and grep-able from scripts.
When you need every row, walk pages until you reach meta.pages.
Environment Variables
Run stqry docs environment for the full list of environment variables.
To keep the key out of shell history and the process table, read it from stdin or a file instead of passing it inline:
echo "$STQRY_KEY" | stqry config init --api-key @- --region us
Uninstall
The CLI is a single binary. Remove it with:
# Install-script install (removes whichever location it's on,
# e.g. /usr/local/bin/stqry or ~/.local/bin/stqry):
rm "$(command -v stqry)"
# pip / pipx / uv install:
pip uninstall stqry # or: pipx uninstall stqry / uv tool uninstall stqry
Optional leftover files the CLI creates, removable by hand:
- The global Claude skill from
stqry setup claude:rm -rf ~/.claude/skills/stqry - The global Codex skill from
stqry setup codex:rm -rf ~/.codex/skills/stqry - Per-project files written by
stqry config initin any directory you ran it in:stqry.yaml(orstqry.yml) and the generatedCLAUDE.md/AGENTS.md.