Documentation

Everything you need to master your theme ops workflow.

Try "template mapping", "QA screenshots", or "WooCommerce setup"

Getting Started

Welcome to ThemeSync

ThemeSync is a unified theme ops platform for Shopify and WooCommerce agencies. It replaces your staging server, BrowserStack screenshots, Figma annotation workflows, and email chains — giving you one place to develop, preview, QA, and collect client sign-off on themes.

Works with Shopify and WooCommerce ThemeSync supports both platforms. Shopify sessions use the official Shopify CLI running in the cloud. WooCommerce sessions use a lightweight WordPress plugin for zero-risk preview on live sites.

What you can do:

Cloud Preview

Run your dev theme in the cloud. Clients see the preview on their live store — no code exposure.

📷

Visual QA

Automated cross-browser screenshots on 5 devices and 4 browser engines, including real Safari.

💬

Client Feedback

Share a link. Clients drop pins, leave comments, and approve pages — no login required.

👥

Team Workflow

Multi-role approval matrix. Designer, QA, PM, and client sign-offs per page and viewport.

Create a Session

A session represents one theme development project. It connects to a store, tracks your git repo, manages previews, and holds all QA and feedback data.

1

Sign in

Log in with Google, GitHub, or email. Your account is created automatically on first sign-in.

2

Choose a platform

Shopify — connects to your client's Shopify store.
WooCommerce — connects to a WordPress/WooCommerce site.

3

Configure the session

Enter your store URL and optionally connect a git repository. Choose a branch and sync interval.

4

Start developing

ThemeSync clones your repo, starts the dev environment, and gives you preview URLs and a live console.

Shopify vs WooCommerce

FeatureShopifyWooCommerce
Preview MethodShopify's native theme preview URLPlugin swaps active theme per visitor
Dev EnvironmentFull Shopify CLI with live terminalGit-push deploys + CDN delivery
Git SyncClone + auto-pullClone + auto-pull + auto-deploy to WP site
Auth ModeBrowser-based or Theme Access passwordWP Application Passwords
TemplatesLiquid templates (auto-detected)PHP templates (scanned from theme)
QA ScreenshotsVia local dev serverVia live site + preview token

Git Integration

Connect a git repository to keep your theme in sync with your team's workflow. ThemeSync clones the repo, pulls changes automatically, and — for WooCommerce — deploys updates to the live site.

Supported providers:

  • GitHub — Use a Personal Access Token (PAT) with repo access
  • GitLab — Use a Project or Personal Access Token
  • Bitbucket — Use an App Password with repository read access
  • Any git host — Any HTTPS git URL with credentials works
Credentials are encrypted Git tokens and passwords are encrypted before storage. They're never visible in the dashboard after saving.

Auto-sync options:

IntervalBest for
OffManual pull only — stable branches you want to control
30 secondsActive development — see changes almost instantly
1 minuteDefault. Balanced between freshness and performance
5 minutesLow-frequency check — staging or QA branches

Dashboard Navigation

The dashboard has a sidebar listing all your sessions and a main area with tabs for each feature:

🏠 Overview — Store status, preview URLs, git status, console
📄 Templates — Map theme templates to real store pages
📷 QA — Screenshots, code scan, compatibility checks
💬 Feedback — Client feedback sessions and comments
🎥 Video Guide — AI-powered client walkthroughs
Settings — Session configuration and credentials

Each session and tab has a shareable URL — bookmark or share links directly to specific views.

Shopify

Shopify Sessions

Shopify sessions run the official Shopify CLI in the cloud. You get a persistent dev server with live-reload, preview URLs, and theme editor access — without running anything on your local machine. Sessions persist across restarts, so your work is always available.

Connecting Your Store

When you start a session for the first time, Shopify asks you to authenticate:

1

Start the session

Click "Start" on your session. ThemeSync launches the Shopify dev server in the background.

2

Authenticate

An auth link and verification code appear in the console. Click the link, confirm the code in your browser, and you're connected.

3

Preview goes live

Once authenticated, ThemeSync shows your preview URL, editor URL, and store connection status.

Skip browser auth entirely Use a Theme Access password to connect without any browser prompts. The session runs unattended and never expires.

Theme Access Password

A Theme Access password lets your session run without any manual authentication. This is the recommended setup for production use — your session stays running indefinitely with no re-auth prompts.

How to set it up:

  1. Install the Theme Access app from the Shopify App Store on your client's store
  2. Create a new password with the necessary permissions
  3. Paste it into the session settings in ThemeSync

Benefits:

  • No browser prompts — runs completely unattended
  • Never expires — session stays active indefinitely
  • Survives restarts — session automatically reconnects after any downtime
  • Best for team use — no individual auth sessions to manage

Dev Server & Preview

Once your session is running, you get three key URLs:

URLWhat it's for
Preview URLThe live store showing your dev theme. Share this with clients — they see the design without accessing any code.
Editor URLShopify's theme editor, pre-loaded with your dev theme. Make visual edits directly.
Store StatusShows which store is connected, which theme is active, and the current dev server state.
Multiple sessions at once You can run multiple sessions simultaneously — one per client project. Each session is completely isolated.

Live Console

The dashboard includes a live console showing real-time output from the Shopify CLI. You can:

  • Watch file change notifications and live-reload status
  • See errors and warnings as they happen
  • Send input to the CLI — answer prompts, select themes, type commands
  • Reconnect anytime and see recent output history
Collapse the console Click the console header to collapse it when you don't need it. Expand it again anytime to check on the session.
WooCommerce

WooCommerce / WordPress

WooCommerce sessions let you preview development themes on live client WordPress sites — without affecting production visitors. Your client's customers always see the current live theme, while you (and your client via a special link) see the dev version.

How it works:

  1. Install the Theme Sync plugin on your client's WordPress site
  2. Connect the site to your ThemeSync session
  3. Push theme changes via git — they automatically appear on the client's site
  4. Share a preview link with your client to review the dev theme
  5. Production visitors are completely unaffected — they see the normal live theme

Installing the Plugin

The Theme Sync plugin handles preview switching, theme delivery, and sync on the WordPress side:

⚡ Automatic Install

Provide your WP admin credentials in ThemeSync and it installs the plugin for you — no manual uploads needed.

📦 Manual Install

Download the plugin zip from your ThemeSync dashboard and upload via WP Admin → Plugins → Add New → Upload.

Multiple sessions per site The plugin supports multiple preview sessions on the same WordPress site — useful for comparing different versions or A/B testing designs.

Connecting to Your Site

To connect ThemeSync to a WordPress site, you need:

  • Site URL — e.g., https://client-site.com
  • WordPress username — An admin account
  • Application Password — Generated in WP Admin → Users → Profile → Application Passwords

Once connected, ThemeSync can:

  • Install and configure the plugin remotely
  • Push theme updates automatically when you commit to git
  • Fetch your site's pages for template mapping

Theme Preview

Once connected, ThemeSync generates a preview link you share with clients:

Example: https://client-site.com/?theme_preview=wtp_xxxxxxx

Only people with this link see the dev theme. Everyone else — shoppers, search engines, bots — sees the production theme. Zero risk.

Preview features:

  • Full WordPress site rendering with your dev theme
  • WP Admin access in preview mode (custom fields, page editor)
  • Template overrides applied per page
  • Secure token — cryptographically random, not guessable

Syncing Changes

When you push to your git branch, ThemeSync automatically delivers the updated theme to the client's WordPress site. The process takes seconds:

  1. You push to git (or ThemeSync auto-pulls on schedule)
  2. ThemeSync packages the theme and delivers it to the WordPress plugin
  3. The plugin extracts the new files — your client sees the update immediately on their preview link

With auto-sync on, changes typically appear within 30–60 seconds of pushing.

Publishing Live

When the client approves the theme and you're ready to go live, publish directly from ThemeSync:

  • The preview theme becomes the active live theme
  • The preview session is cleaned up automatically
  • No manual file copying or FTP needed
One-way operation Publishing makes the dev theme live for all visitors. Make sure all approvals are complete and the theme is fully tested first.
Templates

Template Mapping

Template mapping connects your theme's template files to real store pages. This tells ThemeSync which URLs to screenshot during QA and enables correct routing when clients browse the preview.

Why it matters:

  • QA screenshots need real URLs — not just template file names
  • Clients should browse the preview like a real store (homepage, products, collections, etc.)
  • Different pages use different templates — mapping ensures the right template renders for each page

Shopify Templates

ThemeSync auto-detects template files from your theme and shows them in the Templates tab:

  • Homepageindex.json
  • Product pagesproduct.json
  • Collectionscollection.json
  • Custom pagespage.*.json
  • Blog & articlesblog.json, article.json

For each template, assign a store URL — the real page on the client's store that uses that template. ThemeSync fetches your store's products, collections, pages, and blogs so you can pick URLs from a dropdown.

WooCommerce Templates

For WordPress themes, ThemeSync scans for PHP template files and shows them in the Templates tab:

  • Custom page templatespage-*.php
  • Single post/productsingle.php, single-*.php
  • Archive pagesarchive.php, archive-*.php
  • Homepagefront-page.php

ThemeSync also fetches your WordPress pages so you can assign URLs with autocomplete.

Custom URLs

Not all pages come from the CMS. Add custom URLs for anything you want included in QA:

  • Landing pages created via apps
  • Cart and checkout pages
  • Search results
  • 404 pages
  • Any special URL path

Custom URLs are saved per session and persist across QA runs.

Preview Snippet (Shopify)

