The release cycle would look like the following:
- Create developerName theme ID on your Shopify store
- Each developer downloads ThemeKit and updates environment settings to reflect the their theme ID
- Create pull request for new feature, bug fix, etc.
- Merge pull request into the master branch
- Deploy theme changes to your live store
- Teams can preview work and share progress on Shopify servers
- Changes will never upload to the production store unless explicit
--env="production"
is added AND config.yml is setup with production theme-id - Unlike Shopify Slate, doesn't require any additional tools or configuration to compile code
- Shopify servers do all of the compiling.
- Not true local development
https://shopify.github.io/themekit/#installation
https://shopify.github.io/themekit/#get-api-access
Upload blank theme to shopify [ Dashboard->themes ]
Rename theme to developerName
Pull Git Repo
git clone ...
Copy config.yml.example to config.yml
Find the theme id of your personal development theme do not use [live] id
theme get --list
Update development section of config.yml with your theme id
development:
password: [password]
theme_id: "[your-theme-id]"
store: [store].myshopify.com
Automatic upload code changes:
theme watch
or
Manually upload code changes:
theme deploy
Preview changes on shopify
theme open
- Pull master branch
- Download all changes from Shopify live online:
theme download --env='production'
- Check if any changes to shopify online and update git master
- Merge developers branch into master branch, fix conflicts, and push
- Publish to shopify live store:
theme deploy --env='production'
Example config.yml
development:
password: [password]
theme_id: "37624578121"
store: [your-store].myshopify.com
production:
password: [password]
theme_id: "37626675273"
store: [your-store].myshopify.com