Forms as Code
Live forms. Maintained in GitHub.
For engineers who own product and technical workflows. Define your form in YAML and commit it to GitHub. Declarative Forms renders the questions, validates answers, and stores submissions.
Create your first form# forms/beta-access.yaml, committed to GitHubversion: 1title: "Request beta access" sections: - id: application fields: - id: email type: email label: "Email address" validators: [required] - id: project type: long_text label: "What are you building?" validators: [required] next: doneFrom a repository file to a working form.
Keep the form definition beside the system it supports. Review changes in pull requests and preview a pushed branch before merging.
- 01
Define your form
Start from an example and edit the YAML, or ask your coding agent to draft it using the published JSON Schema.
- 02
Push it to GitHub
Commit the definition to a public GitHub repository. Keep its history and review changes through your existing pull request workflow.
- 03
Open and share it
Open the matching path on frms.dev without .yaml. Use ?branch=draft to preview another pushed branch.
Ship the form without building its backend.
Define multiple steps, conditional questions, validation rules, and file uploads in one YAML file. Declarative Forms turns it into a form people can complete.
Declarative Forms stores submissions. Add email or webhook connections to send responses into your workflow, and customize the completion screen to tell respondents what happens next.
Need something for your workflow?
Describe the feature and what it would help you do. If we accept your request, we’ll build it within 72 hours.
We’ll confirm acceptance and scope by email. The 72-hour window starts when we accept.
Try the form here. Its YAML definition lives in this repository, with an email connection configured to send requests to our inbox.
Put your next form in GitHub.
Start with an example, push your YAML, and open the form on frms.dev. Keep future changes in the same review workflow as your code.
Create your first form