Automatisation
Exécutez la CLI dans CI avec une clé API et laissez un agent la piloter en toute sécurité.
Dans CI
Utilisez une clé API plutôt qu’une connexion OAuth : la clé appartient à l’espace de travail et n’expire pas lorsqu’une personne le quitte.
export ATELIER201_API_KEY="atelier201_live_..."
atelier201 site push --build --waitLimitez les autorisations aux scopes strictement nécessaires à la tâche. Un job qui crée un build et un aperçu a besoin de sites:write. N’accordez pas sites:publish : le job ne pourra pas modifier ce que voient les visiteurs et une fuite du journal ne risque pas de mettre quoi que ce soit en ligne.
Dans un script, publish nécessite --yes et sites delete nécessite --confirm <slug>. Sans ces options, la commande se termine avec le code 2, n’effectue aucune modification et affiche la commande exacte à relancer.
Avec un agent
atelier201 help --jsonhelp --json affiche dans un seul document lisible par machine l’arborescence complète des commandes, les codes de sortie, la politique de nouvelle tentative et le format des erreurs. Un agent qui le consulte d’abord n’a pas à deviner les options.
Utilisez atelier201 help files read --json pour examiner une seule commande, ou
atelier201 help --operation readSiteFile --json pour consulter ses schémas REST complets et son mappage CLI/MCP. La découverte fonctionne hors ligne, sans identifiants. Le contrat fourni décrit la version installée de la CLI; l’OpenAPI en direct et la ressource MCP décrivent l’API déployée. Consultez la couverture des opérations.
Nouvelles tentatives
La CLI réessaie les commandes après une réponse 429. Elle ne réessaie les réponses 408 et 5xx que pour les lectures (GET, HEAD et OPTIONS). Une écriture qui échoue avec une réponse 5xx est signalée, sans nouvelle tentative, car elle a peut-être déjà été appliquée. Relisez le site avant de réessayer vous-même. Un en-tête Idempotency-Key n’active pas les nouvelles tentatives automatiques pour les écritures. Si Retry-After dépasse 60 secondes, la CLI renvoie l’erreur et les détails nécessaires pour la résoudre, plutôt que de réessayer trop tôt ou d’attendre indéfiniment. Les erreurs réseau et les délais d’attente ne donnent lieu à aucune nouvelle tentative. Désactivez les nouvelles tentatives avec --no-retry.