Skip to main content
IntentLang

Documentation

Learn Intent, from the idea to the draft syntax.

This is an early documentation stub. It captures the mental model and the current draft syntax while the language and compiler are still taking shape.

Core concepts

Intent has a small vocabulary. These are the terms you will see throughout the docs and examples.

Mission
A unit of intent: a goal, its inputs and outputs, and its guarantees.
Goal
The outcome a mission is meant to achieve, in plain language.
Requires
What must be true or available before the mission runs.
Input / Output
The typed values a mission consumes and produces.
Guarantees
Properties that must always hold when the mission completes.
Never
Forbidden behavior the implementation must never exhibit.
Constraints
Bounds and limits, such as a token time-to-live.
Target
A language the mission should compile toward, e.g. TypeScript.
Verify
The checks (types, tests, scans) that prove the guarantees hold.
Architecture
Services, APIs, events, data, dependencies, and ownership.

The Mission block

A Mission is the core unit of intent. It names a goal, declares what it requires, lists the guarantees that must hold, and names the targets it should compile toward.

CreateInvoice.intent
1Mission CreateInvoice
2
3Goal
4 Generate an invoice from approved orders
5
6Requires
7 Customer
8 ApprovedOrders
9
10Input
11 customer: Customer
12 orders: List<Order>
13
14Output
15 invoice: Invoice
16
17Guarantees
18 invoice.total is never negative
19 duplicate invoices are not created
20 every invoice is auditable
21
22Never
23 create invoice for unapproved order
24 expose payment token in logs
25
26Target
27 TypeScript
28 Python
29 DotNet
30
31Verify
32 unit tests
33 duplicate prevention test
34 audit trail test
35 security scan

Contracts & guarantees

Guarantees are not tests bolted on afterward. They are part of the program. Each guarantee is a property the implementation must never violate, and the one Intent aims to verify for you across every target.

  • • Guarantees read as plain, checkable statements.
  • • They travel with the Mission, not in a separate suite.
  • • Verification can be satisfied by types, tests, runtime checks, or proofs.

Targets

A single Mission can target multiple languages. The meaning stays the same; the generated implementation adapts to each target's idioms. Planned early targets include TypeScript, Python, and .NET.

Status & stability

Intent has no released compiler or CLI yet. This documentation describes the intended model and draft syntax. Nothing here is stable, and everything is subject to change before v1.

Want to follow along? Join the waitlist or check the roadmap.