One file, whole picture
Entities, relations, processes, forms, reports, permissions and seed data - the entire application's intent lives in one readable YAML document at the project root.
The vendor-neutral blueprint format that turns business knowledge into running software.
An Intent File (*.intent) is a single YAML document, one per project, that is the source of truth for a whole application. It describes what the system is - its data, its rules, its workflows and its screens - without describing how any particular platform realises it.
A conforming generator reads the Intent File and deterministically produces the derived model artefacts (a data model, process definitions, forms, reports, roles, seed data) and, from those, a complete running application: schema, persistence, APIs, user interface, background jobs, listeners, processes and security. The Intent File stops at the model layer; it never emits application code itself.
That single boundary is what makes the format valuable: the file is small enough to read in one sitting, structured enough to validate, stable enough to diff and version, and portable enough that any conforming generator can consume it.
name: orders
description: Order management with an approval workflow
entities:
- name: Customer
fields:
- { name: id, type: integer, primaryKey: true, generated: true }
- { name: name, type: string, required: true, length: 200 }
- { name: creditLimit, type: decimal }
relations:
- { name: orders, kind: oneToMany, to: Order }
- name: Order
fields:
- { name: id, type: integer, primaryKey: true, generated: true }
- { name: orderDate, type: date, required: true }
- { name: total, type: decimal }
relations:
- { name: customer, kind: manyToOne, to: Customer }
processes:
- name: OrderApproval
trigger: { onCreate: Order }
steps:
- { name: review, kind: userTask, args: { assignee: manager, form: ApproveOrder } }
- { name: done, kind: end }