shtool

v0.2.0 · 100 leaves · 3 binaries

One CLI for Shopify theme agents.

Storefront verification, local Liquid, and Admin GraphQL behind one binary. JSON out. Failures carry a hint.

curl -fsSL https://shtool.gghub.space/install.sh | sh

01 / Kit

shtool kit resolves control-shopify, theme-tester, Shopify CLI, npm, and node. It does not merge those programs. It is the front door.

shtool kit
shtool --dry-run storefront doctor
shtool --dry-run render serve

02 / Storefront

Live Chromium and JSON specs. Passes through to control-shopify on PATH, or SHTOOL_STOREFRONT.

shtool storefront setup --store SHOP.myshopify.com
shtool storefront dev start
shtool storefront verify pdp --screenshot
shtool storefront verify --all

03 / Render

Local Liquid via theme-tester (SHTOOL_RENDER). Dawn 2.0 is a gitignored fixture. render serve prints argv. It does not daemonize.

shtool render test
shtool render dawn
shtool render kit

04 / Admin

One hundred leaves. API version 2026-07. Never stores tokens. Writes need --yes. Mutations also need --allow-mutations.

shtool orders list --store SHOP.myshopify.com --first 10
shtool inventory reconcile --store SHOP.myshopify.com --input desired.json
shtool theme schema-lint --root .
shtool verify feature-map-build --root . --routes / --output map.json --yes

05 / Loop

Prove Liquid on disk, then Admin fixtures, then the live page. A DOM pass does not prove it looks right. Read the screenshot.

  1. Render first.

    shtool render test
    shtool render dawn
  2. Inspect the theme and the shop.

    shtool verify feature-map-build --root . --routes / --output map.json --yes
    shtool verify routes-smoke --base-url http://127.0.0.1:4325 --routes /api/health,/api/kit
  3. Assert the storefront.

    shtool storefront verify pdp --screenshot
    shtool storefront verify pdp --viewport 390x844 --screenshot

On this VPS the script is shtool-site/scripts/loop.sh.

06 / Install

Linux and macOS, amd64 and arm64. The script writes ~/.local/bin/shtool.

curl -fsSL https://shtool.gghub.space/install.sh | sh

Direct binary, if you do not want to pipe a script:

curl -fsSL https://shtool.gghub.space/dist/shtool-linux-amd64 -o ~/.local/bin/shtool
chmod +x ~/.local/bin/shtool

Companions still need a clone. Auth stays in Shopify CLI.

npm i -g @shopify/cli agent-browser
agent-browser install

git clone https://github.com/aimen08/verify-shopify-skill.git ~/.agents/skills/verify-shopify
ln -s ~/.agents/skills/verify-shopify/bin/control-shopify ~/.local/bin/control-shopify

git clone https://github.com/elixir-theme/theme-tester.git
cd theme-tester && npm ci
export SHTOOL_RENDER="$PWD"

07 / Safety

08 / Measured

Do not quote these as Shopify's numbers. Do not invent a live store result.