Skip to main content

Keywords

IntentText has 40 canonical keywords (13 in the everyday core tier), grouped by purpose. Each keyword maps to a typed block with a fixed syntax, a defined set of pipe properties, and predictable rendering behavior.

78 of 78 keywords
KeywordCategorySinceDescriptionProperties
agent:Identityv2.0Agent name/identifier — pre-section metadata
amendment:Trustv2.11Formal change record for a frozen documentsection, was, now, ref, by, at, approved-by, hash
approve:Trustv2.8Approval stamp with signatory and roleby, role, at, ref
ask:Agentv1.0Question or open item requiring a response
assert:Agentv2.13Testable assertion — condition that must be true
audit:Agentv2.0Audit log entryby, at, action
break:Structurev1.0Page break for print — invisible in webbefore, keep
byline:Contentv2.5Author byline with date and publication
call:Agentv2.2Invoke a sub-workflow by file reference
caption:Contentv2.5Figure or table caption
checkpoint:Agentv2.0Named workflow checkpoint for resume and rollback
cite:Contentv1.0Bibliographic citation with author, date, and URLurl, author, date
code:Contentv1.0Code block with optional languagelang
columns:Datav1.0Table column definitions — declares column names for row: blocks
contact:Contentv2.11Person or organization contact informationrole, email, phone, org, address, url, preferred
context:Identityv2.0Agent execution context and scoped variablesagent, goal, constraints
danger:Contentv1.0Danger callout — irreversible actions or data loss risk
deadline:Structurev2.11Date-bound milestone or due datedate, consequence, authority, ref, owner, reminder
decision:Agentv2.0Conditional branchingif, then, else
dedication:Contentv2.5Document dedication page
def:Contentv2.11Term definition — inline or glossary entrymeaning, abbr
divider:Layoutv2.12Visible horizontal rule — also written as ---style
done:Agentv2.0Completed task item — the resolved state of a task: blockstatus, output
embed:Structurev1.0Embed a referenced external resource
epigraph:Contentv2.5Introductory quotation at the start of a document
error:Agentv2.0Error record with severity and retry metadatacode, severity, retry
export:Agentv2.0Export data or workflow output
figure:Contentv2.11Numbered, captioned figuresrc, caption, num, width, align, alt
font:Layoutv2.5Typography settings for printfamily, size, leading, weight, heading, mono
footer:Layoutv2.9Page footer for print outputleft, center, right, skip-first
footnote:Contentv2.5Numbered footnote
freeze:Trustv2.8Seal document — prevents further editsat, hash, status
gate:Agentv2.2Conditional checkpoint — blocks until condition is metcondition, timeout, fallback
handoff:Agentv2.1Transfer control to another agent
header:Layoutv2.9Page header for print outputleft, center, right, skip-first
history:Trustv2.12History boundary — separates document from revision log
image:Contentv1.0Inline image — no caption, no numbersrc, alt, width
import:Agentv2.0Import a workflow from a file
info:Contentv1.0Informational callout block
input:Datav1.3Declared input parameter for templates and workflowstype, required, default
link:Contentv1.0Hyperlink to an external resourceurl, title
loop:Agentv2.0Iterate over a collection
memory:Agentv2.0Agent memory or persistent state declarationscope, ttl
meta:Identityv2.8.1Free-form document metadata key-value pairstype, author, date, version, lang, license, domain, tags
metric:Datav2.11Quantitative measurement or KPIvalue, unit, period, as-of, target, trend, owner, source
model:Identityv2.0Default AI model for this document
output:Datav1.3Declared output parameter for templates and workflowstype, format
page:Layoutv2.5Page size, margins, and orientation for printsize, margins, orientation, columns, numbering
parallel:Agentv2.1Run multiple steps concurrently
policy:Agentv2.7Enforceable constraint or rulescope, enforce
progress:Agentv2.0Progress indicator for long-running operations
prompt:Agentv2.0LLM prompt templatemodel, temperature
quote:Contentv1.0Block quotation with optional attribution
ref:Structurev2.11Cross-document reference with typed relationshipfile, url, rel, section, at
result:Agentv2.1Terminal workflow result — final output block
retry:Agentv2.1Retry a failed step with backoff
revision:Trustv2.8Auto-generated revision record in history sectionversion, at, by, change, id, block, section, was, now
row:Datav1.0Table data row — pipe-separated cell values
secret:Agentv2.13Secret or credential reference — never rendered
section:Structurev1.0Section heading — renders as H2
sign:Trustv2.8Cryptographic digital signaturerole, at, hash
signal:Agentv2.2Emit a named workflow signal or eventevent, data
signline:Layoutv2.11Physical signature line for printname, role, date-line, org, width, label
step:Agentv2.0Workflow step — the basic unit of agent workid, tool, input, output, depends, timeout, retry
sub:Structurev1.0Subsection heading — renders as H3
success:Contentv1.0Success or confirmation callout block
summary:Identityv1.0Brief document description
task:Agentv1.0Actionable task item with owner and due date
text:Contentv1.0General body text — the default block typestyle properties
tip:Contentv1.0Helpful tip or suggestion
title:Identityv1.0Document title — renders as H1
toc:Structurev2.5Auto-generated table of contents
tool:Agentv2.0External tool or API declarationapi, method, auth
track:Identityv2.8Activate document history trackingversion, by
trigger:Agentv2.0Event-based workflow activationevent, source, filter
wait:Agentv2.1Pause execution until an event or timeout
warning:Contentv1.0Warning or caution callout block
watermark:Layoutv2.9Background watermark for print outputcolor, angle, size

