Shopify guidelines

Set up the Shopify CLI and use the pull / preview / push workflow to develop themes safely. Examples use our Chaitonics store; swap in your store domain.

Prerequisites

Install Node.js, then the Shopify CLI and theme plugin:

npm install -g @shopify/cli @shopify/theme

Verify it is installed:

shopify version
New to the team? Follow the environment setup guide first to get Node installed with NVM.

Authenticate

Authentication happens automatically the first time you run a theme command - it opens a browser window to log in with your Shopify account. No manual token setup is needed for personal access.

For agency / developer access without sharing the main account: in Shopify Admin → Online Store → Themes → Theme Access, generate a password, then append it to commands:

--password shptka_xxxxxxxxxxxx
A Theme Access password (shptka_...) is a secret. Keep it in the secrets vault, never in a repo.

Pull the theme

# select a theme from a list
shopify theme pull --store <your-store>.myshopify.com

# or pull a specific theme by id
shopify theme pull --store <your-store>.myshopify.com --theme 148283785355

# or just one file (faster for small changes)
shopify theme pull --store <your-store>.myshopify.com --only assets/base.css

Preview locally

Always preview before pushing. This serves your local files while the live store stays untouched.

shopify theme dev --store <your-store>.myshopify.com
# opens http://127.0.0.1:9292  (Ctrl+C to stop)

Local edits reflect instantly in the browser; customers see no changes.

Push the theme

  1. As a new unpublished theme (recommended) - review before going live:
    shopify theme push --store <your-store>.myshopify.com --unpublished \
      --theme "Chaitonics-v6.5.6-04-Apr-2026"
  2. Update an existing unpublished theme - same name, overwrites it:
    shopify theme push --store <your-store>.myshopify.com \
      --theme "Chaitonics-v6.5.6-04-Apr-2026"
  3. Overwrite the live theme - goes live immediately, use with care:
    shopify theme push --store <your-store>.myshopify.com --live
Always push as --unpublished first, review it in Shopify Admin, then publish. Never push --live unless you are 100% confident.

Versioning convention

Name theme versions so the team knows what changed and when:

Chaitonics-v{major}.{minor}.{patch}-{DD-Mon-YYYY}

Chaitonics-v6.5.5-09-Mar-2026   <- original pulled theme
Chaitonics-v6.5.6-04-Apr-2026   <- small fixes (bump patch)
Chaitonics-v6.6.0-15-Apr-2026   <- new section/feature (bump minor)
  • Bump patch for small fixes, minor for new sections/features, major for redesigns.
  • Always include the date.

Quick reference

TaskCommand
Install CLInpm install -g @shopify/cli @shopify/theme
Check versionshopify version
Pull (pick from list)shopify theme pull --store <store>.myshopify.com
Local previewshopify theme dev --store <store>.myshopify.com
Push unpublishedshopify theme push --store <store>.myshopify.com --unpublished --theme "Name"
Push to liveshopify theme push --store <store>.myshopify.com --live

Full, store-specific instructions live in the developer-setup-guides repo, and the theme itself is Codinative/chaitonics.