5 poin oleh GN⁺ 6 hari lalu | 2 komentar | Bagikan ke WhatsApp
  • Cloudflare sedang membangun ulang Wrangler generasi berikutnya agar dapat menghadirkan lebih dari 100 produk dan sekitar 3.000 HTTP API dalam satu CLI terpadu (cf), dan pratinjau teknisnya saat ini bisa digunakan lewat npx cf
  • Karena skema OpenAPI yang ada tidak cukup untuk merepresentasikan berbagai antarmuka seperti perintah CLI, binding Workers, dan skill agen, Cloudflare memperkenalkan sistem skema baru berbasis TypeScript
  • Seiring agen makin sering menjadi konsumen utama CLI, Cloudflare menegakkan aturan konsistensi perintah dan guardrail di tingkat skema, seperti get/--force/--json
  • Cloudflare merilis fitur Local Explorer dalam open beta agar sumber daya yang disimulasikan saat pengembangan lokal bisa dijelajahi dengan mudah, sehingga data lokal seperti KV, R2, dan D1 dapat diperiksa langsung
  • Dengan menyediakan bentuk API yang konsisten untuk seluruh API Cloudflare baik di CLI maupun lingkungan lokal, Cloudflare menargetkan pengalaman pengembangan yang optimal bagi agen maupun developer

Skala API Cloudflare dan pergeseran ke agen sebagai pusat

  • Cloudflare memiliki lebih dari 100 produk dan sekitar 3.000 operasi HTTP API
  • Agen kini muncul sebagai konsumen utama API, dan developer membangun serta men-deploy aplikasi, agen, dan platform ke Cloudflare melalui coding agent
  • Cloudflare sudah menyediakan seluruh API-nya melalui satu server Code Mode MCP di bawah 1.000 token, tetapi masih perlu mencakup lebih banyak antarmuka seperti perintah CLI, binding Workers, SDK, file konfigurasi, Terraform, dokumentasi developer, dan Agent Skills
  • Pada Wrangler CLI yang ada, banyak perintah CLI untuk produk Cloudflare belum tersedia, sementara agen cenderung lebih menyukai CLI

Membangun ulang Wrangler CLI generasi berikutnya

  • Wrangler CLI sedang dibangun ulang menjadi CLI untuk seluruh Cloudflare, agar menyediakan perintah untuk semua produk serta konfigurasi terpadu dengan pendekatan infrastructure-as-code
  • Pratinjau teknis dapat dijalankan dengan npx cf atau dipasang melalui npm install -g cf
  • Saat ini baru mendukung sebagian produk, tetapi secara internal Cloudflare sedang menguji versi yang mendukung seluruh permukaan API Cloudflare
  • Output untuk setiap perintah per produk sedang ditinjau dan disesuaikan agar ergonomis baik untuk agen maupun manusia
  • Dalam beberapa bulan ke depan, ini akan digabungkan dengan keunggulan Wrangler yang ada

Skema berbasis TypeScript dan pipeline pembuatan kode

  • Sebelumnya, Cloudflare menggunakan skema OpenAPI untuk secara otomatis menghasilkan API SDK, provider Terraform, dan server Code Mode MCP
  • Namun pembaruan untuk CLI, binding Workers, konfigurasi wrangler.jsonc, Agent Skills, dashboard, dan dokumentasi masih dilakukan lewat proses manual, yang sering menimbulkan kesalahan dan tidak dapat diskalakan
  • Skema OpenAPI hanya dapat mendeskripsikan REST API, sehingga tidak mampu merepresentasikan perintah CLI interaktif yang menggabungkan pengembangan lokal dan permintaan API, binding Workers berbasis RPC, maupun Agent Skills dan dokumentasi
  • Karena TypeScript digunakan sebagai bahasa bersama di internal Cloudflare, mereka mendapati bahwa API lebih efektif direpresentasikan dengan TypeScript pada Cap n' Web, Code Mode, dan sistem RPC di platform Workers
  • Cloudflare memperkenalkan skema TypeScript baru untuk mendefinisikan API, perintah CLI dan argumennya, serta seluruh konteks yang dibutuhkan untuk menghasilkan antarmuka
    • Bentuknya berupa tipe TypeScript yang menerapkan konvensi, linting, dan guardrail
    • Karena merupakan format milik sendiri, skema ini fleksibel untuk mendukung antarmuka apa pun yang dibutuhkan, sekaligus tetap bisa menghasilkan skema OpenAPI

