Skip to main content
IntentLang

Documentation

Learn IntentLang, 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.

Full guides

Read the language docs.

Manifesto

Why IntentLang exists, and prompt vs durable intent.

Read →

Getting started

Ten minutes from install to running, testing, and gating intent.

Read →

Adopting on an existing codebase

Bring intent to a codebase you already have: lift, review, check, gate, and keep in sync.

Read →

Verifying AI code changes

Gate an AI-proposed code change against the intent it must uphold, deterministically.

Read →

Runtime enforcement

Compile intent into a guard that blocks forbidden actions and redacts secrets at runtime.

Read →

Intent Scanner and Fable

Scan a project into Intent IR and explainable Fable findings grouped by risk.

Read →

Syntax overview

The keywords, three layers, types, and blocks.

Read →

Language specification

Draft language specification: lexical rules and constructs.

Read →

Tutorial

Write your first mission, step by step.

Read →

AI-age best practices

Ten practices for building software with AI in the loop.

Read →

Mission Atlas

A semantic map of many missions, from product to proof.

Read →

Working with large changes

The hub for navigating many missions. Links every scaling concept.

Read →

Mission chains

Connected missions that form one end-to-end flow.

Read →

Build Session Digest

What changed this session, expressed in intent.

Read →

Semantic Diff

A diff by meaning, plus a deterministic three-way semantic merge.

Read →

Proof Matrix

Verification status across many missions, at a glance.

Read →

Risk Radar

Which missions to review first, ranked by risk.

Read →

MVP Readiness

demo_safe to production_ready: can this ship, and what blocks it.

Read →

AI-generated missions

Keeping dozens of agent-authored missions reviewable.

Read →

AI implementations

Intentionally deferred, verifiable AI implementations (intent-ai-v1).

Read →

Intent for every role

One intent for Product, UX, and engineering (intent-graph-v1).

Read →

The Intent Runtime: executable intent

Run decisions and simulate lifecycles deterministically, with no AI and no generated code.

Read →

Tests as a first-class construct

Declare cases and scenarios inside a .intent file and run them with intent test.

Read →

Outcome contracts

Bind an outcome to a target and check whether the result met the commitment.

Read →

Style intent

Declare brand and visual language against a canonical, lockable token space.

Read →

Governance and waivers

Governed exceptions: waive a blocker on the record, with an owner and an expiry.

Read →

Data purpose and privacy

Purpose, retention, and lawful basis for sensitive data, enforced by the compiler.

Read →

Export adapters (DMN, BPMN, model checking)

Render decisions and lifecycles to DMN, BPMN, and NuSMV for existing tooling.

Read →

Import adapters (round-trip from DMN, BPMN)

Lift existing DMN tables and BPMN processes back into runnable intent, round-trip.

Read →

Graph to source (native round-trip)

Regenerate editable .intent source from an Intent Graph, closing the native round-trip.

Read →

Schema migrations

Upgrade persisted graphs across schema versions, deterministically.

Read →

Editor support (Language Server)

A Language Server so any editor gets diagnostics, completion, and hover.

Read →

Structured editing and sync

Edit intent as structured fields and sync back to source, comments intact.

Read →

Diagnostics catalog

Every canonical diagnostic code, its severity, and what it blocks.

Read →

Tutorial: 200 missions to a release

From 200 missions to one Release Story, step by step.

Read →

Compiler contract

The deterministic pipeline from source to proof.

Read →

Ecosystem brief

How each SkillsTech sibling uses IntentLang.

Read →

Operating checklist

The Top 100 things IntentLang must do, mapped to status.

Read →

Core concepts

IntentLang 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
6why
7 Customers need accurate invoices that are auditable and never duplicated.
8
9requires
10 Customer
11 ApprovedOrders
12
13input
14 customer: Customer
15 orders: List<Order>
16 idempotencyKey: IdempotencyKey
17
18output
19 invoice: Invoice
20
21guarantees
22 invoice.total is never negative
23 duplicate invoices are not created
24 every invoice is auditable
25
26never
27 create invoice for unapproved order
28 expose payment token in logs
29
30target
31 TypeScript
32 DotNet
33 OpenAPI
34 Tests
35 Markdown
36 Mermaid
37
38verify
39 unit tests
40 duplicate prevention test
41 audit trail test
42 security scan

Three layers

The same mission can be written at three levels of precision: readable Human Intent, a more exact Typed Intent with semantic types and constraints, and compiler-ready Executable Intent that names a target and its checks. See all three side by side on the examples page.

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 IntentLang 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.

Semantic types

IntentLang favors semantic types over primitives. Writing email: Email instead of email: string lets the compiler and verification tools reason about meaning, not just shape. Planned built-in types include:

EmailMoneyCurrencyUrlUserIdAccountIdSecretTokenJwtDateDateTimeDurationPercentageFilePathRepositoryServiceNameApiEndpointEventNameDatabaseTable

Security model

Security is first-class. Fields can be marked so the compiler and verifier can enforce how they are handled.

Payment.intent
1field paymentToken: Secret
2 never log
3 never return to client
4 store encrypted
Sensitive
Handle with care; may appear in audits.
Secret
Never logged, never returned to a client.
Encrypted
Stored and transmitted encrypted.
PII
Personal data with handling obligations.
Internal
Not exposed outside the service boundary.
Public
Safe to expose.
AuditRequired
Access must be recorded.
RequiresPermission
Gated behind an explicit permission.

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, .NET, Java, Go, and Rust, plus artifacts like OpenAPI, Markdown, and Mermaid diagrams.

The intent CLI

A planned command-line interface drives the pipeline from source to proof. AI assistance is optional and traceable; every generated artifact records how it was produced.

intent check
Parse and validate a .intent file.
intent plan
Produce a deterministic implementation plan.
intent generate
Generate code for a target language.
intent verify
Run the checks that prove the guarantees.
intent docs
Generate Markdown documentation.
intent graph
Render the architecture as a diagram.
intent proof
Emit an .intent-proof.json artifact.

These commands are proposed, not shipped. Track them on the roadmap.

Status & stability

IntentLang 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.