cf: το νέο CLI της Cloudflare που δεν μαντεύει flags
Το cf είναι νέο εργαλείο γραμμής εντολών της Cloudflare, φτιαγμένο για πράκτορες: 128 εντολές πρώτου επιπέδου, έξοδος σε JSON από προεπιλογή και αναζήτηση εντολών με φυσική γλώσσα, ώστε ο πράκτορας να βρίσκει τη σωστή εντολή αντί να τη μαντεύει. Είναι ξεχωριστό πρόγραμμα με δικό του όνομα, όχι επέκταση του Wrangler. Στη δοκιμή μας η εγκατάσταση με καρφιτσωμένη έκδοση πήρε 13 δευτερόλεπτα και έπιασε 169 MB, η λίστα των εντολών βγήκε 17.160 bytes, και μία λανθασμένη εντολή απάντησε «Did you mean namespaces?» με κωδικό εξόδου 1. Το project είναι πέντε εβδομάδων, με 970 αστέρια και 96 ανοιχτά ζητήματα.

Τι κάνει
Όποιος έχει βάλει πράκτορα να δουλέψει πάνω στο Cloudflare ξέρει το μοτίβο: του ζητάς κάτι απλό, εκείνος γράφει μια εντολή από μνήμη, και η εντολή σκάει.
Δοκίμασα το λάθος με τα χέρια μου, με σύνταξη που έχουν μάθει όσοι δουλεύουν Wrangler, στον ενικό:
cf kv namespace listΤο cf δεν έβγαλε ακατανόητο σφάλμα. Τύπωσε τη λίστα των δικών του υποεντολών, με τη λέξη namespaces στον πληθυντικό, και τη γραμμή «Did you mean namespaces?». Κωδικός εξόδου 1. Η εντολή απέτυχε, αλλά το εργαλείο είπε ποια είναι η σωστή.
Αυτή είναι η ταυτότητα του cf: εργαλείο γραμμής εντολών της Cloudflare, φτιαγμένο για χρήστη που δεν είναι άνθρωπος αλλά πράκτορας — πρόγραμμα τεχνητής νοημοσύνης που εκτελεί εντολές για λογαριασμό σου. Το Claude Code, το Codex CLI και το Cursor είναι τέτοια προγράμματα.
Τρία πράγματα υπηρετούν την απόφαση να μη μαντεύει. Πρώτο, η ανακάλυψη: το cf cli search δέχεται φυσική γλώσσα και απαντά σε JSON με όνομα εντολής και σύνοψη — ρώτησα «kv namespace» και πήρα τις σωστές εντολές, στη σωστή μορφή πληθυντικού, σε 488 bytes. Δεύτερο, η δομημένη έξοδος: JSON από προεπιλογή, ώστε ο πράκτορας να φιλτράρει πεδία αντί να μαντεύει στήλες. Υπάρχει και σημαία που δείχνει το αίτημα πριν φύγει. Τρίτο, η βοήθεια σε στρώσεις: 17.160 bytes η πλήρης λίστα με 128 εντολές πρώτου επιπέδου, 1.470 bytes ένα υποσύστημα.
Μία λεπτομέρεια μπερδεύει: το cf δεν είναι διακομιστής MCP, δηλαδή δεν δηλώνεται σε αρχείο ρυθμίσεων ως πηγή εργαλείων· είναι πρόγραμμα που το τρέχεις. Η εντολή cf mcp αφορά τις πύλες MCP του Cloudflare Access, δηλαδή ξένους διακομιστές.
Γιατί νέο όνομα αντί για επέκταση του Wrangler; Ο κατασκευαστής το εξηγεί ως σχεδιαστική απόφαση: το Wrangler χτίστηκε εντολή-εντολή, κάθε ομάδα προϊόντος με τη δική της συνήθεια, φτάνοντας περίπου τις 280 διαδρομές εντολών με άνιση ορολογία. Με νέο όνομα, η ομάδα ξεφεύγει από ό,τι έχουν μάθει τα μοντέλα για το Wrangler. Όταν ένα εργαλείο αλλάζει, το ακριβό σημείο είναι οι παλιές συνήθειες.
Στο GitHub το αποθετήριο έχει 970 αστέρια, 61 forks και 96 ανοιχτά ζητήματα, με άδεια Apache-2.0· δημιουργήθηκε στις 21 Σεπτεμβρίου 2026 και το τελευταίο push είναι σήμερα, 30 Οκτωβρίου 2026 (αποθετήριο). Στο npm η τελευταία έκδοση είναι η 1.0.0-beta.26, στις 29 Οκτωβρίου 2026, 20:18 UTC, με άδεια MIT OR Apache-2.0 (πακέτο). Το μητρώο έχει 49 εκδόσεις, οκτώ μέσα σε δέκα μέρες.
Για ποιον είναι
Για όποιον αγγίζει το Cloudflare μέσα από πράκτορα ή σενάριο αυτοματισμού.
Ο ερασιτέχνης κερδίζει πρώτο βήμα χωρίς λογαριασμό: βοήθεια, αναζήτηση και τοπικές δοκιμές δουλεύουν χωρίς κλειδιά — στη δοκιμή μας, εντολή με τη σημαία τοπικής προσομοίωσης απάντησε σε 1,70 δευτερόλεπτα χωρίς κανένα διαπιστευτήριο.
Ο επαγγελματίας κερδίζει έξοδο που τη διαβάζει μηχανή, με λιγότερα σύμβολα, και τη δυνατότητα να δει το αίτημα πριν φύγει προς το API.
Δεν είναι για σένα αν έχεις ώριμο project σε Wrangler: η συντήρησή του συνεχίζεται δεκαοκτώ μήνες μετά το τέλος της beta, και μία τελευταία μεγάλη έκδοση θα δείχνει προς το cf (ανακοίνωση). Ούτε αν θέλεις σταθερότητα πάνω από όλα: η έκδοση έχει τη λέξη beta στο όνομά της και το project είναι πέντε εβδομάδων.
Εγκατάσταση
Η εγκατάσταση γίνεται με npm, από οποιονδήποτε φάκελο. Προϋπόθεση: Node σε μία από τις σειρές ^22.23.0, ^24.22.0 ή ^26.12.0. Είναι στενό παράθυρο· έξω από αυτό το npm τυπώνει προειδοποίηση EBADENGINE και συνεχίζει, όπως είδαμε στην εκτέλεση.
npm install -g cf@1.0.0-beta.26Γιατί το pin δεν είναι λεπτομέρεια
Με σκέτο cf δεν παίρνεις την beta.26 αλλά την 0.15.0, της 25 Σεπτεμβρίου 2026. Το tag latest του μητρώου δείχνει στην beta.26, αλλά το σκέτο cf δεν το ακολουθεί: το npm διαλέγει τη νεότερη σταθερή και προσπερνά τις προεκδόσεις. Δοκίμασα και τις δύο διαδρομές — με σκέτο cf μπαίνει η 0.15.0, με cf@latest μπαίνει η beta.26.
Με pin: 169 MB, 2.340 αρχεία, 31 πακέτα, σε 13 δευτερόλεπτα. Χωρίς pin: 293 MB, 2.450 αρχεία, 34 πακέτα. Σχεδόν διπλάσιο βάρος, παλιότερη γραμμή κώδικα. Για CI, την αλυσίδα που χτίζει και δοκιμάζει τον κώδικά σου, αυτό σημαίνει ότι χωρίς pin η αλυσίδα καρφώνεται σε άλλη έκδοση από αυτή που δοκίμασες.
Το σενάριο εγκατάστασης του workerd
Το workerd προσομοιώνει τοπικά το περιβάλλον εκτέλεσης των Workers και έρχεται με σενάριο εγκατάστασης, κώδικα που τρέχει μετά το κατέβασμα του πακέτου. Το npm 11 δεν εκτελεί τέτοια σενάρια χωρίς έγκριση, για λόγο ασφαλείας, και τυπώνει τη γραμμή «npm warn install-scripts 1 package has install scripts not yet covered by allowScripts».
Η διαδρομή που προτείνει το ίδιο το npm είναι να δώσεις την έγκριση την ώρα της εγκατάστασης:
npm install -g cf@1.0.0-beta.26 --allow-scripts=workerdΤη δοκίμασα: η προειδοποίηση φεύγει, το βάρος μένει 169 MB και τα πακέτα 31. Παγίδα που δεν τη λένε όλοι οι οδηγοί: το npm install-scripts approve workerd δουλεύει σε τοπικά project αλλά όχι σε καθολικές εγκαταστάσεις, όπου αποτυγχάνει με σφάλμα EGLOBAL. Και το χρήσιμο: με το σενάριο μπλοκαρισμένο, ο εκκινητής του workerd απάντησε κανονικά με την έκδοσή του. Η προειδοποίηση είναι αληθινή, αλλά δεν σπάει τη δουλειά.
Σύνδεση με τον λογαριασμό σου
Το πρόγραμμα δεν κοστίζει τίποτα· η χρήση θέλει λογαριασμό Cloudflare. Χωρίς διαπιστευτήρια, κάθε ουσιαστική εντολή σταματά:
cf auth loginΣε αυτοματισμό χωρίς άνθρωπο, βάζεις token στη μεταβλητή CLOUDFLARE_API_TOKEN. Ο τρόπος που ορίζεις μεταβλητή αλλάζει από κέλυφος σε κέλυφος, γι’ αυτό δεν τον δίνω ως εντολή για αντιγραφή. Το εργαλείο τύπωσε και τρίτη διαδρομή, χωρίς λογαριασμό: σημαία --temporary-account με προσωρινό λογαριασμό και σύνδεσμο διεκδίκησης. Δεν τη δοκιμάσαμε ως το τέλος, οπότε μένει υπόσχεση.
Χρήση σε κάθε LLM
Το cf δεν είναι διακομιστής MCP: δεν δηλώνεις τίποτα σε αρχείο ρυθμίσεων, δεν κάνεις επανεκκίνηση. Ο βοηθός δίνει εντολή στο κέλυφος και διαβάζει τι γύρισε.
Ο κατασκευαστής δίνει έτοιμο κείμενο οδηγιών για τα αρχεία κανόνων των βοηθών, με τίτλο «Cloudflare CLI – cf – v20260928»: να προτιμούν το cf από το Wrangler, να χρησιμοποιούν cf init, cf dev, cf deploy, και να ελέγχουν αντί να μαντεύουν (ανακοίνωση). Η βασική κίνηση είναι ίδια παντού:
cf cli search "deploy a worker"Claude Code
Στο CLAUDE.md γράφεις τη σύμβαση: για το Cloudflare χρησιμοποίησε το cf, και όταν δεν ξέρεις τη σύνταξη, ρώτα πρώτα.
cf cli search "deploy a worker"Codex CLI
Το ίδιο σχήμα σε αρχείο AGENTS.md. Το αποθετήριο του cf έχει δικό του AGENTS.md στη ρίζα.
cf cli search "deploy a worker"Cursor
Μία οδηγία στους κανόνες του project. Για γρήγορη ματιά στο τι υπάρχει:
cf --helpΣε CI, χωρίς άνθρωπο μπροστά
Εδώ παίζουν μαζί το pin και το token. Η εγκατάσταση στην αλυσίδα:
npm install -g cf@1.0.0-beta.26Και η σύνδεση μέσα από τη μεταβλητή CLOUDFLARE_API_TOKEN, που τη δίνει το περιβάλλον της αλυσίδας. Αυτό είναι δική μου σύσταση, όχι οδηγία του κατασκευαστή: μην αφήσεις την αλυσίδα να διαλέξει έκδοση.
Πού κερδίζει, πού χάνει
Κερδίζει στη διόρθωση: ένα εργαλείο που σου λέει «μήπως εννοούσες namespaces;» γλιτώνει γύρους δοκιμής και λάθους. Κερδίζει στην οικονομία: η αναζήτηση γυρίζει 488 bytes για πέντε αποτελέσματα, όταν η πλήρης λίστα είναι 17.160 bytes και ένα υποσύστημα 1.470 bytes. Κερδίζει στο ότι η βοήθεια, η αναζήτηση και οι τοπικές δοκιμές δουλεύουν χωρίς λογαριασμό, και στην άδεια, που δηλώνεται MIT OR Apache-2.0 στο npm και Apache-2.0 στο αποθετήριο.
Τώρα πού χάνει. Πρώτο, η ηλικία: πέντε εβδομάδες ζωής, 96 ανοιχτά ζητήματα, λέξη beta στο όνομα της έκδοσης. Δεν είναι κατηγορία, είναι ρίσκο που το ζυγίζεις με το τι έχεις σε παραγωγή. Δεύτερο, η παγίδα του pin: όποιος δεν προσέξει παίρνει 293 MB αντί 169 MB. Τρίτο, η προειδοποίηση του workerd, που τρομάζει χωρίς λόγο. Τέταρτο, ο λογαριασμός: χωρίς κλειδί η δουλειά σταματά με μήνυμα, όχι με αποτέλεσμα.
Και η έντιμη σύγκριση: το cf είναι ουρά. Από την 1 Σεπτεμβρίου ως τις 28 Οκτωβρίου 2026 είχε 1.356.224 λήψεις έναντι 191.377.940 του Wrangler — δύο τάξεις μεγέθους. Το νούμερο δεν ξεχωρίζει αυτόματες δοκιμές από πραγματικούς χρήστες, οπότε το κρατάμε ως οροφή.
Δοκιμή
Έβαλα το εργαλείο και το πίεσα βήμα-βήμα. Τα νούμερα της ενότητας βγήκαν από τις παρακάτω εκτελέσεις, όχι από τεκμηρίωση.
npm install -g cf@1.0.0-beta.26Η εγκατάσταση τελείωσε σε 13 δευτερόλεπτα, με 31 πακέτα και 169 MB στον δίσκο, με δύο προειδοποιήσεις: μηχανή Node έξω από το επιτρεπτό παράθυρο, και σενάριο workerd χωρίς έγκριση.
cf --version1.0.0-beta.26, σε 0,51 δευτερόλεπτα.
cf --help17.160 bytes, 128 εντολές πρώτου επιπέδου, σε 0,74 δευτερόλεπτα.
cf workers --help1.470 bytes — περίπου έντεκα προς ένα σε σχέση με την πλήρη λίστα.
Μετά ο τοίχος, όπως έπρεπε:
cf workers listΣε 1,65 δευτερόλεπτα τύπωσε πλαίσιο με τίτλο «No authentication token found» και δύο επιλογές: τη μεταβλητή CLOUDFLARE_API_TOKEN ή τη σύνδεση με cf auth login. Κανένα κρέμασμα. Η κατάσταση σύνδεσης φαίνεται και μόνη της:
cf auth whoami{“authenticated”: false, “error”: “Not logged in”}, σε 0,79 δευτερόλεπτα. Ο πρώτος έλεγχος χωρίς λογαριασμό τελειώνει σε λιγότερο από δύο δευτερόλεπτα.
Και το κομμάτι που δουλεύει χωρίς λογαριασμό:
cf d1 list --localΚενή λίστα σε 1,70 δευτερόλεπτα, χωρίς διαπιστευτήρια.
Τέλος τα λάθη μου, το πιο χρήσιμο κομμάτι. Με συνήθεια Wrangler ζήτησα cf kv namespace list: κωδικός εξόδου 1, με τη λίστα των σωστών υποεντολών και τη γραμμή «Did you mean namespaces?». Και μετά ρώτησα το εργαλείο:
cf cli search "kv namespace"JSON με πέντε εντολές, στη σωστή μορφή πληθυντικού, σε 488 bytes.
Τι δεν μέτρησα: δεν έκανα πραγματική ανάπτυξη κώδικα σε λογαριασμό Cloudflare, δεν δοκίμασα τη μετάπτωση από Wrangler, δεν ακολούθησα τη σημαία προσωρινού λογαριασμού ως το τέλος. Δεν μέτρησα μνήμη — νούμερο από εκτίμηση θα ήταν επινόηση. Όποιο νούμερο δεν αναφέρεται εδώ, δεν είναι δικό μας.
Τι κοστίζει
Όσα μέτρησα.
Ο χώρος: 169 MB, 2.340 αρχεία, 31 πακέτα με pin στην beta.26, και 293 MB, 2.450 αρχεία, 34 πακέτα χωρίς pin, με την 0.15.0. Ο χρόνος εγκατάστασης: 13 δευτερόλεπτα.
Ο χρόνος εκτέλεσης: 0,51 δευτερόλεπτα για την έκδοση, 0,74 για την πλήρη βοήθεια, 1,06 για υποσύστημα, 1,65 μέχρι το μήνυμα που ζητά κλειδί, 0,79 για τον έλεγχο σύνδεσης, 1,70 για τοπική εντολή.
Το βάρος στο πλαίσιο του βοηθού: 17.160 bytes η πλήρης λίστα, 1.470 bytes ένα υποσύστημα, 488 bytes η αναζήτηση πέντε αποτελεσμάτων. Με χονδρική εκτίμηση τεσσάρων χαρακτήρων ανά σύμβολο, η πλήρης λίστα είναι περίπου 4.300 σύμβολα — εκτίμηση, όχι μέτρηση.
Το μοντέλο: μηδέν σύμβολα. Το cf δεν είναι διακομιστής MCP, δεν φορτώνει σχήμα εργαλείων, δεν πιάνει χώρο σε καμία συνεδρία, και δεν θέλει κάρτα γραφικών.
Node: ^22.23.0, ^24.22.0 ή ^26.12.0. Άδεια: MIT OR Apache-2.0 στο npm, Apache-2.0 στο αποθετήριο. Λογαριασμός: δωρεάν, αλλά υποχρεωτικός για ουσιαστική χρήση.
Όσα λέει ο κατασκευαστής, χωρίς δική μου επαλήθευση.
Ότι το cf καλύπτει πάνω από 3.000 λειτουργίες του API απέναντι σε περίπου 280 εντολές του Wrangler. Ότι το JSON και η τύπου-ελεγχόμενη ρύθμιση σε TypeScript κόβουν τα λάθη του πράκτορα. Ότι το Vite γίνεται προεπιλεγμένο περιβάλλον τοπικής ανάπτυξης. Ότι η μετάπτωση γίνεται με cf migrate και ότι η συντήρηση του Wrangler κρατά δεκαοκτώ μήνες μετά το τέλος της beta.
Τα όρια του δωρεάν λογαριασμού ανά εντολή δεν τα δοκίμασα. Και το νούμερο των λήψεων — 1.356.224 για το cf, 191.377.940 για το Wrangler, από την 1 Σεπτεμβρίου ως τις 28 Οκτωβρίου 2026 — είναι οροφή, γιατί δεν ξεχωρίζει αυτόματες δοκιμές από αντίγραφα.
Ετυμηγορία
Score: 7.2/10.
Η ιδέα είναι σωστή και τη λέει καθαρά: εργαλείο που ο πράκτορας μπορεί να ρωτήσει αντί να μαντέψει. Στη δοκιμή μας αποδείχτηκε δύο φορές — η λανθασμένη εντολή απάντησε «Did you mean namespaces?» αντί να σκάσει, και η αναζήτηση γύρισε τη σωστή σύνταξη σε 488 bytes. Η έξοδος είναι JSON, η βοήθεια έχει στρώσεις, και ο πρώτος έλεγχος χωρίς λογαριασμό τελειώνει σε λιγότερο από δύο δευτερόλεπτα.
Της λείπουν τα χρόνια. Πέντε εβδομάδες ζωής, 96 ανοιχτά ζητήματα, λέξη beta στο όνομα, και 1,36 εκατομμύρια λήψεις απέναντι στα 191,4 εκατομμύρια του Wrangler.
Πρακτικά: δοκίμασέ το σε καινούργια δουλειά, όχι σε παραγωγή. Καρφίτσωσε την 1.0.0-beta.26, γιατί με σκέτο cf παίρνεις 293 MB αντί 169 MB. Ρώτα με cf cli search αντί να μαντεύεις, δες το αίτημα πριν από κάθε εντολή που γράφει, και κράτα το Wrangler δίπλα για ό,τι είναι ήδη σε παραγωγή.
Πηγές: αποθετήριο https://github.com/cloudflare/cf · πακέτο στο npm https://www.npmjs.com/package/cf · ανακοίνωση Cloudflare https://blog.cloudflare.com/cloudflare-cf-cli-launch · InfoQ https://www.infoq.com/news/2026/10/cloudflare-cf-cli/ · λήψεις npm https://api.npmjs.org/downloads/point/2026-09-01:2026-10-28/cf
Εγκατάσταση
4 ΒΗΜΑΤΑ- npm i cf@1.0.0-beta.26
- npx cf --version
- npx cf --help
- npx cf workers --help