Konsistensi CLI untuk agen dan context engineering

  • Agen mengharapkan konsistensi dalam CLI; jika satu perintah memakai info dan perintah lain memakai get, agen bisa mencoba memanggil perintah yang sebenarnya tidak ada
  • Dalam organisasi besar dengan ratusan hingga ribuan engineer, menjaga konsistensi hanya lewat review hampir pasti menimbulkan celah seperti model Swiss cheese
  • Jika konsistensi hanya dipaksakan di lapisan CLI, masalah perbedaan penamaan antara CLI, REST API, dan SDK justru bisa makin parah
  • Karena itu, Cloudflare menerapkan aturan dan guardrail di tingkat skema: selalu get (bukan info), selalu --force (bukan --skip-confirmations), dan selalu --json (bukan --format) agar didukung konsisten di semua perintah
  • Wrangler CLI memiliki struktur khusus karena bekerja dengan sumber daya simulasi lokal dan sumber daya jarak jauh sekaligus
    • Database D1, bucket penyimpanan R2, dan namespace KV didukung baik secara lokal maupun jarak jauh
    • Ini bisa menimbulkan kebingungan ketika agen mengira sedang memodifikasi database jarak jauh, padahal sebenarnya menambahkan record ke database lokal
    • Cloudflare memberi panduan yang eksplisit kepada agen melalui default yang konsisten dan output yang dengan jelas menunjukkan apakah targetnya lokal atau jarak jauh

Local Explorer — menjelajahi sumber daya lokal dengan cara yang sama seperti sumber daya jarak jauh

  • Local Explorer dirilis dalam open beta dan dapat digunakan baik di Wrangler CLI maupun plugin Cloudflare Vite
  • Saat pengembangan lokal, developer bisa langsung menjelajahi sumber daya simulasi yang digunakan Worker: KV, R2, D1, Durable Objects, Workflows
  • Tugas yang sama yang bisa dilakukan melalui Cloudflare API dan dashboard kini dapat dijalankan di lingkungan lokal sepenuhnya dengan struktur API yang sama
  • Cloudflare telah berinvestasi selama bertahun-tahun pada pengembangan lokal penuh, sehingga bahkan database serverless ter-host seperti D1 dapat dijalankan sepenuhnya secara lokal melalui binding tanpa konfigurasi atau alat tambahan
    • Miniflare (emulator platform pengembangan lokal) menyediakan API yang sama dengan produksi dan menggunakan database SQLite lokal
    • Dengan ini, test bisa ditulis dan dijalankan dengan cepat tanpa akses jaringan, serta tetap berjalan saat offline
  • Sebelumnya, untuk memeriksa data apa yang tersimpan secara lokal, developer harus melakukan reverse engineering pada direktori .wrangler/state atau memasang alat pihak ketiga
  • Saat aplikasi dijalankan melalui Wrangler CLI atau plugin Cloudflare Vite, prompt untuk membuka Local Explorer akan ditampilkan dan dapat diakses dengan shortcut keyboard e
    • Ini menyediakan antarmuka lokal untuk melihat binding yang terhubung ke Worker saat ini beserta datanya
  • Saat membangun dengan bantuan agen, fitur ini berguna untuk memahami bagaimana agen menangani data, dan memungkinkan validasi skema, seeding record test, serta reset DROP TABLE
  • Cloudflare juga menyediakan mirror dari Cloudflare API yang hanya memodifikasi data lokal, sehingga sumber daya lokal dapat diakses dengan API yang sama seperti sumber daya jarak jauh
    • Karena bentuk API lokal dan jarak jauh sama, ketika flag --local diberikan di CLI, permintaan akan dialihkan ke mirror API lokal dan tetap bekerja sebagaimana mestinya
  • API lokal dapat diakses di path /cdn-cgi/explorer/api, sehingga agen dapat menemukan spesifikasi OpenAPI dari alamat ini dan mengelola sumber daya lokal

Permintaan masukan dan rencana ke depan

  • Pratinjau teknis CLI generasi berikutnya tersedia melalui npx cf atau npm install -g cf
  • Cloudflare meminta masukan bukan hanya untuk fitur yang sudah ada di pratinjau teknis saat ini, tetapi juga tentang apa yang diinginkan pengguna dari CLI untuk seluruh platform Cloudflare
    • Pekerjaan yang saat ini memerlukan beberapa kali klik di dashboard tetapi ingin dijalankan dengan satu baris perintah CLI
    • Hal-hal yang ingin dikonfigurasi lewat wrangler.jsonc (misalnya record DNS, aturan cache)
    • Titik-titik di mana agen menemui hambatan dan perintah yang diharapkan tersedia di CLI
  • Masukan sedang diterima melalui Cloudflare Developers Discord

2 komentar

 
eoeoe 5 hari lalu

