Outils

Interface CLI

Gérez vos projets ash-gate depuis le terminal : init, clés, génération de code.

CLI wallet

La CLI wallet est l'outil de développement de l'écosystème ash-wallet. Elle connecte votre terminal à votre compte ash-gate.


Installation

npm install -g @ash-wallet/cli

Vérifiez que l'installation a réussi :

wallet --version
# 3.0.0

Authentification

wallet auth login
# → Ouvre un navigateur pour vous connecter
# → Stocke le token dans ~/.wallet/credentials.json

wallet auth status
# Connecté en tant que : alexis@example.com

Gestion de Projets

# Lister vos projets
wallet project list
# ┌─────────────────────┬──────────────┬──────────┐
# │ Nom                 │ Environnement│ Statut   │
# ├─────────────────────┼──────────────┼──────────┤
# │ mon-app-mobile      │ sandbox      │ Actif    │
# │ mon-saas-prod       │ live         │ Actif    │
# └─────────────────────┴──────────────┴──────────┘

# Créer un nouveau projet
wallet project create mon-app

# Sélectionner le projet actif
wallet project use mon-app
# Projet actif : mon-app

Configurer les Clés d'API

# Ajouter les clés sandbox et live d'un coup
wallet keys set \
  --sandbox sk_sandbox_xxxxxxxxxxxxxxxx \
  --live    sk_live_xxxxxxxxxxxxxxxx

# Voir les clés configurées (masquées)
wallet keys list
# Sandbox : sk_sandbox_xxx***** (Configuré)
# Live    : sk_live_xxx***** (Configuré)

# Récupérer votre Project Key (pour l'embarquer dans l'app)
wallet keys show --public
# pk_sandbox_xxxxxxxxxxxxxxxx

Initialiser un Projet Existant

La commande init détecte votre framework et configure tout automatiquement :

cd mon-projet-flutter
wallet init
Détection du framework...
   → Flutter détecté (pubspec.yaml trouvé)

Installation de feda_flutter...
   → flutter pub add feda_flutter

Configuration...
   → Création de wallet.yaml
   → Injection de FedaFlutter.applyCloudConfig() dans main.dart

Projet initialisé !
   Project Key : pk_sandbox_xxx
   Proxy URL   : https://app.ashgateway.com

Génération de Code

# Générer un widget de paiement complet
wallet generate widget
# → Crée lib/widgets/payment_button.dart

# Générer un service d'abonnement
wallet generate subscription-service
# → Crée lib/services/subscription_service.dart

# Générer un guard de sécurité (middleware)
wallet generate guard
# → Crée lib/guards/subscription_guard.dart

Environnements

# Basculer en mode sandbox
wallet env use sandbox
# Environnement actif : sandbox

# Basculer en mode live (production)
wallet env use live
# Environnement actif : live

# Voir l'environnement actuel
wallet env status

Plans SaaS (Billing)

# Créer les plans par défaut (Basic / Pro / Business)
wallet billing seed

# Lister vos plans
wallet billing plans list

# Créer un plan custom
wallet billing plans create \
  --name "Pack Starter" \
  --amount 2500 \
  --interval monthly \
  --trial-days 7

Suivant : Concepts de Base ->