Documentation
How it works
The CapWrap loop: connect GitHub, wrap a website into a phone app, set up the stores, then ship a commit.
Think of CapWrap as a control plane. Your GitHub repo, GitHub Actions, App Store Connect, and Play Console are the engines. CapWrap never copies your whole project onto its own servers to compile iOS. iPhone builds run on GitHub’s Mac machines (your Actions minutes). Android builds run on GitHub’s Linux machines.
The loop
- Sign in with GitHub or Google. That login is only your CapWrap identity.
- Install the CapWrap GitHub App on the repositories you want to ship. This is a second, separate permission — it is how CapWrap can read commits and open pull requests. See How GitHub access works.
- Connect a repo. CapWrap checks whether Capacitor is already in the project (the library that wraps a website in a real iOS / Android shell).
- If it is still a website, tap Add Capacitor. CapWrap opens a pull request. After you merge it, paste a short prompt into Lovable (or Cursor) so the AI finishes native setup. Details: What CapWrap adds to the repo.
- Create the app records on Apple and Google (CapWrap cannot create those yet), then paste API keys in Settings. Step-by-step: Apple and Google.
- Turn on shipping — CapWrap installs a GitHub Actions pipeline. Pipelines.
- On Overview, pick a commit and tap Push to Production. CapWrap starts the pipeline for that exact snapshot of the code (a SHA). Send a build.
Website vs phone app
A Lovable project is a website. A store app is a native container (Capacitor) plus that website packed inside.
| Layer | Who builds it | Where it runs |
|---|---|---|
| Your screens, auth, payments UI | You / Lovable | Inside the app’s web view |
| iOS and Android projects | Capacitor (CapWrap adds them) | On the phone, as a real app |
| Signing, TestFlight, Play upload | CapWrap + GitHub Actions | Apple and Google servers |
Camera, push notifications, and in-app purchases need native plugins. A QR preview in CapWrap does not run those plugins — it is a hosted website of that commit. See Preview a commit.
Store first
Today CapWrap’s job is a signed store build: TestFlight and Play Internal. Live updates (OTA via Capgo) exist in the product later; they are hidden until store shipping is solid.
Recommendation (hint, not a promise)
On Overview, CapWrap compares the commit you picked to the last successful native upload. If only website files changed, a live update would be enough — once that path is on. If native files, plugins, or permissions changed, you need a store build. You always confirm before anything ships.