Aller au contenu principal

Introduction

La CLI cloudforge est l'outil officiel pour piloter CloudForge depuis le terminal. Elle est écrite en TypeScript, compile vers du Node.js pur (sans runtime externe), et supporte les profils multiples pour basculer entre comptes (perso, pro, CI/CD).

Sans dépendance

Node 18+

MFA TOTP

Login interactif

Profils

~/.cloudforge/

Tokens

Longue durée

Installation

# npm
npm install -g @cloudforge/cli

# pnpm
pnpm add -g @cloudforge/cli

# Vérifier l'installation
cloudforge version

Pré-requis : Node.js 18 ou supérieur. La CLI est aussi disponible en binaire standalone (Linux/macOS/Windows) depuis les releases GitHub.

Login & MFA

Authentification interactive — la CLI crée un profil dans ~/.cloudforge/credentials (permissions 600).

# Login interactif
cloudforge login

# Avec email + URL spécifiés
cloudforge login --email user@example.com \
  --base-url https://cloudforge-ai.pages.dev

# Profil multiple (ex: compte pro)
cloudforge login --profile work

# Vérifier l'identité
cloudforge whoami

# Profils configurés
cloudforge profiles

# Déconnexion
cloudforge logout --profile work
MFA : si le compte a MFA activé, la CLI demande automatiquement le code TOTP à 6 chiffres (ou un backup code au format XXXX-XXXX).

Gestion des projets

# Lister
cloudforge projects list
cloudforge projects list --limit 5

# Créer
cloudforge projects create \
  --name "Mon API" \
  --type api \
  --framework express \
  --description "REST API"

# Supprimer
cloudforge projects delete <id>

Déploiement

# Déclencher
cloudforge deploy <projectId>

# Avec suivi en temps réel
cloudforge deploy <projectId> --watch

Domaines

# Vérifier la disponibilité
cloudforge domains check mon-projet.com

# Lister les domaines enregistrés
cloudforge domains list

Personal Access Tokens

Pour l'authentification en CI/CD, créez un token longue durée via la CLI (token affiché UNE SEULE FOIS — copiez-le immédiatement) :

# Créer un token
cloudforge tokens create \
  --name "CI pipeline" \
  --scopes "projects,deploy" \
  --days 365

# Lister
cloudforge tokens list

# Révoquer
cloudforge tokens revoke <id>

Intégration CI/CD

Exemple GitHub Actions pour déployer automatiquement à chaque push :

# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install CloudForge CLI
        run: npm install -g @cloudforge/cli

      - name: Deploy
        env:
          CLOUDFORGE_TOKEN: ${{ secrets.CLOUDFORGE_TOKEN }}
          CLOUDFORGE_BASE_URL: https://cloudforge-ai.pages.dev
        run: |
          cloudforge deploy ${{ vars.PROJECT_ID }} --watch