CLI
Installez la CLI, connectez-vous avec une clé API et gérez tout depuis votre terminal.
La CLI Gheima pilote votre compte depuis le terminal : déployer, suivre les logs, gérer les services, les bases de données et le stockage. Elle s’authentifie avec une clé API.
Installer et se connecter#
npm install -g @gheima/cli
gheima logingheima login ouvre votre navigateur pour que vous approuviez la connexion, puis enregistre une nouvelle clé API dans le profil. Sur une machine sans navigateur, ajoutez --no-browser et ouvrez vous-même l’URL affichée. Depuis un script ou un agent de code, où rien ne peut attendre une saisie, lancez gheima login --no-wait --json : la commande affiche le code et l’URL à transmettre à la personne, puis se termine. gheima login --resume attend ensuite l’approbation et enregistre la clé (ajoutez --timeout <secondes> pour revenir plus tard ; la commande sort avec le code 7 tant que la connexion attend). Pour utiliser une clé existante, lancez gheima login --with-key et collez-la (elle commence par gh_). Les clés sont stockées par profil dans ~/.config/gheima/config.json, en mode 600. Pour vous passer de login, définissez la variable d’environnement GHEIMA_API_KEY.
L’authentification se résout dans cet ordre : l’option --key, puis GHEIMA_API_KEY, puis le profil stocké. Utilisez --profile <name> pour garder des clés séparées, par exemple travail et perso. gheima logout supprime un profil.
Options globales#
- -k, --key <key>
- Clé API pour cet appel (prime sur la variable d’environnement et le profil).
- -u, --url <url>
- URL de base de l’API (par défaut https://gheima.ma).
- -p, --profile <name>
- Quel profil stocké utiliser.
- --json
- Afficher du JSON exploitable plutôt qu’un tableau.
- -v, --version
- Afficher la version de la CLI.
Commandes du compte#
- gheima login
- Se connecter via le navigateur, ou avec une clé API existante, et stocker la clé dans un profil.
- gheima logout
- Supprimer un profil stocké.
- gheima whoami
- Afficher le compte de la clé active (nom, slug, plan, type).
- gheima status
- Afficher le compte, le plan et le nombre de services et de bases de données.
- gheima open [resource]
- Ouvrir le tableau de bord (ou un chemin) dans le navigateur.
- gheima completion [shell]
- Imprimer un script de complétion pour bash, zsh ou fish.
Commandes de service#
Les commandes qui prennent un <service> acceptent son id, son nom ou son slug. Les commandes destructrices demandent confirmation, sauf si vous passez -y ou --yes. Dans un shell non interactif, elles refusent de s’exécuter sans cette option.
- gheima services
- Lister les services. Équivaut à services list. Alias : service, svc.
- gheima services get <id>
- Afficher un service en détail.
- gheima services create --name <name> [--project <id>] [--type WEB|WORKER|STATIC] [--repo <url>]
- Créer un service. Le type par défaut est WEB. Sans --project, le service n’est rangé dans aucun projet.
- gheima services delete <id> [-y]
- Supprimer un service.
- gheima github wait [--repo <url>] [--timeout <minutes>]
- Afficher le lien pour installer l’application GitHub de Gheima sur le propriétaire de ce dépôt, et attendre qu’elle soit installée. Un dépôt GitHub privé en a besoin pour être construit ; sortie 7 si --timeout (10 minutes) expire avant.
- gheima link <service>
- Lier ce répertoire à un service. Les commandes lancées ici, ou dans un sous-répertoire, utilisent alors ce service par défaut.
- gheima agents [--write]
- Affiche une courte section pour AGENTS.md qui explique aux agents de code comment ce projet se déploie. --write l'ajoute au fichier en remplaçant une copie précédente.
- gheima deploy [service] [--yes] [--upload] [--name <name>] [--type WEB|WORKER|STATIC] [--no-wait] [--timeout <minutes>]
- Déployer ce dossier, suivre le build et afficher l’URL en ligne. Sort avec 0 si le déploiement est en ligne, 8 s’il échoue. Utilise le service lié si vous l’omettez. Dans un dossier sans service, la commande en crée un et le lie (confirmez avec --yes sans terminal) : construit depuis le remote git s’il y en a un, sinon depuis les fichiers du dossier, envoyés sans les fichiers .env ni node_modules. --upload envoie les fichiers même s’il y a un remote.
- gheima logs <service> [-f] [-b] [-s <text>]
- Afficher ou suivre les logs. -f suit, -b affiche les logs de build, -s filtre par texte.
- gheima run <service> [--timeout <seconds>] [--no-wait] -- <command>
- Exécuter une commande ponctuelle, comme une migration, dans un nouveau conteneur à partir de l’image en ligne du service et de son environnement. Affiche son log et sort avec le code de sortie de la commande, ou 9 si elle n’en a renvoyé aucun. Réservé aux administrateurs. Les mots sont joints puis exécutés par le shell distant : mettez toute la commande entre guillemets quand un argument contient des espaces, par exemple gheima run web -- 'psql -c "select 1"'.
- gheima env ls [service]
- Lister les clés de variables avec valeurs masquées.
- gheima env pull [service] [--file <path>] [-f] [--stdout]
- Écrire les valeurs des variables du service en clair dans .env.local (mode 0600). Les variables secrètes ne peuvent pas être relues et sont omises.
- gheima env push [service] [--file <path>] [--replace] [-y]
- Envoyer un fichier .env au service. Fusionne par défaut ; --replace supprime les variables absentes du fichier.
- gheima env set <service> KEY=value
- Définir une variable d’environnement.
- gheima env rm <service> <key> [-y]
- Supprimer une variable d’environnement.
- gheima domains <service>
- Lister les domaines personnalisés d’un service.
Commandes de ressources#
- gheima db
- Lister les bases de données. Alias : databases.
- gheima storage buckets
- Lister les buckets de stockage objet.
- gheima storage ls <bucket> [prefix]
- Lister les objets d’un bucket.
- gheima storage cp <file> <bucket> [key]
- Téléverser un fichier local via une URL présignée.
- gheima storage get <bucket> <key> [dest]
- Télécharger un objet.
- gheima storage rm <bucket> <key> [-y]
- Supprimer un objet.
- gheima cron
- Lister les tâches cron.
- gheima webhooks
- Lister les webhooks.
gheima services create --name web --type WEB --repo https://github.com/me/app
gheima deploy web
gheima logs web -f -s error
gheima env set web NODE_ENV=production
gheima storage cp ./photo.png my-bucket images/photo.png
gheima services --json | jq '.[].url'✦ La CLI couvre toutes les opérations de l’API : scriptez déploiements, logs et ressources depuis votre shell.