Skip to content

Dokumentasi FormSpec

FormSpec adalah platform spec-driven: aplikasi dideklarasikan sebagai kumpulan spec YAML (workspace → app → module → kinds), lalu diinterpretasikan saat runtime oleh engine dan renderer resmi. Prinsip yang mengikat seluruh dokumentasi ini:

Spec adalah kontrak; renderer adalah implementasi kontrak itu.

Karena itu dokumentasi terbagi dua poros utama — spec/ (kontrak, normatif) dan renderers/ (implementasi resmi, deskriptif) — ditambah section pendukung.

Peta Dokumen

SectionIsiSifat
spec/platform/Kontrak lintas sisi: overview, workspace/app/module, kind system, control plane, plane protocol, datastore, marketplaceNormatif, semver
spec/backend/Kontrak data & perilaku: core basic/extended, entity extension, PersistBackendNormatif, semver
spec/frontend/Kontrak visual: hirarki Shell→App→Page→Component, VisualSpecKind, Renderer, Spec Resolution API, katalog kind per tier, FormSpecExprNormatif, semver
renderers/shadcn-shell/Frontend renderer resmi (React + shadcn/ui)Deskriptif, dated
renderers/jsonb-persist/Backend renderer resmi (PersistBackend hybrid JSONB, Postgres/SQLite)Deskriptif, dated
architecture/Topologi deployment, HA/failover, K8s operator, admin surfaces, struktur repoDeskriptif
runtimes/Internals per komponen runtime: formspec-ctl, formspec-resource, formspec-operator, formspec-sidecar, engine API layerDeskriptif
cli-tools/Referensi CLI: formspec, formspec-ctl, formspec dev, formspec generate, formspec consultDeskriptif
ai/FormSpec AI: formspec-consult, formspec-local-mcp/formspec-remote-mcp, LLM provider layer (Vercel AI SDK, BYOK), FormSpec SkillDeskriptif — design, belum diimplementasikan
guides/Cara menjalankan, tutorial Order-to-Cash, panduan menulis renderer/shell/persist-backendTutorial
reference/Glossary istilah kanonikReferensi
comparison/FormSpec dibandingkan platform lainReferensi

Jalur Baca per Persona

App developer (membangun aplikasi di atas FormSpec): spec/platform/01-overviewspec/platform/02-workspace-app-modulespec/backend/01-core-basicspec/frontend/06-page-kindsguides/order-to-cash-tutorial.

Renderer/Shell author (menambah renderer visual atau persist backend baru): spec/frontend/01-visual-hierarchy02-visual-spec-kind03-renderer-kind04-spec-resolution-apiguides/authoring-a-page-renderer (atau spec/backend/04-persist-backendguides/authoring-a-persist-backend).

Platform operator (menjalankan FormSpec untuk banyak workspace): architecture/01-architecture-overviewruntimes/cli-tools/04-formspec-ctl.

Framework contributor (mengubah kode FormSpec sendiri — cmd/, internal/, pkg/, renderers/react-shadcn/, sdk/): architecture/08-repo-structure → dokumen spec/ atau renderers/ yang relevan dengan area yang disentuh.

Konvensi

  • Direktori tanpa nomor; file berprefix dua digit sesuai urutan baca; README.md per direktori adalah indeksnya.
  • Dokumen kontrak (spec/) memakai header Version (semver) + Status (Outline → Draft → Final). Dokumen implementasi (renderers/, runtimes/) memakai Updated: (tanggal).
  • Bahasa dokumen: Indonesia; nama kind, field, dan istilah teknis tetap English.
  • Seluruh isi ditulis present-tense — dokumen ini menjelaskan FormSpec sebagaimana adanya, bukan sejarah perubahannya.

Standar terbuka (CC0) dengan implementasi referensi.