Vue d'ensemble du CLI
Un seul binaire pour déployer, gérer et surveiller vos apps depuis le terminal.
Qu'est-ce que le CLI sh0
Le CLI sh0 est un binaire autonome qui communique avec votre serveur sh0 via son API REST. Il fournit 30+ commandes pour tout ce que vous pouvez faire dans le tableau de bord -- déploiements, logs, scaling, variables d'environnement, tâches cron, templates et plus.
Il fonctionne depuis n'importe quelle machine : votre laptop, un runner CI ou un serveur distant. Authentifiez-vous une fois avec sh0 login et vous êtes prêt.
Installation
Une commande, aucune dépendance. Supporte Linux et macOS sur x64 et ARM64.
curl -fsSL https://get.sh0.dev | bashLe script détecte votre OS et architecture, télécharge le bon binaire depuis les GitHub Releases et le place dans /usr/local/bin/sh0. Voir Installation pour le téléchargement manuel et les options de configuration.
Quatre workflows principaux
1. Push Deploy
Déployez directement depuis un répertoire local. Le CLI détecte votre stack, téléverse les fichiers, construit un conteneur et retourne une URL en ligne -- le tout en une seule commande.
sh0 init # Optional: detect stack, create .sh0ignore
sh0 push # Deploy to live URLLe premier push crée une nouvelle app. Les pushes suivants la mettent à jour. Le lien est stocké dans .sh0/link.json pour que le CLI sache quelle app mettre à jour. Utilisez sh0 link <app> pour connecter un répertoire à une app existante. Voir Push Deploy pour le guide complet.
2. Mode surveillance
Pour les workflows de développement, sh0 watch surveille votre projet pour les changements de fichiers et relance automatiquement le push après un délai de debounce configurable (défaut : 2 secondes).
sh0 watch # Watch current directory
sh0 watch --debounce 3000 # 3s debounceRespecte les patterns .sh0ignore. Appuyez sur Ctrl+C pour arrêter.
3. Gestion du déploiement Git
Pour les apps connectées à un dépôt Git, le CLI vous permet de déclencher des déploiements, gérer les variables d'environnement, configurer les domaines et contrôler le cycle de vie de l'app :
sh0 deploy myapi --wait
sh0 env myapi set DATABASE_URL="postgres://..."
sh0 domains myapi add api.example.com
sh0 restart myapi4. Surveillance et opérations
Diffusez les logs, vérifiez le statut, accédez aux conteneurs par SSH, gérez les tâches cron et contrôlez le cycle de vie des apps -- le tout sans quitter votre terminal :
sh0 logs myapi --follow --tail 50
sh0 status
sh0 ssh myapi -- ls /app
sh0 restart myapi
sh0 open myapi # Open in browser
sh0 cron lsErgonomie développeur
Le CLI inclut des commandes pour fluidifier votre workflow quotidien :
sh0 init-- Détecter votre stack et générer un fichier.sh0ignoreavec les patterns appropriéssh0 link <app>-- Connecter un répertoire local à une app existante pour les futurs pushessh0 open [app]-- Ouvrir l'URL de l'app dans votre navigateur par défautsh0 config show|set|get-- Afficher et gérer la configuration CLI (URL du serveur, jeton)sh0 restart|stop|start|delete-- Contrôle complet du cycle de vie des apps depuis le terminalsh0 domains <app> list|add|remove-- Gérer les domaines personnalisés pour toute app
CLI vs tableau de bord
Le CLI et le tableau de bord sont complémentaires. Les deux utilisent la même API REST et ont une parité fonctionnelle complète.
| Scénario | Meilleur choix |
|---|---|
| Déploiement rapide depuis un projet local | sh0 push |
| Intégration pipeline CI/CD | CLI avec sortie --json |
| Vue d'ensemble visuelle des stacks et ressources | Tableau de bord |
| Déploiements de templates en un clic | Tableau de bord |
| Diffusion de logs pendant le débogage | sh0 logs --follow |
| Changements de variables d'env en masse | Scripting CLI |
--json pour une sortie lisible par machine. Redirigez vers jq, alimentez des scripts ou intégrez avec tout outil d'automatisation.