whatisgithub

What is markform?

jlevy/markform — explained in plain English

Analysis updated 2026-05-18

57TypeScriptAudience · developerComplexity · 2/5Setup · easy

In one sentence

A TypeScript library that adds fillable, validated fields to plain Markdown files so AI agents or people can fill them out step by step.

Mindmap

mindmap
  root((markform))
    What it does
      Embed fields in Markdown
      Validate patches
      Export to JSON YAML
    Tech stack
      TypeScript
      Vercel AI SDK
      Node.js
    Use cases
      Build AI fillable forms
      Run research surveys
      Debug forms locally
    Audience
      Developers
      AI agent builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Create a .form.md document with fillable fields for an AI agent to complete.

USE CASE 2

Run many concurrent AI requests to fill in a large research form in parallel.

USE CASE 3

Export a filled form to JSON, YAML, or JSON Schema for other tools.

USE CASE 4

Debug a form's fill progress with the built-in markform serve web viewer.

What is it built with?

TypeScriptNode.jsVercel AI SDK

How does it compare?

jlevy/markformpiyushgarg-dev/trpc-monorepoautomationsmanufaktur-labs/open-invoice-germany
Stars575758
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasymoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperpm founder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Install via npm, integrating with an AI agent framework like Vercel AI SDK takes extra setup.

So what is it?

Markform is a TypeScript library that adds structured, fillable fields to plain Markdown documents. The idea is that a single .form.md file can serve as both a human-readable document and a precise data collection form that AI agents or users can fill in step by step. You write a Markform document like any Markdown file, but embed field definitions inside HTML comment tags. Because HTML comments are invisible when rendered on GitHub or in a browser, the document looks like normal Markdown to a reader. Under the hood, each comment tag declares a field with a type (text, number, checkbox, table, dropdown, and so on), a label, validation rules like minimum length or required status, and a role indicating whether a human or an AI agent is expected to fill it. When an agent fills in a form, it submits individual patch operations targeting specific fields by their ID. Each patch is validated against the rules defined in that field, so errors are caught immediately and the agent can correct them without resubmitting the entire form. Large forms with hundreds of fields can be filled by many concurrent AI requests, which makes the format useful for large research workflows where many questions need answers in parallel. The format can be exported to plain Markdown (for human reading), JSON or YAML (for downstream processing), or JSON Schema (for use with other tools). A command-line tool called markform serve starts a small local web server for viewing and debugging forms, including a visual overview of which fields have been filled and how long each one took. The project includes integration with the Vercel AI SDK, so agents built on that framework can call the form-filling tools directly. Installation is via npm. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Show me how to define a text field and a dropdown field in a Markform document.
Prompt 2
How do I connect Markform to an AI agent using the Vercel AI SDK?
Prompt 3
Explain how Markform validates a patch submitted to a specific field.
Prompt 4
How do I run markform serve to debug which fields are filled in my form?

Frequently asked questions

What is markform?

A TypeScript library that adds fillable, validated fields to plain Markdown files so AI agents or people can fill them out step by step.

What language is markform written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Vercel AI SDK.

How hard is markform to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is markform for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.