The preview snippet enables template-aware routing — when a client browses /products/shirt on the preview, they see it rendered with the correct product template from your dev theme.

  • Inject — adds a small snippet to your theme's layout (one click)
  • Remove — cleanly removes it when you're done (one click)
  • Uses your template mappings to serve the right template for each URL
QA & Screenshots

QA Screenshots

Capture full-page screenshots of your theme across multiple devices and real browser engines. Automated QA that catches layout breaks, responsive issues, and cross-browser bugs before clients see them.

How it works:

  1. Select which pages to capture (from template mappings + custom URLs)
  2. Choose devices — Desktop, iPhone, iPad, Android, Wide monitor
  3. Pick a browser — Chrome, Firefox, Safari (WebKit), or real Safari via BrowserStack
  4. Click capture — ThemeSync takes full-page screenshots with smart scrolling for lazy-loaded images
  5. Review results in a visual grid and approve or flag issues per page

Device Presets

DeviceResolutionType
Desktop1280 × 800Standard laptop
Wide Desktop1920 × 1080Full HD monitor
iPhone 14390 × 844 @2xiOS mobile
iPad768 × 1024 @2xTablet
Android (Pixel 7)412 × 915 @2xAndroid mobile

Select any combination of devices per QA run. The most common combo is Desktop + iPhone for quick checks, or all 5 for a full pre-launch audit.

Browser Engines

ThemeSync uses real browser engines — not device emulators or simulators. Each engine renders CSS and JavaScript differently, which is exactly why cross-browser testing matters:

🌐

Chromium

Chrome/Edge rendering. The default and fastest engine.

🦊

Firefox

Gecko engine. Catches CSS differences vs Chrome.

🧭

Safari (WebKit)

Real WebKit engine — matches how iOS/macOS Safari renders.

📱

Real Safari

BrowserStack: actual iOS device, actual Safari. No simulation.

Real Safari Testing

For the most accurate Safari testing, ThemeSync integrates with BrowserStack to capture screenshots on real hardware:

  • iPhone 16 — real Mobile Safari on iOS 18
  • iPad Pro 12.9" — real tablet Safari
  • macOS Sonoma — real desktop Safari (latest version)
  • Samsung Galaxy S24 — real Android Chrome
How to enable: Go to Settings and add your BrowserStack credentials. BrowserStack offers a free tier with 100 minutes/month — plenty for regular QA runs.

Code Scan

The code scan checks your theme source files for cross-browser compatibility issues and common performance problems:

What it checks:

CSS issues — flexbox gap (Safari bug), missing vendor prefixes, grid fallbacks, sticky positioning
JavaScript issues — missing polyfills, Web Components, modern syntax without transpilation
Template issues — performance anti-patterns, blocked scripts, deprecated APIs
Severity levels — Critical (will break), Warning (may cause issues), Info (worth noting)

Each finding includes a description, the affected file and line, and a recommended fix. Run a code scan before QA screenshots to fix issues proactively.

Dismiss Selectors

Many sites have popups, cookie banners, or modals that obscure the page during screenshots. Add dismiss selectors to automatically close them before capture:

  • Add a CSS selector for the close button (e.g., .cookie-banner .close)
  • ThemeSync clicks it before taking the screenshot
  • Saved per session — works across all future QA runs

QA Approvals

After capturing screenshots, team members can approve or reject each page at each viewport:

DimensionHow it works
Per pageEach mapped page/URL is approved independently
Per viewportMobile, Tablet, Desktop — each signed off separately
Per roleDesigner, QA, PM — each role signs off independently

A page is fully approved only when all required roles have signed off on all viewports. Rejections include a reason and can be resolved and re-approved later.

Feedback

Client Feedback

Share a timed link with your client. They browse the theme preview and drop visual comments directly on the page — like commenting on a design file, but on a live website. No login required for clients.

Feedback Sessions

A feedback session is a timed link that gives clients access to leave comments on your preview:

  • Configurable expiry — set from 1 hour to 30 days
  • No client login — they just click the link and start commenting
  • Secure — links are cryptographically random and not guessable
  • Revocable — close the session early if needed
  • Reopenable — extend expired sessions with a new deadline
Pro tip: Create separate feedback sessions for different review rounds. This keeps comments organized by phase (e.g., "Round 1 — Layout Review" vs "Round 2 — Final Polish").

Feedback Overlay

When a client opens the feedback link, a lightweight commenting tool appears on top of the preview site:

  • Pin-drop mode — click anywhere on the page to place a comment
  • Comment form — type feedback with full page context captured automatically
  • Free navigation — browse the entire theme naturally, leave comments on any page
  • Device-aware — comments are tagged by viewport (mobile/tablet/desktop)
  • Name entry — optional name/email so you know who said what

Comments & Pins

