Repository navigation
Releases
v1.13.0
Minor Changes
- #48
bb61786Thanks @acoderacom! - Setup's "Full theme design with Horizon" now starts by listing the Horizon versions the template supports, newest first with the recommended one marked, and asks which one the project uses. The store's live theme must be that version; otherwise setup saves its zip and waits as before, and says when the live theme is another supported version that could be chosen instead. A Horizon live theme whose version can't be read now waits for the switch too, instead of stopping setup. A folder set up before starts on its own version.
v1.12.0
Minor Changes
- #46
12b177cThanks @acoderacom! - Setup's "Full theme design with Horizon" mode no longer stops when the live theme isn't the template's Horizon version. It saves the upload-readyhorizon-<version>.zipstraight away and waits while you upload and publish it, then checks the live theme again with the store and credentials you already entered, so you don't start over.
v1.11.0
Minor Changes
- #39
cf39a79Thanks @acoderacom! - Setup can now get an access token for an app installed on a store outside the app's organization, where Shopify refuses client credentials withshop_not_permitted: choose Client ID and secret, approved in the browser. Setup prints the redirect URL to add to the app's version (http://localhost:3457/auth/callback), opens Shopify's approval page, checks the callback's shop, state and HMAC on a loopback-only local server, and exchanges the code for an offline access token, which it saves as access-token auth. The client secret is only used for the approval and isn't saved.
v1.10.0
Minor Changes
-
#37
8a84924Thanks @acoderacom! - Add a third setup mode, Full theme edit live site, for working on a copy of a live store's theme, Horizon or not, without Horizon's checks. Setup lists the store's themes and you pick the unpublished copy Claude edits; the live theme is listed but can't be picked, and setup stops, saying how to make a copy, when the store has none. Live theme writes stay off and themes are locked, so the server refuses any change to the live theme and any theme create, duplicate, rename, delete or publish. It switches on theme files from./theme, uploads from./uploadsand the Shopify Dev MCP, and writesCLAUDE.mdandcustomizations.mdfrom the template'slive-site/folder with the copy's name, version and ID filled in, a blankTHEME.mdand an empty./theme. Copying the theme into./theme, having Claude learn it (writeTHEME.md) and publishing the copy are left to you. Running it again keeps./theme,THEME.mdand the chosen copy unless you change them, warns when that copy has since been published, and asks first before switching a Horizon project over.Add
--lock-themes(SHOPIFY_LOCK_THEMES): theme files can still be edited, but the duplicate and delete tools are left out, and raw GraphQL refusesthemeCreate,themeDuplicate,themeUpdate,themeDeleteandthemePublish.The credentials check now reads every theme the store has, not only the live one. The Horizon mode is now labelled Full theme design with Horizon, and it replaces a
CLAUDE.mdwritten for a live site along with the files it already asked about.
v1.9.0
Minor Changes
- #35
1898f6cThanks @acoderacom! - Support Windows. CI now runs every test on Windows as well as Linux, and starts the packed server through npm's command shim the waynpxdoes. Local uploads now compare paths the way Windows does (letter case, short folder names such asRUNNER~1, other drives), and a path outside the upload folder is refused with the same message whether or not the file exists, so the error doesn't reveal what's on the machine. The README notes the Windows Claude Desktop config path, and that Windows has no owner-only file mode for.mcp.json.
v1.8.1
Patch Changes
- #33
7d81838Thanks @acoderacom! - Setup's "Connect to a store only" mode now switches on local uploads from./uploads(and creates the folder), so product images and other local files can be uploaded without editing.mcp.json. An upload folder already set in.mcp.jsonis kept. The setup questions also drop their option hints.
v1.8.0
Minor Changes
-
#31
ea89c55Thanks @acoderacom! - Send and pull theme files through a local folder, so file content doesn't pass through the conversation.- New
--theme-diroption (SHOPIFY_THEME_DIR): the absolute path of a local copy of the theme. Reads and writes stay inside it, refusing paths and symlinks that lead outside and files outside the theme's own folders. shopify_theme_files_upsertsends a file given only its filename from that folder, as text or base64. After Shopify's write job finishes, it reports whether each file was stored as sent; a file Shopify returns changed (JSON templates get its header and are reformatted,config/settings_data.jsonis rebuilt) is replaced in the folder with Shopify's copy.- New
shopify_theme_files_pulltool (with--theme-dir): copies theme files or patterns into the folder, up to 50 per call, returning only filenames and checksums and leaving matching files alone. - Setup's Full theme design sets
SHOPIFY_THEME_DIRto./theme.
A 50 KB section now takes about 2 seconds to push instead of minutes.
- New
v1.7.0
Minor Changes
- #28
a852a81Thanks @acoderacom! - Full theme design now follows acoderacom/claude-horizon'sversions.json. A live theme on any supported version matches, and the project gets that exact Horizon commit and itsversions/<version>/THEME.md, with the version filled in toCLAUDE.mdandcustomizations.md; there's no version menu anymore. When the live theme is older, newer or not Horizon, setup explains that the Shopify theme store only installs the newest Horizon and offers to save an upload-readyhorizon-<version>.zipto upload in the Shopify admin, then stops. Setup reads the template and Horizon from GitHub without its API, so its rate limit no longer applies.
v1.6.0
Minor Changes
- #25
eec97fcThanks @acoderacom! - Setup no longer has an advanced settings step. Connecting to a store only asks for the store, the credentials and the Shopify Dev MCP; read-only mode, toolsets, local uploads and raw GraphQL can still be set in.mcp.jsonby hand, and connecting to a store only keeps them. The summary's "Advanced" line is now "Settings" and shows what the file ends up with.
v1.5.0
Minor Changes
-
#22
93efebcThanks @acoderacom! - New--disable-theme-writesoption (SHOPIFY_DISABLE_THEME_WRITES) refuses every theme change: the theme write tools are left out, and raw GraphQL refuses all theme mutations, whichever theme they target. It overrides--allow-live-theme-writes. -
#22
fd6d1c1Thanks @acoderacom! - Setup now asks right after the Node.js check whether to connect to a store only or set up full theme design. Connecting to a store only turns theme edits off. Full theme design checks the template and Horizon versions on GitHub before any store questions, then checks the store's live theme against the template: a match is confirmed and recommended in the version menu, and a live theme that's older, newer, not Horizon or unreadable gets an upgrade or downgrade notice and stops setup without writing anything.
Patch Changes
- #21
3fa6eceThanks @acoderacom! - Setup's authentication choices read "Access token (legacy custom app)" and "Client ID and secret (dev dashboard app)", without the token prefix.