Developer

STQRY Studio CLI

CLI for managing collections, screens, media, and content on STQRY.

Install

Install script (macOS / Linux)

curl -fsSL https://downloads.stqry.com/stqry-cli/install.sh | sh

The installer puts stqry in /usr/local/bin if it can, or in $XDG_BIN_HOME or ~/.local/bin if not. It adds the install directory to your PATH by editing your shell config. To change this, set STQRY_INSTALL_DIR or STQRY_NO_MODIFY_PATH=1.

Update

If you installed with the install script, update the binary in place:

stqry update

Check whether an update is available without installing it:

stqry update --check

If you installed with pip, update with pip install --upgrade stqry. For pipx, use pipx upgrade stqry. For uv, use uv tool upgrade stqry.

Shell completion

For zsh:

stqry completion zsh > "${fpath[1]}/_stqry"

For other shells, run stqry completion --help.

Quick Start

Set up 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: setup, the data model, the global flags and an index of per-resource command docs such as stqry docs media. stqry docs workflows prints step-by-step recipes.

Claude Code

Set it up per project or globally:

  • Per project: run stqry config init in the project folder. This writes a CLAUDE.md that points Claude at stqry docs reference and stqry docs workflows.
  • Globally: run stqry setup claude once. This installs the skill at ~/.claude/skills/stqry/SKILL.md. Claude Code then loads it whenever you mention STQRY from any directory.

OpenAI Codex for CLI or Desktop

Set it up per project or globally:

  • Per project: run stqry config init in the project folder. Alongside CLAUDE.md it writes an AGENTS.md, the file Codex reads before it starts work. This points Codex at stqry docs reference and stqry docs workflows.
  • Globally: run stqry setup codex once. This installs the skill at ~/.codex/skills/stqry/SKILL.md. Codex loads it at the start of a session whenever you mention STQRY from any directory.

Claude Desktop and Claude Cowork

Install the skill from a zip file:

  1. Download stqry-skill.zip.
  2. Add it in the app's skill settings. In Claude Desktop, select Settings, then Customise, then Skills, then Add Skill.
  3. Restart the app.

The skill's SKILL.md calls stqry docs at runtime, so one stqry-skill.zip stays valid across CLI versions.

Output formats

Commands support several output formats.

The default format is human-readable:

stqry collections list

JSON output wraps results in a { "data": [...], "meta": {...} } envelope:

stqry collections list --json

Quiet mode prints only the raw data payload, with no envelope, which is easy to pipe:

stqry collections list --quiet

The built-in --jq flag filters results without piping to an external jq binary. It always runs against the bare data, the array of rows, so the same expression works with or without --json:

stqry collections list --jq '.[].name'

Add --raw (or -r) to print string outputs as raw text instead of JSON-quoted strings. This mirrors jq -r:

stqry collections get 42 --jq '.title.en' -r

Expressions can be as complex as jq allows:

stqry media list --jq '[.[] | select(.file_size > 500000)]'

External jq is still useful when you need the meta envelope, which the built-in --jq removes:

stqry collections list --json | jq '.meta.pages'

Pagination

Every list command paginates on the server. The default is 30 rows per page and the maximum is 1000. If you do not pass --per-page, you see only the first 30 rows.

Each output mode signals that more pages exist:

  • In human mode, a footer like Showing 30 of 1017 (page 1 of 34) — pass --page / --per-page to see more
  • In --json mode, the meta field in the envelope: {"page": 1, "per_page": 30, "pages": 34, "count": 1017}
  • In --quiet or --jq mode, the envelope is stripped from stdout, but a warning: showing N of TOTAL results … line goes to stderr so you can still see it and grep it from scripts

When you need every row, walk pages until you reach meta.pages.

Environment Variables

Run stqry docs environment to see the full list of environment variables.

To keep your API 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. If you installed it with the install script, remove whichever location it's on (e.g. /usr/local/bin/stqry or ~/.local/bin/stqry):

rm "$(command -v stqry)"

If you installed it from PyPI, uninstall with pip (or pipx uninstall stqry / uv tool uninstall stqry):

pip uninstall stqry

Optional leftover files the CLI creates, removable by hand:

  • The PATH entry the install script may have added to your shell config. Look for the block tagged # added by stqry installer and delete it — in ~/.zshrc (zsh), ~/.bashrc and ~/.profile (bash), or remove ~/.config/fish/conf.d/stqry.fish (fish).
  • 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 init in any directory you ran it in: stqry.yaml (or stqry.yml) and the generated CLAUDE.md / AGENTS.md.