Skip to content

mytours/stqry-cli

Repository files navigation

stqry

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

Installation

Homebrew

brew install mytours/tap/stqry-cli

Go Install

go install github.com/mytours/stqry-cli/cmd/stqry@latest

GitHub Releases

Download the latest binary for your platform from GitHub Releases.

Quick Start

Add a site to your global config:

stqry config add-site --name=mysite --token=<API_TOKEN> --region=us

Pin that site to the current directory (writes stqry.yaml):

stqry config init --name=mysite

List collections:

stqry collections list

Create a screen (both --name and --type are required; --type must be one of story, web, panorama, ar, kiosk):

stqry screens create --name="Welcome" --type=story

Create a media item from a local file (uploads the file and creates a media item linked to it). --type must be one of map, webpackage, animation, audio, image, video, webvideo, ar, data:

stqry media create --file=./photo.jpg --type=image --name=photo.jpg

AI Agent Integration

Skill Files

STQRY ships two skill files (stqry-reference and stqry-workflows) that give Claude context about CLI commands and common workflows.

Claude Code — install into the commands directory:

stqry setup claude          # current project (.claude/commands/)
stqry setup claude --global # all projects (~/.claude/commands/)

Claude Desktop — export a skill zip and install via the UI:

stqry skill export          # writes ./stqry-skill.zip

Then open Claude Desktop → Settings → Customise → Skills → Add Skill, select stqry-skill.zip, and restart.

Alternatively, download stqry-skill.zip directly from the latest GitHub release — no CLI install needed.

Claude Cowork — install via pip and use as CLI subprocess:

pip install stqry
stqry --version   # verify

MCP server setup is not required in Claude Cowork - use the CLI as a subprocess.

Keeping skills up to date

Installed skills embed a version hash. When you upgrade the CLI, re-run the install command to update them — it always overwrites:

stqry setup claude --global   # update Claude Code skills
stqry skill export            # rebuild zip for Claude Desktop, then reinstall

stqry doctor checks whether your installed skills match the current CLI version and warns if they are stale.

Skills
  ✓ stqry-reference — Claude Code (global) (up to date)
  ⚠ stqry-reference — Claude Desktop (outdated (skill content has changed))

Run stqry doctor --verbose to see the remediation command for each warning.

To inspect or export skill content:

stqry skill export --dir /tmp   # write zip to /tmp/stqry-skill.zip

MCP Server

stqry mcp serve starts an MCP server over stdio, letting AI assistants read and manage STQRY content directly.

Claude Code — add to .claude/settings.json in your project:

{
  "mcpServers": {
    "stqry": {
      "command": "stqry",
      "args": ["mcp", "serve"]
    }
  }
}

The server picks up stqry.yaml from the project directory automatically.

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "stqry": {
      "command": "stqry",
      "args": ["mcp", "serve"]
    }
  }
}

No site is hardcoded. At the start of each conversation, tell Claude which project to connect to:

  • "Use my site called mysite" — if you've added it via stqry config add-site
  • "My token is abc123, region is US" — Claude will configure it for you

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

Parse output with jq. Note that list endpoints are paginated — use --page / --per-page to walk through results:

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

With --json you need to reach into the envelope:

stqry collections list --json | jq '.data[].name'

Site Configuration

STQRY CLI requires a site to be configured. Sites are resolved in this order:

  1. Command flag (highest priority):

    stqry collections list --site mysite
  2. Local folder config — a stqry.yaml or stqry.yml file in the current directory (or any parent). Run stqry config init to create one:

    site: mysite

    Or with inline credentials instead of a named site:

    token: your-api-token
    api_url: https://api-us.stqry.com

    The CLI walks up the directory tree, so a stqry.yaml in a project root applies to all subdirectories.

  3. Global config at ~/.config/stqry/config.yaml — stores named sites added via stqry config add-site.

If no site is configured, the command will return an error prompting you to configure one.