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#

Shell
npm install -g @gheima/cli
gheima login
Ou sans installation : npx @gheima/cli <command>.

gheima 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.
Shell
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'
Une session typique. Ajoutez --json à n’importe quelle commande pour une sortie structurée.

✦ La CLI couvre toutes les opérations de l’API : scriptez déploiements, logs et ressources depuis votre shell.