Passer à la navigation

Getting Started

GitHub

Vous pouvez utiliser notre configuration assistée par l'IA pour installer Capacitor+. Ajoutez les compétences Capgo à votre outil IA à l'aide de la commande suivante :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Ensuite, utilisez la prompt suivante :

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capacitor-plus/core`, `@capacitor-plus/cli`, `@capacitor-plus/android`, and `@capacitor-plus/ios` packages in my project.

Si vous préférez la configuration manuelle, installez les packages en exécutant les commandes suivantes et suivez les instructions spécifiques à la plateforme ci-dessous :

  1. Installer les packages de base

    Fenêtre de terminal
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. Ajouter les packages de plateforme

    Fenêtre de terminal
    npm install @capacitor-plus/android # for Android
    npm install @capacitor-plus/ios # for iOS
  3. Initialiser Capacitor

    Fenêtre de terminal
    npx cap init
  4. Ajouter des plateformes

    Fenêtre de terminal
    npx cap add android
    Fenêtre de terminal
    npx cap add ios

Passer de l'official Capacitor à __CAPGO_KEEP_1__

Section intitulée “Passer de l'official Capacitor à __CAPGO_KEEP_1__”

Si vous avez un projet Capacitor existant, passer à Capacitor+ est simple :

  1. Supprimer les packages officiels

    Fenêtre de terminal
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Installer Capacitor+ packages

    Fenêtre de terminal
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # if using Android
    npm install @capacitor-plus/ios # if using iOS
  3. Synchroniser votre projet

    Fenêtre de terminal
    npx cap sync

Depuis Capacitor+ est API-compatible, vos code existants fonctionnent sans modifications :

import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
// Check platform
const platform = Capacitor.getPlatform();
console.log('Running on:', platform);
// Check if native
if (Capacitor.isNativePlatform()) {
console.log('Running on native platform');
}
// Register a custom plugin
const MyPlugin = registerPlugin('MyPlugin');

Tous les plugins officiels Capacitor fonctionnent de manière fluide :

import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
import { Storage } from '@capacitor/preferences';
// Camera
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri
});
// Geolocation
const position = await Geolocation.getCurrentPosition();
// Storage
await Storage.set({ key: 'name', value: 'John' });

Les plugins Capgo fonctionnent parfaitement avec Capacitor+:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updates
await CapacitorUpdater.notifyAppReady();
// Screen orientation
await ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlight
await CapacitorFlash.toggle();
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
  1. Synchronisation quotidienne: GitHub Actions récupèrent les dernières modifications depuis ionic-team/capacitor
  2. Création de PR: Les modifications sont proposées sous forme de demandes de tirage vers le plus Branchement
  3. Validation CI: Tout le jeu de tests est exécuté (lint, tests unitaires, build iOS, build Android)
  4. Révision de sécurité: L'analyse alimentée par l'IA vérifie les vulnérabilités et les changements brisants
  5. Mise automatique à jour: Seulement si la CI passe ET la révision de sécurité approuve
  6. Publier automatiquement: Nouvelle version publiée sur npm sous @capacitor-plus/*

Tout synchronisme upstream est analysé pour :

VérifierCe qu'il attrape
SécuritéInjection de commandes, XSS, parcours de chemins, secrets fixés
Changements de ruptureAPIs supprimées/renommées, signatures modifiées, modifications de la configuration
StabilitéNull références, exceptions non gérées, conditions de course, fuites de mémoire
Sécurité des donnéesScénarios de perte de données, violations de la vie privée, stockage non sécurisé
Code Intégritécode obscurci, appels réseau suspects, backdoors

Avez-vous un PR bloqué dans le référentiel officiel Capacitor ? Faites-le fusionner en Capacitor+:

  1. Ouvrir une issue dans le Capacitor+ repo lié à votre PR upstream

  2. Ou soumettre directement comme un PR à la plus branch

  3. L'équipe passera en revue, exécutera la CI, et mergera si cela passe

De cette façon, vous et les autres pouvez bénéficier de votre travail immédiatement sans attendre le cycle de mise à jour upstream.

Oui. Capacitor+ est utilisé dans les applications de production. Chaque mise à jour passe le même ensemble de tests que le Capacitor officiel, plus une analyse de sécurité supplémentaire.

Mes plugins officiels fonctionneront-ils toujours ?

Section intitulée « Mes plugins officiels fonctionneront-ils toujours ? »

Oui. Tous les @capacitor/* plugins fonctionnent avec Capacitor+ sans nécessiter de modifications.

Quoi se passe si les développeurs upstream publient une mise à jour de rupture ?

Section intitulée « Quoi se passe si les développeurs upstream publient une mise à jour de rupture ? »

La revue de sécurité par l'IA détecte les mises à jour de rupture pour examen manuel. Vous verrez les changements documentés avant qu'ils ne soient fusionnés.

Signalez des problèmes sur le Capacitor+ GitHub repo. Pour les problèmes qui affectent également le Capacitor officiel, nous coordonnerons l'amont.

Absolument ! Les PR sont les bienvenus. Vous pouvez soumettre des correctifs directement ou demander que des PR spécifiques soient fusionnés.

Si vous utilisez Getting Started pour planifier le travail de plugin natif, connectez-le avec Utilisation de Capacitor+ (@capacitor-plus) Packages pour la capacité native dans l'Utilisation de Capacitor+ (@capacitor-plus) Packages, Capgo Répertoire des plugins pour le flux de travail du produit dans le Répertoire de Plugin Capgo, Capacitor Plugins par Capgo pour le détail d'implémentation dans Capacitor Plugins par Capgo, Ajouter ou Mettre à Jour les Plugins pour le détail d'implémentation dans Ajouter ou Mettre à Jour les Plugins, et Alternatives de Plugin d'Entreprise Ionic pour le flux de travail du produit dans Alternatives de Plugin d'Entreprise Ionic.