Manifesto computes deterministic domain state transitions.
MEL declares domain transition rules. Core computes semantic transitions from schema, snapshot, intent, and context. Host fulfills declared effects and converges the next Snapshot.
Most applications use the SDK as the public runtime surface: activate a domain, submit typed actions, observe snapshots, and share the same state contract across UI, backend routes, and agents.
Lineage and Governance are optional protocol extensions. Add them only when a product needs history, restore, audit, approval, policy, or delegation.
A React Todo UI and a scripted agent share one Manifesto runtime. The agent reads the Snapshot, checks available typed actions, and submits app-owned actions; the UI and computed values update from the same deterministic state transition.
Run the example · Download the MP4
npm install @manifesto-ai/sdk
npm install -D @manifesto-ai/compiler tsx typescriptRequires Node.js >= 24. That is enough for a direct Node/tsx script that
imports .mel files through the MEL loader. For Vite or another bundler, add
the compiler plugin shown in Quick Start.
Prefer an interactive setup? Use the optional CLI:
npx @manifesto-ai/cli initdomain Counter {
state { count: number = 0 }
action increment() {
onceIntent { patch count = count + 1 }
}
}
import { createManifesto } from "@manifesto-ai/sdk";
import CounterMel from "./counter.mel";
const app = createManifesto(CounterMel, {}).activate();
await app.action.increment.submit();
console.log(app.snapshot().state.count); // 1Run a direct script with:
npx tsx --loader @manifesto-ai/compiler/node-loader main.tsUse this order if you are new:
- Run the smallest app: Quick Start
- Learn the file layout: Project Anatomy
- Learn the MEL file: MEL Domain Basics -> MEL For App Developers
- Activate and read the app: Creating an App
- Build the Todo path: Tutorial
- Turn the Todo domain into app-facing TypeScript: Bundler Setup -> Code Generation
- Add UI wiring, then compare with the example: React -> Runnable Examples
- Put UI and agent writes behind one server runtime: Web App + Agent
- Go deeper on agent-only tool loops: AI Agents
- Decide on review or history only when the product needs it: When You Need Approval or History
Other entry points:
- Set up CLI, editor, AI, or Studio workflows: Developer Tooling
- Add approval, review, or durable history later: When You Need Approval or History
- Look up a package you already know: API Reference
- Go deeper into the model: Concepts, Architecture
- Work on the repository itself: Internals
Start with the base SDK runtime. Add approval/history packages or surrounding DX tools only when the project actually needs them.
- Not a state management library
- Not an AI framework
- Not a database or ORM
- Not a workflow engine
If you use Manifesto in research, please cite:
@misc{jung2026llmdoesselfrevisingagent,
title={How Much LLM Does a Self-Revising Agent Actually Need?},
author={Sungwoo Jung and Seonil Son},
year={2026},
eprint={2604.07236},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2604.07236},
}
