Put Your AppX Code on GitHub
Every AppX app is a standard Expo + React Native project, and every plan lets you download all of it as a ZIP. So you can keep it in your own GitHub repository with plain git. This guide walks through it.
This guide is the manual way and works on every plan.
What you need
Step 1 — Download your code
Open your project, click Download code in the top bar, then Download code (ZIP). You get a ZIP with the full project.
Step 2 — Unzip it
Unzip the file into a new empty folder, then open a terminal in that folder:
cd path/to/your-app
Step 3 — Start a git repository
The ZIP has no .gitignore. Before you commit, create one with node_modules/, .expo/ and .env in it, and make sure no file with real keys is in the folder.
git init
git add .
git commit -m "First version from AppX"
Step 4 — Create a repository on GitHub
Go to github.com/new, pick a name, and create the repository. Leave "Add a README" unchecked so the first push has nothing to merge with.
Step 5 — Push
Replace the address with the one GitHub shows for your new repository:
git branch -M main
git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPO.git
git push -u origin main
Your code is now on GitHub.
What the repo looks like
A typical AppX project is a normal Expo app. The files sit at the top level of the ZIP:
app/ <- Expo Router screens
components/ <- Reusable components
constants/ <- Colors and theme
hooks/ <- Custom hooks
app.json <- Expo config
package.json <- Dependencies
tsconfig.json <- TypeScript config
README.md <- How to run the project
.npmrc <- npm settings the project needs
Anyone who clones it can run it locally:
npm install
npx expo start
Because it's a plain Expo project, it works with the rest of your toolchain — pull requests, code review, and any CI you already run.
Updating the repo later
When you change the app in AppX and want the repo to match:
- Download the ZIP again and unzip it.
- Copy the new files over your local folder. Keep the hidden
.gitfolder where it is. - Commit and push:
git add .
git commit -m "Update from AppX"
git push
Changes made in the repository do not flow back into AppX.
A note on secrets
Keep API keys and other secret values out of the repository.