Documentation
Everything from your first mission to the full specification.
Start with the mental model and a runnable tutorial, then go as deep as the reference. The language and its schemas are pre-1.0, but the compiler, CLI, and these docs are real today.
Start here
The mental model and your first ten minutes.
Manifesto
Why IntentLang exists, and prompt vs durable intent.
Read →Intent-oriented programming
The paradigm above OOP and FP: build around meaning, prove the code still honors it.
Read →Getting started
Ten minutes from install to running, testing, and gating intent.
Read →Tutorial
Write your first mission, step by step.
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 →Understand the language
The syntax and the constructs you write.
Syntax overview
The keywords, three layers, types, and blocks.
Read →Language principles
The ten design rules the language holds itself to.
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 →Data purpose and privacy
Purpose, retention, and lawful basis for sensitive data, enforced by the compiler.
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 →Understand software
Scan, map, and reason about existing and AI-written code.
Intent Scanner and Fable
Scan a project into Intent IR and explainable Fable findings grouped by risk.
Read →Optional AI assist
Where optional, gated AI helps, and where the compiler already does the work.
Read →Semantic Diff
A diff by meaning, plus a deterministic three-way semantic merge.
Read →Risk Radar
Which missions to review first, ranked by risk.
Read →Mission Atlas
A semantic map of many missions, from product to proof.
Read →Mission chains
Connected missions that form one end-to-end flow.
Read →AI-generated missions
Keeping dozens of agent-authored missions reviewable.
Read →Build and verify
From source to proof, editor, and adapters.
Runtime enforcement
Compile intent into a guard that blocks forbidden actions and redacts secrets at runtime.
Read →Compiler contract
The deterministic pipeline from source to proof.
Read →Proof Matrix
Verification status across many missions, at a glance.
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 →Graph to source (native round-trip)
Regenerate editable .intent source from an Intent Graph, closing the native round-trip.
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 →Schema migrations
Upgrade persisted graphs across schema versions, deterministically.
Read →Scale across a system
Navigate many missions and large changes.
Working with large changes
The hub for navigating many missions. Links every scaling concept.
Read →Build Session Digest
What changed this session, expressed in intent.
Read →MVP Readiness
demo_safe to production_ready: can this ship, and what blocks it.
Read →Tutorial: 200 missions to a release
From 200 missions to one Release Story, step by step.
Read →Reference
The exhaustive specification and catalogs.
Language specification
Draft language specification: lexical rules and constructs.
Read →Diagnostics catalog
Every canonical diagnostic code, its severity, and what it blocks.
Read →Intent for every role
One intent for Product, UX, and engineering (intent-graph-v1).
Read →One compiler, five consumers
The universal /core surface OpenThunder, Repo Mastery, Studio, Mobile, and the CLI all share.
Read →AI-age best practices
Ten practices for building software with AI in the loop.
Read →Operating checklist
The Top 100 things IntentLang must do, mapped to status.
Read →Ecosystem
How IntentLang fits the wider SkillsTech ecosystem.
Experimental and forward-looking
Designed and in progress. Read as direction, not a contract.
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.
1mission CreateInvoice23goal4 Generate an invoice from approved orders56why7 Customers need accurate invoices that are auditable and never duplicated.89requires10 Customer11 ApprovedOrders1213input14 customer: Customer15 orders: List<Order>16 idempotencyKey: IdempotencyKey1718output19 invoice: Invoice2021guarantees22 invoice.total is never negative23 duplicate invoices are not created24 every invoice is auditable2526never27 create invoice for unapproved order28 expose payment token in logs2930target31 TypeScript32 DotNet33 OpenAPI34 Tests35 Markdown36 Mermaid3738verify39 unit tests40 duplicate prevention test41 audit trail test42 security scanThree 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:
Security model
Security is first-class. Fields can be marked so the compiler and verifier can enforce how they are handled.
1field paymentToken: Secret2 never log3 never return to client4 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
The intent command-line interface drives the pipeline from source to proof, deterministically and with no AI required. AI assistance is optional and traceable; every generated artifact records how it was produced.
- intent check
- Parse a .intent file and report diagnostics; gate a whole directory.
- intent run
- Evaluate the decisions against inputs, with a full trace.
- intent test
- Run the in-file test blocks (cases and scenarios).
- intent build
- Emit docs, the contract graph, a test plan, and .intent-proof.json.
- intent graph
- Emit the canonical Intent Graph (intent-graph-v1).
- intent proof
- Emit the .intent-proof.json artifact.
- intent verify-diff
- Gate a code change against the intent it must uphold.
These commands are proposed, not shipped. Track them on the roadmap.
Status & stability
Want to follow along? Join the waitlist or check the roadmap.