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

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 init in the project directory. It writes a CLAUDE.md that points Claude at stqry docs reference / workflows, so Claude pulls live content on demand whenever you work in that project.
  • Globally: run stqry setup claude once. 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 init in the project directory. Alongside CLAUDE.md it writes an AGENTS.md — the file Codex reads before doing any work — pointing it at stqry docs reference / workflows.
  • Globally: run stqry setup codex once. 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.
  • --json mode — the envelope's meta field: {"page": 1, "per_page": 30, "pages": 34, "count": 1017}.
  • --quiet / --jq mode — the envelope is stripped from stdout, but a warning: 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 init in any directory you ran it in: stqry.yaml (or stqry.yml) and the generated CLAUDE.md / AGENTS.md.