Skip to content

FormSpec CLI Tools

Status: Draft License: Creative Commons CC0

FormSpec punya 2 CLI inti, bukan lebih: formspec (developer/App Owner, permukaan luas) dan formspec-ctl (emergency, Platform Operator, sebenarnya bagian dari binary formspec-ctl). Dokumen di folder ini adalah referensi verb-per-verb; keputusan normatif tetap di docs/spec/. formspec consult (baris ke-5 tabel di bawah) adalah lapisan AI opsional di atas formspec yang sudah ada — bukan CLI inti ketiga, lihat 05-formspec-consult.md §2.


Dokumen

#CLIAudiensWujudDokumen
1formspec devApp/Module Owner, DeveloperBinary cmd/formspec — single-process dev server01-formspec-dev.md
2formspec (CLI reference)App/Module Owner, DeveloperBinary cmd/formspecapply, generate, dll02-formspec-cli.md
3formspec generate (browser client)Frontend Developer@formspec/client (npm, sdk/browser) + codegen03-formspec-generate.md
4formspec-ctlCloud Owner / Platform OperatorSubcommand di binary formspec-ctl (D43)04-formspec-ctl.md
5formspec consult (AI business consultant & spec author)App/Module Owner, DeveloperBinary terpisah formspec-consult (TS/Bun) + subcommand formspec mcp-serve (Go) — opsional; arsitektur lengkap di docs/ai/05-formspec-consult.md

Kenapa 2, Bukan 1

formspec dan formspec-ctl melayani dua persona dan dua sisi yang berbeda secara fundamental:

formspecformspec-ctl
SisiResource Plane + registrasi ke Control PlaneControl Plane murni
PersonaApp/Module Owner, DeveloperCloud Owner
FilosofiKaya fitur, DX-first (dev, repl, generate)Minimal, tidak bergantung platform yang diperbaiki (D43)
Kegagalan yang ditoleransiBoleh gagal kalau Control Plane down (developer tunggu)Tidak boleh ikut gagal kalau bagian lain formspec-ctl rusak — inilah alasan ia bukan proses terpisah dengan dependency sendiri

Menyatukan keduanya ke satu CLI akan merusak properti paling penting formspec-ctl: independensi dari platform yang sedang ia perbaiki.


Status Implementasi (Ringkas)

CLIStatus kode hari ini
formspecapply dan generate --lang typescript implemented sebagai subcommand nyata di cmd/formspec (lihat 03-formspec-generate.md). ~19 verb lain dikenali dispatcher tapi cuma print "not implemented yet"
formspec-ctlSubcommand serve implemented (lihat docs/runtimes/01-formspec-ctl.md). Verb emergency (freeze, revoke, key, policy, log) dikenali dispatcher tapi cuma print "not implemented yet" — bergantung fondasi yang sendiri belum dibangun (persistent store, OPA, transparency log — lihat docs/runtimes/01-formspec-ctl.md §7)
formspec consultBelum diimplementasikan sama sekali — target desain, lihat docs/ai/README.md §5 dan docs/plan/todo.md Fase 10

Kaitan dengan Dokumen Lain

Kalau Anda ingin tahu...Baca
Fitur/API/desain server yang jadi target verb-verb ini (formspec-ctl)docs/runtimes/01-formspec-ctl.md
Skema YAML yang divalidasi/di-applydocs/spec/
Bagaimana formspec apply masuk ke pipeline deployment productiondocs/architecture/03-deployment-flow.md

Standar terbuka (CC0) dengan implementasi referensi.