Claude-code-plugins shopify-multi-env-setup
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/shopify-pack/skills/shopify-multi-env-setup" ~/.claude/skills/jeremylongshore-claude-code-plugins-shopify-multi-env-setup && rm -rf "$T"
manifest:
plugins/saas-packs/shopify-pack/skills/shopify-multi-env-setup/SKILL.mdsource content
Shopify Multi-Environment Setup
Overview
Configure Shopify apps with isolated development, staging, and production environments. Each environment uses a separate Shopify app instance, development store, and credentials.
Prerequisites
- Shopify Partner account
- Multiple development stores (free to create in Partner Dashboard)
- Secret management solution for production (Vault, AWS Secrets Manager, etc.)
Instructions
Step 1: Create Separate App Instances
Create one app per environment in your Partner Dashboard:
| Environment | App Name | Store | Purpose |
|---|---|---|---|
| Development | My App (Dev) | dev-store.myshopify.com | Local development |
| Staging | My App (Staging) | staging-store.myshopify.com | Pre-prod testing |
| Production | My App | live-store.myshopify.com | Live traffic |
Each app gets its own
API_KEY, API_SECRET, and ACCESS_TOKEN.
Step 2: Environment Configuration Files
Create
.env.* files for each environment and corresponding Shopify CLI TOML configs. Production secrets should never be stored on disk -- use a secret manager.
See Environment Config Files for the complete
.env and .toml configuration templates.
Step 3: Environment-Aware Configuration
TypeScript config module that loads environment-specific settings (debug mode, session storage type) with
LATEST_API_VERSION from @shopify/shopify-api.
See Environment-Aware Config for the complete implementation.
Step 4: Environment Guards
Safety functions that prevent dangerous operations from running in the wrong environment (e.g., blocking test data seeding in production, requiring production for billing activation).
See Environment Guards for the complete implementation.
Output
- Isolated environments with separate app instances
- Environment-specific configuration loading
- Shopify CLI configured for multi-env workflow
- Safety guards preventing cross-environment mistakes
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Wrong store in dev | Using prod .env | Verify in your .env file |
| OAuth fails on staging | Wrong redirect URL | Update redirect_urls in staging app config |
| Webhooks not received | URL mismatch | Each environment needs its own webhook URLs |
| Production guard triggered | Wrong NODE_ENV | Set NODE_ENV correctly in deployment platform |
Examples
Development Store Quick Setup
# Create a development store from Partner Dashboard # Partners > Stores > Add store > Development store # Install your dev app on the dev store shopify app dev --store=dev-store.myshopify.com # Populate test data shopify populate products --count=25 shopify populate orders --count=10 shopify populate customers --count=20