FS FormScript

Toolchain

Stop maintaining the form stack

What a team can stop duplicating once both sides run a conforming runtime:

what this buys you

  • One schema, not two
  • One visibility layer
  • One error dictionary
  • One label file
Language specification 1.0 · level 3 of 5
Stop duplicating Why
Zod / Yup / Joi / JSON Schema of the same fields The document is the schema and the rules
A second server DTO validator for those fields The server evaluates the document
Show/hide in the component and again in the API when is applicability on both sides
A custom hook per calculated field value = builds the dependency graph
A hand-written error-code dictionary The catalogue is fixed and shared
A separate JSON file of labels text + t("key")

Fewer moving parts

One document replaces the schema, the visibility layer, the calculated-field hooks and the label file.

Your stack stays

React, Vue, your design system, HTTP, auth and the database are all still yours. FormScript replaces the rule layer only.

One opinionated format

Render intents mean the document drives the screen, so the screen stops inventing its own validation rules.

forms
form loan version = "1.0" {
  field annual_income { type = number, validate { min = 0 } }
  field monthly {
    type = number
    value = annual_income / 12
  }
  group guarantor {
    field guarantor_name {
      type = string
      when = annual_income > 10000
      required = true
    }
  }
  output {
    annual_income: number
    monthly: number
    guarantor.guarantor_name: string
  }
}

It does not replace React or Vue, your design system, HTTP, auth, the database, a payment SDK, or a PDF engine. @formscript/render emits intents; @formscript/render-dom maps them to HTML.

Do not say. “Delete your UI library.” Say: stop maintaining a second schema, a second visibility layer, and a second error dictionary for the same form.