Objects & Types
Objects
Section titled “Objects”An Object is the basic unit of TypeMD. Each object is stored as a Markdown file with YAML frontmatter (properties) and body content.
Object ID
Section titled “Object ID”Object IDs follow the format type/filename, e.g. book/golang-in-action. Each directory under objects/ is a type namespace — different types can share the same filename.
Data Structure
Section titled “Data Structure”vault/├── .typemd/│ ├── types/ # type schema definitions (YAML)│ │ ├── book.yaml│ │ └── person.yaml│ └── index.db # SQLite index (auto-updated)└── objects/ ├── book/ │ └── golang-in-action.md └── person/ └── alan-donovan.mdEvery object belongs to a type. Types define property names, data types, and validation rules via schema files stored in .typemd/types/.
Built-in Types
Section titled “Built-in Types”| Type | Properties |
|---|---|
book | title (string), status (enum: to-read/reading/done), rating (number) |
person | name (string), role (string) |
note | title (string), tags (string) |
Property Types
Section titled “Property Types”| Type | Description | Example |
|---|---|---|
string | Text | "Go in Action" |
number | Integer or float | 42, 3.14 |
enum | Enumerated value, requires values | "reading" |
relation | Link to another object | "person/alan" |