Votre client veut un bouton unique dans Lovable pour déployer les changements auprès de chaque utilisateur actif. Vous avez déjà prouvé que le flux de mise à jour fonctionne manuellement :
npx @capgo/cli@latest bundle upload --channel=production --auto-bump
Ce qu'il manque, ce n'est pas une commande terminal supplémentaire dans Lovable. Lovable cannot run Capgo on Publish. Lorsque la synchronisation GitHub est activée, Publish en pousse un commit vers votre repo. GitHub Actions lance le build et bundle upload pour vous.
Ce guide détaille la seule configuration manuelle que votre client doit effectuer une fois : ajouter CAPGO_TOKEN en tant que secret GitHub. Pour le fichier workflow, copiez-collez l'instruction IA prête à l'emploi dans Lovable (Étape 3).
Fonctionnement du pipeline
| Étape | Qui | Ce qu'il se passe |
|---|---|---|
| 1 | Client | Modifie l'app dans Lovable et clique sur Publier |
| 2 | Lovable | Commits et pushes vers GitHub (généralement main) |
| 3 | GitHub Actions GitHub | npm ci, npm run build, bundle upload --auto-bump vers Capgo |
| 4 | Capgo | Appareils actifs sur le production canal reçoivent la mise à jour |
Pas de SSH, pas de CLI local, aucun clic supplémentaire une fois le secret configuré.
Prerequisites
- Projet Lovable connecté à GitHub (guide d'export)
- Capacitor +
@capgo/capacitor-updaterdans le repo (Guide Lovable vers le mobile) - App enregistrée dans Capgo avec
capacitor.config.tspointant vers le bonappId productioncanal existe et est lié aux builds que vos utilisateurs exécutent
Pourquoi --auto-bump
Chaque upload Capgo nécessite une nouvelle version de bundle unique. Lovable Publish n'incrémente pas package.json pour vous, la CI échouerait donc au second déploiement si vous réutilisez la même version.
--auto-bump lit la dernière version du canal (ou de l'app) et l'incrémente. Le niveau par défaut est minor. Vous pouvez passer --auto-bump patch ou --auto-bump major si vous préférez.
Étape 1 — Créer une clé Capgo API
- Ouvrir console.capgo.app/apikeys/
- Créer une clé API avec la permission d'envoyer des bundles pour votre app
- Copiez la clé une seule fois. Vous ne pourrez plus en voir la valeur complète.
Traitez cette clé comme un mot de passe. Ne la commit jamais sur Git et ne la collez pas dans le chat Lovable.
Étape 2 — Ajouter CAPGO_TOKEN dans GitHub (la seule étape d'env variable)
C'est l'étape que vous envoyez à Kuldeep et à tout client propriétaire du repo.
- Ouvrez le repository GitHub synchronisé avec Lovable
- Accéder à Paramètres → Secrets et variables → Actions
- Cliquez Nouveau secret de repository
- Nom :
CAPGO_TOKEN - Valeur : collez la clé Capgo API de l'étape 1
- Enregistrer
GitHub injecte le secret dans les workflows en tant que ${{ secrets.CAPGO_TOKEN }}. Le workflow ci-dessous le lit comme la CAPGO_TOKEN variable d'environnement pour le Capgo CLI.
Si le repo appartient à l'organisation de votre client, celui-ci doit ajouter le secret sur son repo. Vous n'avez besoin que de la clé de GitHub, pas des paramètres Lovable.
Étape 3 — Collez ce prompt dans Lovable
Copiez le bloc ci-dessous dans le chat Lovable. Si votre branche par défaut n'est pas main, remplacez main dans le workflow par le nom de votre branche.
Add Capgo Live Updates CI with GitHub Actions.
Create `.github/workflows/capgo-live-updates.yml` (create folders if needed). Start from this YAML, then adapt install/build to this project while keeping Capgo upload + CAPGO_TOKEN secret behavior:
name: Capgo Live Updates
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'npm'
- name: Install and build
run: |
npm ci
npm run build
- name: Upload bundle to Capgo
run: npx @capgo/cli@latest bundle upload --channel=production --auto-bump
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
Rules:
- Do not hardcode any Capgo API key in the repo or in chat.
- The workflow must read CAPGO_TOKEN only from GitHub Actions secrets (`${{ secrets.CAPGO_TOKEN }}`).
- Keep `--auto-bump` on the upload command so each Publish gets a new unique bundle version.
- Prefer the project's real production build script from package.json (for example `npm run build` or `vite build`).
- If package-lock.json is missing, use `npm install` instead of `npm ci`.
- Do not modify app UI or Capacitor config for this task.
- Commit the workflow file so the next Publish pushes it to GitHub.
Une fois que Lovable a appliqué le changement, cliquez sur Publier pour que le workflow cible GitHub.
Alternative manuelle
Si vous préférez ne pas utiliser le chat Lovable, créez .github/workflows/capgo-live-updates.yml avec ce YAML uniquement (pas le texte du prompt). Adaptez les étapes d'install/build de la même manière que les règles ci-dessus si votre projet diffère, puis effectuez un commit et un push.
name: Capgo Live Updates
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'npm'
- name: Install and build
run: |
npm ci
npm run build
- name: Upload bundle to Capgo
run: npx @capgo/cli@latest bundle upload --channel=production --auto-bump
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
Vite base chemin : Les apps Vite de Lovable nécessitent souvent base: './' dans vite.config.ts pour que les assets se chargent dans le shell natif. Si les utilisateurs voient un écran blanc après une mise à jour OTA, demandez à Lovable de définir base: './', publiez à nouveau et laissez le workflow redéployer.
Bundles chiffrés : Si vous utilisez chiffrement Capgo, ajoutez CAPGO_PRIVATE_KEY comme second secret GitHub et passez --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" à l'étape de l'upload.
Étape 4 — Vérifier que Publish déclenche un déploiement
- Dans Lovable, effectuez un petit changement visible (par exemple le texte d'un bouton)
- Cliquez Publier
- Sur GitHub, ouvrez Actions et surveillez Capgo Live Updates
- Lorsque le job est au vert, ouvrez votre console Capgo et confirmez la présence d'un nouveau bundle sur le
productioncanal - Sur un appareil où l'app est installée, confirmez que le changement arrive (cela peut prendre une minute selon les paramètres du canal)
✅ Succès : Publier dans Lovable → Action GitHub verte → nouveau bundle dans Capgo → les utilisateurs reçoivent la mise à jour.
Troubleshooting
| Symptôme | Cause probable | Corriger |
|---|---|---|
| Le workflow ne s'exécute jamais | Le push est allé sur une branche autre que main |
Modification branches dans le workflow ou publier sur main |
CAPGO_TOKEN / erreur d'auth |
Secret manquant ou nom incorrect | Le secret doit être exactement CAPGO_TOKEN sous les secrets Actions |
| La version existe déjà | L'upload a réutilisé la même version de bundle | Conservez --auto-bump lors de l'étape d'upload (ou passez --auto-bump patch) |
Échec du build sur npm ci |
Lockfile désynchronisé | Exécutez npm install en local, commit package-lock.json, republier |
| L'upload réussit, mais l'écran est blanc | Incorrect webDir ou Vite base |
Match capacitor.config.ts webDir avec le build de sortie (dist pour Vite) et définir base: './' |
| Les utilisateurs ne voient pas la mise à jour | Le canal n'est pas lié à leur build | Dans Capgo, liez le build de l'appareil à production ou réglez le canal sur public |
Pour d'autres modèles de workflow (feature branches, canaux PR, chiffrement), consultez Intégration GitHub Actions.
Ce que vous dites à votre client
Envoyez-lui cette checklist :
- Vous avez déjà connecté Lovable à GitHub et configuré Capgo sur l'application mobile.
- Ils ajoutent un secret GitHub :
CAPGO_TOKENavec leur clé Capgo API (page apikeys). - Ils cliquer Publier dans Lovable dès qu'ils veulent que les utilisateurs reçoivent les changements.
- Ils n'exécutent jamais
npx @capgo/clien local, sauf s'ils le souhaitent.
Cela correspond à l'expérience en un clic qu'ils demandaient : Publish dans Lovable, c'est le bouton ; GitHub Actions et Capgo s'occupent du reste.
Continuer
- Convertir Lovable en iOS et Android — Configuration complète Capacitor + Capgo si l'app n'est pas encore wrappée
- Build et release automatiques avec GitHub Actions — Tag-based releases and version bumps
- Intégration GitHub Actions — Canaux multiples et canaux de preview par PR
- Capgo Live Updates — Canaux, rollbacks et stats d'adoption