Connecting Shopify App to Github

I’m sure this is a basic question but I’m new to building in Shopify. Usually when making an app, you create a folder on your machine, publish it to github, deploy through some service like Vercel. With Shopify, everything just seems to be publicly accessible automatically. And since I log in to my store and push updates all from my terminal, it’s all a new experience for me. Is the code saved somewhere other than my local machine? Or is it actually still running locally? I still need to create a github repo, right?
BTW this question is about Shopify CLI App development, not a theme (although I do have some liquid files). Adding that detail because I saw there is a github app specific to hydrogen and theme development, but that doesnt seem right for apps.

Hi @Manuel_Maccou

Welcome, and there’s no such thing as a bad question. There are a lot of developer APIs, tooling and such in the Shopify ecosystem and they’re tailored for different aspects of Shopify.

With Shopify, everything just seems to be publicly accessible automatically.

Not quite 100% true. Shopify apps are still running on your own infrastructure, the normal model you described.

However, there are parts of Shopify that you can deploy your code to using extensions. Extensions run on Shopify’s infrastructure, they’re published to a special extensions directory when you create them in your project.

The shopify.app.toml is just a configuration file. In the past, we had to update OAuth settings, like handshake URLs, access scopes, etc in the Partner dashboard UI only. Now with shopify.app.toml you can define these settings as code in your repo.

Hope this helps clears up some of the mental model of how Shopify apps work, but in general you should be creating a Github Repo for your app and deploying it to a host, just like normal.

The Extensions blur the line a bit, it’s your code, but it’s running on Shopify’s infrastructure, not your own.

1 Like