Skip to main content

Capabilities

Everything .it can do, on one page. Each capability links to its guide, reference, and API so you can go from "can it do X?" to "here's exactly how" in one hop.

The throughline: a .it file is one plain-text artifact that is readable by people, parseable by code, and — when sealed — tamper-evident and verifiable offline, forever. The same file is your document, your data, your form, your contract, your config, and your audit trail. No second system to keep in sync.


Authoring & structure

CapabilityWhat it isDocs
Keyword model40 canonical keywords give every line a purpose; tiered core / agent / contract / data / printConcepts · Keywords
Bare prosetext: is optional — write natural prose, reach for keywords only when a line needs meaningBare prose
Arabic keywords32 localized keyword names (عنوان:, مهمة:) that resolve to the canonical keyword and round-trip as writtenLocalized keywords
Custom keywordsAny non-reserved word: … line parses as a typed custom block — never an error, never reinterpreted (zero synonym aliases = collision-free)Concepts §2
Sectionssection: (H2) / sub: (H3) group blocks; toc: builds a table of contentsStructure
Inline formatting*bold*, _italic_, ~strike~, `code`, dates, mentions, tags, footnote refsStyle properties
Two-tier stylingPipe properties (color:, weight:) + [text]{ key: value } inline spans + style: house rulesStyle properties
RTL / bidiArabic and mixed-direction documents render and round-trip correctlyLocalized keywords

Data & query

CapabilityWhat it isDocs
Tablesheaders: / row: typed tabular data; totals; each: dynamic rows from dataData keywords · Templates
Metricsmetric: measurable values, queryable and dashboard-readyMetrics cookbook
Typed values & moneymetric:'s value: holds a bare magnitude + unit: (ISO-4217 / % / unit); readTypedValue / metricTypedValue parse it to { number, currency, kind }Data keywords
Definitions & figuresdef: glossary entries, figure: numbered captioned figures, ref: cross-doc referencesData cookbook
Folder as a databaseEvery .it in a folder is a queryable row — no DB, no importA Folder Is a Database
Query enginequeryBlocks / queryDocument / dotit query across any number of filesQuery reference
Natural-language queryaskDocuments — ask a folder a question in plain EnglishCore API
Shallow index.it-index files for fast lookup over large foldersIndex files

Templates & merge

CapabilityWhat it isDocs
Templates{{variables}}, dot paths, array access; same parser as documentsTemplates · First template
Data mergemergeData / parseAndMerge — fill a template from JSONCore API
Dynamic rowseach: repeats a table row per array itemBuilding templates

Trust, signing & approvals

CapabilityWhat it isDocs
Integrity sealSHA-256 seal over canonical content (styling, comments, CRLF/whitespace excluded) — tamper-evident, offline-verifiable foreverTrust & Signing
Approve / sign / freeze / amendThe trust lifecycle, each step a line in the fileTrust & Signing
Ed25519 signatures@dotit/sign — cryptographic identity binding a key to a hashTrust §Layer 2
Authority / certificationUTS certify: with root→intermediate X.509-style chainTrust §Layer 3
In-file approval routingroute: / require: declare who must approve, in what order, conditionallyApproval Workflows
Derived workflow stateworkflowState() — pending / next / complete, never stored, can't driftApproval Workflows
Hash-chained auditappendApproval / verifyAuditChain — the approval order is tamper-evidentApproval Workflows
Byte preservationNo tool reformats a .it; reconcileEdit + storage contract keep seals intactByte Preservation
Amendmentsamendment: changes a frozen doc additively, preserving the original sealTrust §Amend

Forms, review & compliance

CapabilityWhat it isDocs
Fillable formsmeta: type: form + input: fields; text, choice, date, signature, table, attachmentForms
Conditional & computed fieldsshow-if: reveals fields; compute: derives values (safe, no eval)Forms
Two-party form trustAuthor seals the blank structure; filler seals the answers; both verify independentlyForm trust
AttachmentsCarry files by href: reference or embedded base64 (covered by the seal)Attachments
Redline & compareTracked changes + comments; compareVersions; accept/rejectRedline
Async co-authoringmergeThreeWay — merge two independent edits, surfacing conflictsCo-authoring
RedactionapplyRedactions legally removes content with a verifiable salted receiptRedaction

Output & rendering

CapabilityWhat it isDocs
HTMLrenderHTML with 8 built-in themes + per-document house stylingThemes · Core API
Print / PDFrenderPrint → WYSIWYG PDF; page setup, headers/footers, watermarksPDF export
Accessible (tagged) PDFStructure tree + alt text for screen readers (PDF/UA-style) — automaticAccessible PDFs
PDF/A archivaltoPdfA — XMP + sRGB + document ID, validated with veraPDFCompliance
PAdES signatures@dotit/pades — ECDSA + X.509 + CMS PDF signatures Adobe and courts recognizeCompliance
Mathmath: blocks + inline [E=mc^2]{math: tex}; MathML / KaTeX via @dotit/mathMath
Conversion.it ⇄ Markdown / HTML / .xlsx / .docxCore API

Agents & workflows

CapabilityWhat it isDocs
Agent keywordsstep: decision: gate: trigger: result: policy: audit: for machine workflowsAgent keywords · For Agents
Workflow extraction / executionextractWorkflow (DAG) / executeWorkflow with a runtimeCore API
MCP server@dotit/mcp — let an AI agent parse, render, query, and seal .it over MCPMCP server

Config & integration

CapabilityWhat it isDocs
Config / options fileA readable, commentable, signable alternative to YAML/JSONConfig & Options
Conformance checkcheckConformance(src, { level })lax (no errors) or strict (no warnings either); read-only, never rewritesConformance
Format version stampAn optional // it-format: 1.0 header comment → document.version; the level inferred from blocks used is document.detectedFeatureLevelConformance
Lossless round-tripparseIntentTextdocumentToSource reproduce source byte-for-byteConformance
Storage contracttoStorageRecord / verifyStorageRecord — byte-exact persistence, drift detectedByte Preservation
Embeddable editor@dotit/editor — a controlled React editor over plain .it sourceEditor
CLIdotit — seal, verify, amend, history, query, convert, renderCLI reference
SDKs & toolsnpm (@dotit/*), PyPI, VS Code extension, HubEcosystem
ERP / app integrationThe template → merge → seal → PDF pipeline in a backendERP Integration

The five things only .it does

If you remember nothing else, these are the capabilities no Word/PDF/YAML/DB stack gives you in one portable text file:

  1. One artifact, six jobs. Document, data, form, contract, config, and audit trail are the same file — no second system to sync. (Concepts)
  2. Trust travels with the file. A SHA-256 seal anyone can verify offline, forever — no vendor, no server. (Trust & Signing)
  3. The workflow lives inside the document. Routing policy, live state, and a tamper-evident approval trail are derived from the file, not a database. (Approval Workflows)
  4. The seal survives reformatting. The seal hashes canonical content, so restyling, reformatting, and CRLF/whitespace changes never break it — only a real content change does. Byte-preservation tooling keeps your stored file faithful on top of that. (Byte Preservation)
  5. It reads like a document and parses like a database. The same lines a clerk reads, code queries. (A Folder Is a Database)

Start here: Quick Start · Core Concepts · Reference Overview