Each comment captures rich context so you know exactly what the client saw:

  • Precise positioning — pinned to the exact spot on the page, even if the layout shifts
  • Page context — which page, what viewport size, which browser
  • Threaded replies — discuss back and forth on each pin
  • Resolve & reopen — mark comments as fixed, reopen if the fix doesn't land
  • Numbered pins — each pin gets a sequential number for easy reference in calls or emails

Page Approvals

Feedback sessions include a multi-role approval system. Each page can be approved per viewport per role:

  • Client — approves via the feedback overlay
  • Designer — approves visual fidelity
  • QA — approves cross-browser correctness
  • PM — final sign-off on scope and requirements

A page is "done" when all required roles have approved all viewports. The dashboard shows approval progress at a glance.

Exporting Feedback

Export all feedback data as structured JSON for your project management tool, reports, or archives. The export includes:

  • All comments with their page and position context
  • Resolution status and timestamps
  • Page approval decisions and who approved
  • Client identity (if provided)
Teams

Teams & Roles

Invite team members and assign roles to create structured approval workflows. Everyone sees the same sessions but can only approve within their role's scope.

Roles & Permissions

RoleWhat they can doTypical user
AdminEverything — create sessions, manage team, approve as any roleAgency owner, lead dev
DesignerView sessions, approve visual design, leave feedbackUI/UX designer
QARun screenshots, approve QA, manage code scansQA engineer, tester
PMApprove scope/requirements, manage feedback sessionsProject manager, account manager

Inviting Members

Add team members in a few clicks:

  1. Go to the Team page
  2. Enter their email and choose a role
  3. Share the invite link (valid for 7 days)
  4. When they sign in, they're automatically added to your team
Auto-accept: If someone signs in with an email that has a pending invite, they're added automatically — no manual step needed.

Approval Workflow

The approval system tracks sign-offs across Page × Viewport × Role. A theme is ready to ship when:

  • All required roles have approved each page at each viewport
  • All feedback comments are resolved
  • No critical code scan findings remain

You can see overall approval progress on the QA tab — a quick visual showing what's approved, what's pending, and what's been rejected.

Git

Git Integration

Connect your git repository to keep your theme in sync with your team's workflow. Push to git, and ThemeSync pulls the latest automatically.

Connecting a Repo

Add a git URL when creating a session (or update it in settings). ThemeSync clones the repo and checks out your specified branch:

  • Supports any git host — GitHub, GitLab, Bitbucket, or self-hosted
  • Private repos are supported — embed credentials in the URL or use a token
  • Each session has its own isolated copy of the repo

Auto-Sync

With auto-sync enabled, ThemeSync periodically pulls the latest changes from your remote branch:

  • Choose an interval: 30s, 1 min, or 5 min
  • Changes are pulled in the background — you see a notification in the console
  • For WooCommerce, updates are automatically deployed to the client site
  • Manual pull is always available via the "Sync" button

Branches & Versions

Need to preview a different branch? Use Duplicate Session:

  1. Click "Duplicate" on an existing session
  2. Choose a different git branch
  3. Optionally carry over template mappings
  4. Both sessions run side-by-side — compare branches in real-time

This is ideal for A/B testing designs, reviewing feature branches before merge, or maintaining a "staging" and "production" preview simultaneously.

Video Guide

Video Guide

Generate AI-powered client walkthrough scripts for your theme. ThemeSync analyzes your theme's structure and produces clear, contextual documentation your clients can follow to manage their own content.

Theme Intelligence

Theme Intelligence scans your theme and builds a map of everything a client can edit:

  • Templates — which pages the theme supports
  • Sections — every customizable section and its options
  • Settings — all theme settings (colors, fonts, layouts, toggles)
  • Editability — what the client can change vs what requires a developer

This data powers the script generator and helps you build accurate handoff docs.

Script Generation

Using the theme intelligence data, ThemeSync generates client-facing walkthrough scripts that explain:

  • How to edit each section of the theme
  • Where to upload images and change text
  • What each theme setting controls
  • Tips for keeping the design consistent

Scripts can be generated as text (for documentation) or paired with AI voiceover for video walkthroughs. Supports professional-quality voice synthesis for polished client deliverables.

Account

Account & Billing

Your Account

Sign in with Google, GitHub, or email and password. Your account is created automatically on first sign-in — no separate registration step.

  • Sessions stay active across tabs and browser windows
  • All your sessions, team memberships, and billing info are tied to your account
  • Admin access is granted to designated team leads (configured by your org)

Billing & Plans

  • Free tier — 1 session with basic QA features, no card required
  • Paid plans — Multiple sessions, BrowserStack integration, team features, priority support
  • Self-serve portal — Upgrade, downgrade, update payment, and view invoices anytime
  • Cancel anytime — Access continues until end of your billing period
14-day trial on paid plans Try any paid plan free for 14 days. No credit card required to start.