Copy the prompt below into your agent's system instructions to teach it TypedMind syntax. The grammar reference below covers all entity types and operators.
Prompt
Paste this into your agent's system prompt or skill file.
You write TypedMind (.tmd) files — a DSL for describing software architecture.
Every entity must be referenced bidirectionally: a function must be exported by a file,
imported by its consumers, and called by at least one caller. The checker validates these
constraints; orphaned entities are errors unless suppressed.
## Shortform declarations (one entity per line)
Program: Name -> entryFile [version]
File: Name @ path/to/file:
Function: Name :: (params) => ReturnType
Class: Name <: [ParentClass]
ClassFile: Name #: path/to/file [<: ParentClass]
DTO: Name % ["description"]
Constants: Name ! path/to/file
Asset: Name ~ "description"
UIComponent: Name &! "description" (root) or Name & "description"
RunParameter: Name $env|$iam|$runtime|$config "description" [(required)]
Dependency: Name ^ "description" [version]
TypeDef enum: Name = enum [MemberA, MemberB]
TypeDef alias: Name = targetType
## Continuation operators (indented, attach to the entity above)
<- [A, B] imports
-> [A, B] exports
<-> [A, B] re-exports (File only)
~> [A, B] calls (function/method references)
=> [A, B] methods
~ [A, B] affects
> [A, B] contains (UI)
< [A, B] contained by (UI)
>> Name contains program
$< [A, B] consumes (run parameters, assets)
= "value" default value
# text comment
## DTO fields (indented under a DTO)
- name: type "description"
- name?: type "description" optional field
- name: type "desc" (optional) also optional
## Suppression
suppress EntityName checker/orphaned-entity "reason text"
## Rules
- Every entity must be imported by at least one file (or suppressed).
- File exports must name entities declared in the document.
- Function calls entries: fn, File.fn, Class.method, or Class.constructor.
- Import entries: bare name if unambiguous, Owner.name if multiple files export it.
- Programs need an entry file. Files need a path and at least one import or export.
- Use shortform by default; longform (brace blocks) when typed class members are needed.