How to read this table

  • Keyword — the canonical name you write in a .it file
  • Category — the functional group
  • Since — the version when this keyword was introduced
  • Description — what the block does
  • Properties — keyword-specific pipe properties (not including style properties which are available on all blocks)

Canonical keyword tiers

The 40 canonical keywords are grouped into five tiers (KEYWORD_TIERS in @dotit/core). The tier counts are authoritative; the documentation splits the everyday core tier across several category pages (Document Identity, Structure, Content, Tasks) for readability.

TierCountKeywords / purpose
core13title summary meta section sub text info quote code image link task done
agent9context ask step decision gate trigger result policy audit
contract8track approve sign freeze amendment certify route require
data3headers row metric
print7toc page header footer watermark style break

Each keyword has a dedicated entry in its category page with full syntax, properties table, examples, and behavioral notes. The documentation pages map onto the tiers as: Document Identity / Structure / Content / Tasks cover the core tier (plus context); Agent covers agent; Trust covers contract; Data covers data; Layout covers print.

Write keywords in Arabic

The canonical keywords ship with 32 registered Arabic localized keyword namesعنوانtitle, قسمsection, مهمةtask, صفrow, توقيعsign, and more. These are first-class localized names, not aliases: an Arabic document gets full canonical semantics, and the serializer re-emits keywords as written, so Arabic documents stay Arabic through every round-trip (sealed documents keep their hash):

عنوان: عرض سعر — توريد أجهزة الحاسوب
قسم: البنود
أعمدة: الوصف | الكمية | الإجمالي
صف: حاسوب محمول | 10 | 45,000 QAR
مؤشر: الإجمالي المستحق | value: 45,000 QAR
مهمة: مراجعة العرض | owner: سارة | due: 2026-06-25
توقيع: أحمد الراشد | role: المدير التنفيذي | at: 2026-06-12T09:00:00Z

The مهمة: line is a task block (type=task queries match it), the table keywords build a real table, and توقيع: is a tamper-evident sign: seal. Keywords and property keys are Unicode words in general, so any-script custom keywords (مصروف: كراسي | فئة: أثاث) parse as typed, queryable blocks too. Full table: Localized (Arabic) Keywords →.

Extension keywords

Beyond the 40 canonical keywords, IntentText supports extension blocks via a namespaced x-ns: prefix. Extensions cover domain-specific and advanced use cases without polluting the core keyword set.

NamespaceDomainStabilityExamples
x-form:Typed I/O parametersstableinput, output
x-writer:Editorial / publishingstablebyline, figure, caption, footnote, epigraph, dedication
x-doc:Document cross-referencesstabledef, contact, deadline, ref, signline, attach
x-agent:Advanced agent orchestrationstableloop, parallel, retry, wait, handoff, call, checkpoint, signal, import, export, progress, tool, prompt, memory, error, agent, model
x-trust:Trust historymachine-managedhistory, revision
x-layout:Advanced typographystablefont, divider
x-exp:Experimentalexperimentalassert, secret

Extension blocks follow the same pipe-property syntax as canonical blocks — x-<namespace>: <type> | key: value — and are parsed, rendered, and queryable through all core APIs:

x-form: input | label: Company name | key: company | type: text | required: yes
x-writer: byline | date: 2026-03-09
x-doc: ref | file: ./policy.it | rel: supersedes
x-doc: attach | name: receipt.pdf | mime: application/pdf | sha256: <hash>
x-agent: loop | over: invoices
x-trust: revision | version: 1.1 | by: Ahmed
x-layout: divider | style: dashed
x-exp: assert | expr: total > 0

Some extension blocks (notably x-trust: history entries) are machine-managed — don't edit them by hand. Bare legacy forms may still parse for compatibility, but the namespaced form is canonical.

Beyond the 40 canonical keywords and the x- extensions, any word you write before a : is a valid keyword — it parses as a typed, queryable custom block, so domain vocabulary never makes a document non-conformant (risk:, clause:, مصروف:). Because the set is open, teams interoperate best when they converge on the same word for the same concept.

The Recommended Keywords appendix is a curated, non-binding best-practice list of the words real documents use most (clause:, obligation:, sla:, risk:, milestone:, …) — convention to reduce synonym drift across a folder of documents, never a schema. Ignoring it never makes a document non-conformant.