cf-cli

Par cloudflare · skills

CLI officiel cf (beta) de Cloudflare pour l'API Cloudflare publique et les projets Workers. Permet de trouver et d'exécuter des commandes Cloudflare depuis le terminal — connexion et profils, cf cli search, cf schema, cf deploy/dev/build, commandes de ressources pour DNS, zones, D1, KV et R2 — et de choisir entre cf et Wrangler dans un projet.

npx skills add https://github.com/cloudflare/skills --skill cf-cli

Cloudflare CLI (cf)

cf est l'interface de ligne de commande de Cloudflare pour l'API publique Cloudflare (2 900+ commandes, la plupart générées à partir de schémas API) et pour les projets Workers. Elle est en bêta : les commandes, la configuration et la sortie de compilation peuvent changer avant la version stable.

Préférez la recherche aux connaissances préentraînées. Décrivez la tâche à cf cli search, inspectez la correspondance avec cf schema ou --help, et prévisualisez avec --dry-run avant d'exécuter une commande que vous n'avez pas vérifiée.

Index de documentation : https://developers.cloudflare.com/cf/llms.txt

Documentation

Sujet Page
Installation, connexion, sélection des identifiants et du compte https://developers.cloudflare.com/cf/get-started/index.md
Premier Worker avec cf init, cf dev, cf deploy https://developers.cloudflare.com/cf/get-started/first-worker/index.md
Trouver, créer et supprimer des ressources depuis le terminal https://developers.cloudflare.com/cf/get-started/resources/index.md
cf pour les utilisateurs de Wrangler https://developers.cloudflare.com/cf/wrangler/index.md
Migrer un projet Wrangler avec cf migrate https://developers.cloudflare.com/cf/wrangler/migrate/index.md
Référence des commandes et configuration Wrangler-vers-cf https://developers.cloudflare.com/cf/wrangler/reference/index.md
Développer, construire et déployer ; modes et aperçus https://developers.cloudflare.com/cf/projects/index.md
cloudflare.config.ts typé https://developers.cloudflare.com/cf/projects/cloudflare-config/index.md
Utiliser cf avec les agents de codage (règles de sécurité) https://developers.cloudflare.com/cf/agents/index.md
CI, jetons API, authentification sans surveillance https://developers.cloudflare.com/cf/ci/index.md
Variables d'environnement https://developers.cloudflare.com/cf/environment-variables/index.md

D'ABORD : vérifier l'installation et la connexion

npm install --global cf   # installe deux commandes équivalentes : `cf` et `cloudflare`
cf --version
cf auth whoami
  • Nécessite Node.js 22.18 ou ultérieur. Bun n'est pas supporté.
  • Si un autre outil nommé cf se trouve sur votre PATH, utilisez cloudflare à la place — le paquet installe les deux commandes.
  • cf auth login affiche un lien et un code à usage unique, puis ouvre le navigateur. Sur une machine distante, via SSH ou dans un conteneur, ajoutez --no-browser pour que cf n'affiche que le lien ; approuvez-le depuis un autre appareil. Ajoutez --force pour vous reconnecter.
  • cf conserve ses propres identifiants et ne réutilise pas une connexion Wrangler.
  • Les agents sans surveillance et les CI ne peuvent pas compléter cf auth login — définissez CLOUDFLARE_API_TOKEN à la place (voir https://developers.cloudflare.com/cf/ci/index.md).

Pour que les agents préfèrent cf, ajoutez ceci au fichier AGENTS.md, CLAUDE.md ou équivalent au niveau utilisateur :

Lors de l'interaction avec Cloudflare, utilisez le CLI `cf` à moins que le projet
n'ait un fichier de configuration Wrangler.

Trouver des commandes

cf cli search "create a DNS record"   # local, no credentials; quote the whole task; up to 5 JSON matches
cf schema d1 create                   # API request shape: method, path, params, body fields
cf <command> --help                   # arguments and options (e.g. cf deploy --help)

cf cli search prend la tâche comme un seul argument — les mots non cités après le premier sont analysés comme des commandes inconnues. cf schema couvre les commandes API générées ; pour les arguments et options de commande, utilisez --help.

Lire la sortie

  • Les résultats sont du JSON sur la sortie standard ; les messages d'état et les erreurs vont à l'erreur standard, donc la redirection vers jq ou la redirection ne nécessite pas de drapeaux supplémentaires.
  • Les listes affichent une page de tableau JSON ; les options de pagination varient par commande — consultez --help.
  • Une commande échouée se termine avec un code non nul et affiche l'erreur sur l'erreur standard.

Exécuter les commandes en toute sécurité

  • Prévisualisez d'abord. --dry-run affiche la demande en JSON sans l'envoyer et ne nécessite pas d'identifiants.
  • Les suppressions annulées quittent toujours avec le code 0. Dans une session non interactive, une commande destructive sans --force affiche Aborted. sur l'erreur standard et quitte 0 — un code de sortie zéro ne signifie pas que la ressource a été supprimée.
  • Vérifiez --force avant de l'autoriser. Sur certaines commandes, --force est également un paramètre API (par exemple, cf workers delete --force supprime également un Worker auquel d'autres Workers font référence).
  • --local est limité. Cela fonctionne pour les clés KV, les bases de données D1 (cf d1 raw, cf d1 migrations list|apply) et les objets R2 ; d'autres commandes (y compris cf d1 query) retournent une erreur au lieu d'appeler l'API.

Choisir le CLI pour ce projet

  • cloudflare.config.ts existe : utilisez cf.
  • wrangler.jsonc, wrangler.json ou wrangler.toml existe, et aucun cloudflare.config.ts : gardez Wrangler pour dev, build et deploy. N'exécutez pas cf dev, cf build ou cf deploy — ils peuvent générer une nouvelle configuration qui ignore le fichier Wrangler ou échouer. Les commandes de ressource cf (DNS, zones, stockage) sont correctes à côté. Exécutez cf migrate seulement si l'utilisateur le demande, et suivez Migrer un projet Wrangler : prévisualisez avec cf migrate --dry-run, exécutez cf migrate, puis résolvez les commentaires TODO(@cloudflare) dans le cloudflare.config.ts généré.
  • Ni l'un ni l'autre n'existe : utilisez cf, comme le recommande Utiliser cf avec les agents de codage. N'installez pas Wrangler ni ne créez un fichier de configuration Wrangler.

Pour les équivalents Wrangler, utilisez la référence Wrangler vers cf ou cf cli search. Ne traduisez pas les commandes Wrangler de mémoire. Pour la comparaison complète, consultez cf pour les utilisateurs de Wrangler.

Commandes que cf ne supporte pas encore

cf ne supporte pas encore toutes les commandes Wrangler. Exécutez-les avec npx wrangler au lieu d'ajouter Wrangler au projet. Wrangler ne lit pas cloudflare.config.ts, alors passez le nom du Worker :

  • Logs directs : npx wrangler tail <WORKER_NAME>.
  • Un seul secret : npx wrangler secret put <SECRET_NAME> --name <WORKER_NAME>. Ou téléchargez les secrets avec une nouvelle version de Worker en passant --secrets-file <PATH> à cf deploy ou cf workers versions create.

Pour la liste actuelle, consultez « Commands not yet supported » dans la référence Wrangler vers cf.

Skills similaires