Skip to content

Commit 697cfda

Browse files
committed
Release 1.0.0
- Bump version to 1.0.0 across package, CLI constant, and skill docs - Document install/upgrade via published @shopify/shop-cli package (Node >= 20) - Add --currency flag to skill reference and examples; pass country+currency on all calls - Expand delegated-budget trigger examples and add formatting-rule reminder
1 parent c0eacb9 commit 697cfda

4 files changed

Lines changed: 12 additions & 9 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shopify/shop-cli",
3-
"version": "0.1.0",
3+
"version": "1.0.0",
44
"description": "Personal shopping CLI for Shop catalog search, checkout, and order workflows",
55
"type": "module",
66
"license": "MIT",

skill/SKILL.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: shop
33
description: "Ultimate personal shopping assistant: find, compare, buy, gift, and reorder products across the Shop catalog containing millions of stores. Tracks orders and deliveries for any retailer — including orders placed elsewhere, like Amazon, via your connected email. Helps get order info and initiate returns and refunds."
44
metadata:
5-
version: "0.3.0"
5+
version: "1.0.0"
66
homepage: "https://shop.app"
77
---
88

@@ -12,10 +12,11 @@ metadata:
1212
Prefer the installed `shop` CLI. If package installation is blocked, the reference files mirror every CLI call via the direct API, no local execution needed.
1313

1414
```bash
15-
git clone https://github.com/Shopify/shop-cli; cd shop-cli; pnpm install; pnpm build; pnpm link --global; shop --help
15+
pnpm add --global @shopify/shop-cli # or: npm install --global @shopify/shop-cli
16+
shop --help
1617
```
1718

18-
To upgrade, run `git pull && pnpm install && pnpm build` inside the clone. Uninstall: `pnpm rm -g @shopify/shop-cli`, then delete the clone.
19+
Requires Node.js >= 20. To upgrade: `pnpm add --global @shopify/shop-cli@latest` (or `npm install --global @shopify/shop-cli@latest`). Uninstall: `pnpm rm -g @shopify/shop-cli` (or `npm rm -g @shopify/shop-cli`).
1920

2021
**Reference files:**
2122
- [catalog-mcp.md](references/catalog-mcp.md) — direct catalog MCP calls + manual token exchange
@@ -40,6 +41,7 @@ Every shopping conversation follows this order. Each step links to its rules bel
4041

4142
```text
4243
global --country <ISO2> (context signal, NOT a ships-to filter)
44+
--currency <code> (context signal, e.g. GBP; localizes prices)
4345
--format md|json (default to md; be STRONGLY averse to using json - results are huge and it burns lots of tokens)
4446
search [query] --ships-to <ISO2> [--ships-to-region, --ships-to-postal]
4547
--limit 1-50 (keep small), --cursor <c> (next page), --min/--max-price (minor units; 15000 = $150.00)
@@ -55,7 +57,7 @@ catalog get-product <id> --select Name=Label, --preference Name
5557
- `--ships-to` is the buyer's destination (a hard filter) and alone localizes context to it; `--country` is location context only — pass it only when you actually know it, never invent. Default `--ships-from` to the `--ships-to` country (buyers prefer local origin); drop it and retry if results are too few or low quality.
5658

5759
```bash
58-
shop search "trail running shoes" --country GB --ships-to GB --ships-from GB --limit 10 --condition new
60+
shop search "trail running shoes" --country GB --currency GBP --ships-to GB --ships-from GB --limit 10 --condition new
5961
shop search "tshirt" --country US --color White --size M --gender Female
6062
shop search "black crewneck sweater" --like-id gid://shopify/p/abc123
6163
shop search --image ./photo.jpg
@@ -107,11 +109,12 @@ Manual token exchange, only when the CLI cannot be installed: [catalog-mcp.md](r
107109

108110
## Search rules
109111
- Offer sign-in if signed-out — see *Sign in*. Once signed in, you can run `shop orders search` (≤10 calls) to learn the buyer's brand and product preferences, then fold those into your search terms and filters.
110-
- Before searching, know the buyer's **country and currency** (ask if you don't have them) and pass both via `--country`/`--currency` on every catalog call so prices localize consistently.
112+
- Before searching, know the buyer's **country and currency** (ask if you don't have them) and pass both via `--country`/`--currency` on every search and catalog call so prices localize consistently.
111113
- Search broad first, then refine with filters or alternate terms. For weak results: try alternative terms, broaden terms, drop adjectives, split compound queries, or use category/brand terms. The Shop catalog is HUGE so query expansion helps a lot! Aim to surface 6–8 products per request.
112114
- NEVER fall back to web search unless explicitly requested by the user.
113115
- Paginate with `--cursor` (echoed in the search footer when more results exist); prefer refining the query over deep paging. Keep `--limit` small — 50 is the max but burns tokens.
114116
- Ignore `eligible.native_checkout: false`; you can still order the item.
117+
- Apply message formatting rules on all subsequent conversation turns
115118

116119
**Similar items:**
117120
- `shop search --like-id <product gid>` — pass a product reference (`gid://shopify/p/...`); variant GIDs are rejected.
@@ -173,7 +176,7 @@ Then take one of two paths:
173176
### Spending budget
174177
Offer to set up a budget when **either**:
175178
- it is the first time in the conversation a checkout reached `continue_url` (and you just sent that link), or
176-
- the user asks you to complete checkouts without per-purchase approval (eg "buy it for me")
179+
- the user asks you to complete checkouts without per-purchase approval (eg "buy it for me", "pay for me", "set up budget")
177180

178181
Rules: send it as its own distinct message (never combined with other text), at most once per session unless the user asks again, and never pressure — it's a convenience.
179182

skill/references/catalog-mcp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Endpoint:
77
```text
88
POST https://catalog.shopify.com/api/ucp/mcp
99
Content-Type: application/json
10-
User-Agent: shop-cli/0.1.0
10+
User-Agent: shop-cli/1.0.0
1111
```
1212

1313
## Authentication (optional, preferred)

src/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export const DEFAULT_COUNTRY = 'US'
44
export const DEFAULT_PROFILE_URL =
55
'https://shopify.dev/ucp/agent-profiles/2026-04-08/valid-with-capabilities.json'
66
export const GLOBAL_CATALOG_MCP_URL = 'https://catalog.shopify.com/api/ucp/mcp'
7-
export const CLI_VERSION = '0.1.0'
7+
export const CLI_VERSION = '1.0.0'
88
export const USER_AGENT = `shop-cli/${CLI_VERSION}`
99
// Authenticated global-catalog access uses a brokered RFC 8693 token exchange:
1010
// audience=api.shopify.com + requested_token_type=...access_token returns a

0 commit comments

Comments
 (0)