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

Configure the current directory with your STQRY API key (writes stqry.yaml):

stqry config init --api-key=<API_KEY> --region=us

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

The CLI ships two pieces of context for Claude: a command reference (stqry skill cat reference) and step-by-step workflow recipes (stqry skill cat workflows). Both print the latest documentation embedded in the installed binary — no separate install step.

Claude Code — run stqry config init in your project. It writes a CLAUDE.md that points Claude at stqry skill cat reference / workflows. Claude pulls the live content on demand.

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. The zip is timeless — its SKILL.md calls stqry skill cat at runtime, so a single upload stays valid across CLI releases.

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.

To inspect skill content directly:

stqry skill cat reference       # full command reference
stqry skill cat workflows       # multi-step recipes
stqry skill export --dir /tmp   # write Claude Desktop 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 account is hardcoded. At the start of each conversation, tell Claude which project to connect to:

  • "My API key is abc123, region is US" — Claude will configure it for you (writes stqry.yaml).

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'

Account Configuration

STQRY CLI stores credentials in a per-project stqry.yaml file. Create one with:

stqry config init --api-key=<API_KEY> --region=us

This writes:

api_key: <API_KEY>
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.

Legacy global config

A historical ~/.config/stqry/config.yaml file may still exist with named accounts in the old format. It is read-only going forward: when a project's stqry.yaml references one of those named accounts, the credentials are automatically inlined on the next command and global config is no longer consulted for that project.

If no account is configured, the command will return an error prompting you to run stqry config init.