Open Source & AI-Native

AI-Native
Semantic UI State Layer

The only UI framework where AI agents can truly understand, reason about, and interact with your interface—not just see pixels.

Turn any form into a machine-readable interface for LLM agents.

https://playground.manifesto-ai.dev
Loading interactive demo...

Why Manifesto?

Most form libraries generate UI from schemas. Manifesto does that too—but that's not what makes it special.

Traditional

Traditional UI

AI sees DOM/pixels

Raw HTML structure without meaning

"There's an input field"

No understanding of purpose or rules

AI guesses what to do

Trial and error, high failure rate

<input class="xyz123" type="text" />
<button>???</button>
Manifesto

With Manifesto

AI gets semantic state

Complete context and meaning

"This is 'email', required, currently invalid"

Full field context and dependencies

AI knows exactly what's valid

Predictable, reliable automation

{ field: "email", required: true,
valid: false, type: "string" }
Manifesto exports the complete semantic context

Values, rules, dependencies, validation state, available transitions—in a structure AI can reason about.

How It Works

Define your schema, render it with your framework, and let AI understand everything about your form.

schema.ts
import { entity, field, view, section, viewField, layout } from '@manifesto-ai/schema'

// Data model
const productEntity = entity('product', 'Product', '1.0.0')
  .field(field.string('name').label('Product Name').required())
  .field(field.number('price').label('Price').min(0))
  .field(field.enum('category', [
    { value: 'electronics', label: 'Electronics' },
    { value: 'clothing', label: 'Clothing' },
  ]).label('Category'))
  .build()

// UI layout
const productView = view('product-form', 'Create Product', '1.0.0')
  .entityRef('product')
  .layout(layout.form())
  .section(
    section('basic')
      .title('Basic Info')
      .field(viewField.textInput('name', 'name'))
      .field(viewField.numberInput('price', 'price'))
      .field(viewField.select('category', 'category'))
  )
  .build()

Key Features

Everything you need to build AI-ready forms and interfaces

Semantic State Export

AI agents get full context, not just rendered output. Export values, rules, dependencies, and validation state.

Schema-First

Define forms as data. Perfect for AI to generate and modify. Single source of truth for all your UI rules.

Framework Agnostic

React, Vue, or bring your own. Same schema works across all frameworks with consistent behavior.

Reactive Engine

Automatic dependency tracking and conditional updates. Changes propagate instantly through the field graph.

Secure DSL

Expression language with whitelisted operators, no eval(). Safe to run AI-generated schemas.

Type-Safe

Full TypeScript support. Catch errors at compile time with fully typed schemas and expressions.

Use Cases

Auto-fill forms

AI reads field semantics, fills with contextually appropriate values

Form validation assistance

AI understands constraints, suggests fixes for invalid inputs

Guided workflows

AI knows current step, available transitions, required fields

Accessibility agents

AI navigates forms semantically, not by pixel coordinates

Testing automation

Generate test cases from semantic structure

Schema generation

AI creates new form schemas from natural language

Architecture

A clean separation of concerns: define data, design UI, connect to AI

Schema Definition

Entity Schema

Data Model

View Schema

UI Layout

Action Schema

Workflows

@manifesto-ai/engine

Evaluator

Expressions

Tracker

Dependencies

Runtime

State

Loader

Schema

@manifesto-ai/react

useFormRuntime

FormRenderer

@manifesto-ai/vue

useFormRuntime

FormRenderer

@manifesto-ai/ai-util

Semantic Snapshot

Tool Definitions

Packages

@manifesto-ai/schemaSchema types, builders, validators
@manifesto-ai/engineCore runtime engine
@manifesto-ai/ai-utilAI interoperability utilities
@manifesto-ai/reactReact bindings
@manifesto-ai/vueVue bindings