Deploying Embedded App and Extensions Simultaneously

Topic summary

Deploying a Shopify embedded app (built with Gadget) alongside Shopify app extensions from separate GitHub repositories. The app reports performance of extensions (campaign results, customer acquisition insights) and will use Gadget’s hosted deployment for the embedded app and Shopify CLI for extensions.

Key questions:

  • Feasibility: Can the same app be deployed from two pipelines (Gadget for embedded app, CLI for extensions)? The poster believes yes, given differing deployment mechanisms.
  • Repository strategy: Should each extension be split into its own repository or kept together for simultaneous deployment? Extensions include theme app extensions and admin extensions for app blocks.

Clarified terms:

  • Embedded app: A Shopify app that runs inside Shopify Admin UI.
  • Gadget: A hosted platform for building Shopify apps; currently does not support extensions.
  • Extensions: Add-ons like theme app extensions and admin extensions (including app blocks) that extend storefront/admin functionality.
  • Shopify CLI: Command-line tool to build and deploy Shopify extensions.

Status: No answers or decisions yet; guidance on feasibility and repo best practices is requested. Discussion remains open.

Summarized with AI on December 30. AI used: gpt-5.

We have an embedded app that provided performance details on what the extensions do in Shopify. It gives campaign results, customer acquisition insights, etc. We opted to use Gadget to build the embedded app. But Gadget does not support extensions. So we will be deploying into the same app from two different GitHub repositories - one for the embedded app, one for the extensions.

Question 1 - is that doable? I believe the answer is yes since Gadget deploys from their hosted platform and extensions from the CLI

Question 2 - is it a good practice to separate the extensions from each other into their own repositories or just deploy them simultaneously. The extensions include them extensions and admin extensions for a couple of app blocks.