Skip to content

Releases

v1.13.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 09:40
765aa35

Minor Changes

  • #48 bb61786 Thanks @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

Choose a tag to compare

@github-actions github-actions released this 09 Nov 08:53
443ed63

Minor Changes

  • #46 12b177c Thanks @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-ready horizon-<version>.zip straight 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

Choose a tag to compare

@github-actions github-actions released this 15 Oct 04:47
40ba0fc

Minor Changes

  • #39 cf39a79 Thanks @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 with shop_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

Choose a tag to compare

@github-actions github-actions released this 15 Oct 04:17
89d68ea

Minor Changes

  • #37 8a84924 Thanks @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 ./uploads and the Shopify Dev MCP, and writes CLAUDE.md and customizations.md from the template's live-site/ folder with the copy's name, version and ID filled in, a blank THEME.md and an empty ./theme. Copying the theme into ./theme, having Claude learn it (write THEME.md) and publishing the copy are left to you. Running it again keeps ./theme, THEME.md and 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 refuses themeCreate, themeDuplicate, themeUpdate, themeDelete and themePublish.

    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.md written for a live site along with the files it already asked about.

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 02:16
c6f3bdd

Minor Changes

  • #35 1898f6c Thanks @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 way npx does. Local uploads now compare paths the way Windows does (letter case, short folder names such as RUNNER~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

Choose a tag to compare

@github-actions github-actions released this 11 Oct 15:52
890dce1

Patch Changes

  • #33 7d81838 Thanks @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.json is kept. The setup questions also drop their option hints.

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 03:14
e89719b

Minor Changes

  • #31 ea89c55 Thanks @acoderacom! - Send and pull theme files through a local folder, so file content doesn't pass through the conversation.

    • New --theme-dir option (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_upsert sends 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.json is rebuilt) is replaced in the folder with Shopify's copy.
    • New shopify_theme_files_pull tool (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_DIR to ./theme.

    A 50 KB section now takes about 2 seconds to push instead of minutes.

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 16:17
39a7fc1

Minor Changes

  • #28 a852a81 Thanks @acoderacom! - Full theme design now follows acoderacom/claude-horizon's versions.json. A live theme on any supported version matches, and the project gets that exact Horizon commit and its versions/<version>/THEME.md, with the version filled in to CLAUDE.md and customizations.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-ready horizon-<version>.zip to 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

Choose a tag to compare

@github-actions github-actions released this 10 Oct 08:28
19e7a34

Minor Changes

  • #25 eec97fc Thanks @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.json by 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

Choose a tag to compare

@github-actions github-actions released this 10 Oct 08:03
76dc60c

Minor Changes

  • #22 93efebc Thanks @acoderacom! - New --disable-theme-writes option (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 fd6d1c1 Thanks @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 3fa6ece Thanks @acoderacom! - Setup's authentication choices read "Access token (legacy custom app)" and "Client ID and secret (dev dashboard app)", without the token prefix.