Saya harap mereka juga bisa memperbaiki error yang muncul saat mencoba mengekspor database D1 yang sudah dikonfigurasi dengan tabel FTS. Itu yang paling tidak nyaman saat memakai wrangler.

 
GN⁺ 6 hari lalu
Opini Hacker News
  • Akan bagus jika Wrangler CLI menampilkan lebih dulu izin token API yang dibutuhkan saat pengembangan lokal
    Dengan begitu akan jelas izin apa yang diperlukan sebelum deploy, dan idealnya ada perintah seperti cf permissions check untuk memeriksa izin yang kurang atau tidak perlu

    • Sangat setuju. Jika ChatGPT salah mengatur izin di awal, akhirnya kita harus mengubek-ubek dokumentasi selama berjam-jam atau mencoba berbagai kombinasi token
    • Akan sangat praktis jika ada perintah doctor untuk hal seperti ini. Semoga lebih banyak layanan menyediakan fitur seperti ini
    • Saya pernah salah mengatur token karena typo, dan fitur seperti ini pasti akan sangat membantu
    • Lebih jauh lagi, akan bagus juga jika CLI bisa membuat key secara otomatis
    • Pada akhirnya, menurut saya inti masalahnya adalah meningkatkan discoverability API
      GraphQL mengikuti prinsip HATEOAS dengan baik, jadi lebih menguntungkan bagi LLM untuk menjelajahi API
      Dibanding masalah yang muncul karena versi dokumentasi tidak cocok, struktur API yang bisa mengungkapkan kemampuannya sendiri jauh lebih baik
  • Saya berharap mereka lebih dulu menambahkan kontrol izin per grup resource
    Saat ini hanya ada izin berbasis zone (domain), sehingga resource seperti worker yang tidak termasuk dalam zone masih bisa diganti atau dihapus kodenya walau hanya dengan izin rendah
    Akan lebih baik jika mendukung struktur super account + sub account seperti GitHub Enterprise. Contoh: ACME Corp / ACME Corp (Prod)

    • Saya penasaran apakah ini konsep yang sama dengan fitur Cloudflare Organization
    • Meski tidak bisa berbagi domain, struktur superaccount + subaccount tampaknya akan sangat berguna
    • Saya setuju bahwa karena worker tidak berbasis zone, kegunaannya jadi berkurang
  • Tulisan yang bagus dan cukup menginspirasi. Tapi agak mengejutkan karena TypeSpec tidak disebutkan
    Ini adalah bahasa skema bergaya TypeScript, dan sering dijelaskan sebagai “seandainya OpenAPI benar-benar dibuat dengan baik, hasilnya akan seperti ini”
    Mungkin mereka menilai implementasi sendiri lebih sederhana dan fleksibel. Akhir-akhir ini biaya BYO juga banyak turun berkat agent

    • Saya sangat suka TypeSpec. Menulis OpenAPI jadi jauh lebih mudah
      Tapi belakangan saya lebih suka API bergaya aep.dev. Karena polanya konsisten, aepcli bisa langsung dipakai atau mudah dibuat sendiri
      Terraform juga langsung bekerja tanpa provider terpisah
    • Saya penasaran bagian mana dari OpenAPI yang diperbaiki
  • Belakangan ini desain CLI-first yang berpusat pada AI agent terasa menarik
    Saat kami membuat developer tool juga, kami lebih dulu membuat CLI dan API, lalu dashboard ditambahkan belakangan
    Ide cf permissions check yang disebut di atas sangat bagus
    Agent memang pandai memakai CLI, tetapi lemah dalam mendiagnosis penyebab error.
    Pesan error yang jelas seperti “scope X tidak ada, jalankan cf token add --scope X” jauh lebih penting

  • Katanya technical preview bisa langsung dicoba lewat npx cf, dan saya punya beberapa pertanyaan
    Apakah ini open source, dan apakah ada rencana menyediakan bentuk binary tunggal tanpa Node.js?
    Mungkinkah mereka memanfaatkan Bun yang baru saja diakuisisi?

    • Saya juga tidak menemukan repositorinya, tetapi paket npm-nya berlisensi MIT dan menyertakan source map, jadi sepertinya akan segera dibuka
  • Sebaiknya hindari token jangka panjang.
    Sebagai gantinya, akan bagus jika CLI memudahkan pembuatan token terbatas berumur pendek, lalu bisa dikelola lewat file atau diperbarui otomatis
    Alternatif lainnya adalah menyediakan mode proxy, sehingga hak akses hanya bisa didelegasikan ke domain atau bucket tertentu

    • Saya suka pendekatan seperti GitLab yang bisa membuat PAT berumur pendek sekaligus lewat server SSH
  • Ironisnya, di era AI agent ini kita justru kembali ke pengembangan yang berpusat pada CLI
    Setiap kali ingin menghapus cache Cloudflare, saya harus mengklik beberapa langkah di web UI, padahal akan lebih enak jika cukup memberi perintah ke OpenClaw agent

    • Tidak perlu sampai pakai OpenClaw. Tinggal panggil perintah CLI langsung. Itulah inti CLI
  • Metode autentikasi Wrangler hanya ada dua: OAuth (izin penuh) dan token statis yang dibuat manual di dashboard
    Tapi ini tidak cocok ketika manusia dan AI agent harus punya batas izin yang berbeda
    Akan bagus jika bisa membuat token scoped berumur pendek langsung dari CLI
    Ini juga sedang dibahas di GitHub issue #13042.
    Token seharusnya dipersempit bukan hanya per tipe resource, tetapi juga berdasarkan ID resource dan aksi

  • Pada 1 April Cloudflare merilis EmDash dengan dukungan x402, dan sekarang tampaknya fokus ke CLI
    Rasanya Cloudflare sedang diam-diam membangun ulang ekosistem developer yang menempatkan agent non-manusia sebagai pengguna utama

  • Disebutkan bahwa mereka mendefinisikan API, perintah CLI, argumen, dan konteks dengan skema TypeScript,
    jadi saya penasaran kenapa tool atau framework itu tidak diperkenalkan di sini
    Saya juga ingin tahu apakah strukturnya mirip dengan TypeSpec yang disebut di atas