@@ -28,9 +28,14 @@ themes, or any existing Shopify theme that needs multi-shop capabilities.
2828- ** ⚡ Modern GitHub Flow** - Simple, PR-based development workflow
2929- ** 🧪 Interactive Testing** - Test against real Shopify preview themes
3030
31- ### 🛡️ Built-In Safeguards (v2.1.0+)
32-
33- - ** 🚨 Content Detection** - Warns before overwriting shop-specific settings
31+ ### 🛡️ Built-In Safeguards
32+
33+ - ** 🚨 Content Protection** (v2.3.0+) - Config-based prevention of content
34+ overwrites with strict/warn/off modes
35+ - ** 🏥 Health Check** (v2.3.0+) - Comprehensive diagnostics for configuration,
36+ credentials, and branches
37+ - ** 🎯 Campaign Tools** (v2.3.0+) - Automated campaign lifecycle management with
38+ one-command promo workflows
3439- ** 🔒 Security Audit** - ` multi-shop audit ` command checks permissions and
3540 credentials
3641- ** ✅ Tests** - Unit, integration, security, E2E, and performance tests
@@ -263,26 +268,99 @@ When you merge features to main:
2632683 . ** Shop teams create final PRs** : ` shop-a/staging → shop-a/main ` ,
264269 ` shop-b/staging → shop-b/main ` , etc.
265270
266- ### Campaign Management (Per Shop)
271+ ### Campaign Management (Per Shop) - v2.3.0+
272+
273+ ** New Campaign Tools Menu** automates the entire campaign lifecycle:
267274
268275``` bash
269- # Create promo for specific shop
276+ # 1. Create promo branch (one command)
270277pnpm run shop → Campaign Tools → Create Promo Branch
271278# → Select shop: shop-a
272279# → Promo name: summer-sale
273- # → Creates : shop-a/promo-summer-sale
280+ # → Automatically creates and pushes : shop-a/promo-summer-sale
274281
275- # Connect promo theme in Shopify admin (shop-a only)
282+ # 2. Connect promo theme in Shopify admin
276283# → Add theme → Connect from GitHub → shop-a/promo-summer-sale
277284
278- # Launch promo (shop-a only)
285+ # 3. Customize in Shopify Theme Editor
286+ # → Changes auto-sync back to promo branch
287+
288+ # 4. Launch promo
279289# → Publish theme or use Launchpad app
280290
281- # Push content back to shop main (keeps shop-a/main current )
291+ # 5. Push content back to main (one command )
282292pnpm run shop → Campaign Tools → Push Promo to Main
293+ # → Select promo: shop-a/promo-summer-sale
283294# → Creates PR: shop-a/promo-summer-sale → shop-a/main
295+
296+ # 6. List all active campaigns
297+ pnpm run shop → Campaign Tools → List Active Promos
298+ # → Shows all promo branches across all shops
299+
300+ # 7. Clean up after campaign
301+ pnpm run shop → Campaign Tools → End Promo
302+ # → Select and delete finished promo branch
303+ ```
304+
305+ ** Content Protection Integration:** Campaign content merges respect your Content
306+ Protection settings, ensuring intentional content changes.
307+
308+ ### Content Protection (v2.3.0+)
309+
310+ ** Config-based safeguards** prevent accidental content overwrites:
311+
312+ ``` bash
313+ # View protection status
314+ pnpm run shop → Tools → Content Protection → Show Protection Status
315+
316+ # Configure individual shop
317+ pnpm run shop → Tools → Content Protection → Configure Shop Protection
318+ # → Select shop
319+ # → Enable/Disable
320+ # → Choose mode: strict (block), warn (confirm), or off
321+ # → Choose verbosity: verbose or quiet
322+
323+ # Enable protection for all shops
324+ pnpm run shop → Tools → Content Protection → Enable All Shops
325+
326+ # Configure global defaults
327+ pnpm run shop → Tools → Content Protection → Global Settings
328+ ```
329+
330+ ** Three Protection Modes:**
331+
332+ - ** Strict** - Blocks cross-shop content syncs, requires 'OVERRIDE' to proceed
333+ - ** Warn** - Shows warning with file list, requires confirmation (default)
334+ - ** Off** - No protection, content syncs freely
335+
336+ ** Smart Detection:** Distinguishes between risky cross-shop operations
337+ (` main → shop-a ` ) and safe within-shop operations
338+ (` shop-a/main → shop-a/staging ` ).
339+
340+ ### Health Check (v2.3.0+)
341+
342+ ** Diagnostic tool** verifies your shop configuration:
343+
344+ ``` bash
345+ # Check single shop (detailed)
346+ pnpm run shop → Tools → Health Check → Check Single Shop
347+ # → Verifies: configuration, credentials, branches, content protection
348+
349+ # Check all shops (quick overview)
350+ pnpm run shop → Tools → Health Check → Check All Shops
351+ # → Shows status for every configured shop
284352```
285353
354+ ** What it checks:**
355+
356+ - Configuration file validity (JSON, required fields, domains)
357+ - Credentials existence, tokens presence, file permissions
358+ - Git branch existence and sync status
359+ - Content Protection status and settings
360+
361+ ** Actionable recommendations** without auto-fixing - tells you exactly what
362+ commands to run.
363+
286364---
287365
288366## 📋 Development Workflow
@@ -478,6 +556,14 @@ git branch --show-current
478556# Should be: feature/name or shop-a/name for auto-detection
479557```
480558
559+ ** "Not sure what's wrong?" - Run Health Check (v2.3.0+)**
560+
561+ ``` bash
562+ pnpm run shop → Tools → Health Check
563+ # Comprehensive diagnostics with actionable recommendations
564+ # Checks: config, credentials, branches, content protection
565+ ```
566+
481567---
482568
483569## 📚 Documentation
@@ -517,7 +603,7 @@ npm publish
517603
518604## 📄 License
519605
520- MIT © [ ShopDevs ] ( https://shopdevs .com )
606+ MIT © [ Brandt Milczewski ] ( https://github .com/brandtam )
521607
522608---
523609
0 commit comments