Skip to content

Intent FileMake Intent Your Source of Code.

The vendor-neutral blueprint format that turns business knowledge into running software.

Intent File

What is an Intent File?

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.

yaml
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 }

Start with the specification →

Released under the Apache License 2.0.