Typed Graph and the alternatives.
Where Typed Graph fits next to lat.md, plain Obsidian and vector-only memory, including where each of them is the better choice.
At a glance
Everything here is something you can check. lat.md facts are for version 0.12.2, the one tg is tested against.
| Typed Graph | lat.md | Plain Obsidian | Vector-only memory | |
|---|---|---|---|---|
| Source of truth | Markdown files | Markdown files | Markdown files | An index built from the text |
| Links carry meaning | Typed, signed edges with properties | Plain links | Plain links | No explicit links |
| Docs checked against code | tg check, same verdicts as lat.md | lat check | No | No |
| Query | openCypher over docs and code | Locate, refs, search | Search and Dataview-style plugins | Similarity search |
| Agent access | CLI, hooks and 8 MCP tools | CLI, hooks and 6 MCP tools | Through third-party tools | Usually an API or MCP server |
| Setup for search | Lexical, no model or key; embeddings optional | Semantic, local model or API key | Built-in search | An embedding model |
| Human editing | Obsidian plugin and VS Code extension | Any editor | Obsidian | Rarely designed for it |
The honest version
vs lat.md
Typed Graph reads the same lat.md/ folders and agrees with lat check, so you can try it at no cost and use both. It adds typed edges from code, openCypher, a visual graph, no-setup search and an Obsidian plugin. lat.md is stronger on grammar-accurate symbol parsing, agent templates (Pi, OpenCode) and maturity. Read the full comparison.
vs plain Obsidian
Obsidian links say that two notes are related, not how. Typed Graph keeps your notes and your links and adds types, signs, properties, schemas, queries and a graph that follows the schema. Existing type:: [[Target]] lines keep working. Obsidian guide.
vs vector-only memory
Similarity finds text that looks like your question, but cannot say what implements what or what contradicts what. Typed Graph retrieves by relationship, can add vectors on top, and returns cited results. If you only need fuzzy recall over loose notes, a vector store alone is simpler. Vault as RAG storage.
Switching from lat.md
Your lat.md/ folder and @lat: comments stay as they are.
npm install -g @typedgraph/cli tg check # should match lat check tg init # dry run: see the diff tg init --write --migrate # swap the lat block, hooks and MCP entry
Not affiliated
lat.md is a separate open-source project by Yury Selivanov. Typed Graph is not affiliated with it, Obsidian or LadybugDB. If a statement here is out of date, please open an issue.