PAYG Website Design services. Cancel anytime. See Plans

What’s your development workflow for Shopify 2.0?

← Blog

With the arrival of Shopify 2.0, it’s now thrown my development workflow out of the window. The config.yml made development much more manageable when working on different store features because it linked directly to a particular theme and excluded any changes made to the settings_data.json file. But, the new CLI seems to add extra complications to the workflow by requiring frequent pulls and pushes.

Here’s my typical development workflow for version 1 themes:

  1. Do `theme download` to get the latest changes from the live theme
  2. Pull from main and checkout a new branch
  3. Log into Shopify store admin
  4. Duplicate the published theme
  5. Rename the duplicated theme to the name of your branch
  6. Click “Customize Theme” of your new branch theme
  7. Note the theme ID in the URL (example: /admin/themes/9542224/settings)
  8. Edit the theme_id in config.yml to point to your branched theme
  9. theme watch and do your work
  10. Preview your work by navigating to that theme in Shopify admin and clicking preview
  11. Create Pull Request
  12. Merge PR to the main repo
  13. Delete your branch (local and server)
  14. Delete your branched theme in Shopify Admin
  15. And then for deployment:
    1. Make sure to kill your local theme watcher
    2. Remove your theme ID (to point it to the published theme)
    3. Create a backup of the existing production theme (by duplicating it)
    4. Use `theme deploy` to push master onto the primary theme.
    5. Tag the release in Github.

As you can see, this was a simple workflow that allowed for features to be worked on by different devs using different theme instances. I frequently work on dev environments and then deploy the new features to production stores (i.e. they’re both separate stores), so this workflow worked perfectly because of config.yml.

Settings data?

I’ve been working on a couple of 2.0 sites recently and am starting to find the push, pull and serve methods to be cumbersome. There have been occasions where I’ve accidentally reset some of the section settings data because I forgot to do a pull first or changed some code. This seems to be the main issue for me.


It would be good to get an idea of how other devs are managing their workflow.

  1. What is your development process for 2.0?
  2. Have you managed to get around the section settings data issue?
  3. And, how have you managed deployments between dev and live environments when they are two separate stores?

Let me know at:

Subscribe to my newsletter

Sign up to get my latest blog articles direct to your inbox.

%d bloggers like this: