Skip to main content
smolbren extracts every wikilink from note frontmatter and stores them as typed edges in the index. The links command shows which notes a given note points to (outgoing edges), while backlinks shows which notes point to it (incoming edges). Both commands support filtering by edge type so you can focus on a specific kind of relationship. Fetch the outgoing wikilink edges from a note — i.e. the notes that this note references. Synopsis
smolbren links <id> [--type <edge_type>]
id
string
required
The vault-relative ID of the source note (path without .md). For example, blogs/context-engineering. See Note ID format.
--type
string
Filter results to only edges of this relationship type. The edge type is the frontmatter key that contained the wikilink, e.g. mentions, for, derives_from. Use smolbren edges to discover what edge types exist in your vault.
Output Returns a JSON array of edge objects, sorted by (edge_type, position) — i.e. alphabetically by relationship type, then in the order the wikilinks appeared within each frontmatter field.
FieldTypeDescription
edge_typestringThe frontmatter key that contained this wikilink, e.g. mentions
to_idstringThe resolved vault-relative ID of the target note. Empty string if the link is unresolved
to_aliasstring | nullThe display alias from the wikilink, if one was specified with the |alias syntax
resolvedbooleanWhether the wikilink target was successfully matched to an indexed note
positionintegerZero-based index of this wikilink within its frontmatter field’s list
Example
smolbren links blogs/context-engineering --type mentions
[
  {"edge_type": "mentions", "to_id": "projects/prism",                           "to_alias": null, "resolved": true, "position": 0},
  {"edge_type": "mentions", "to_id": "repos/smolbren",                           "to_alias": null, "resolved": true, "position": 1},
  {"edge_type": "mentions", "to_id": "blogs/context-development-lifecycle",      "to_alias": null, "resolved": true, "position": 2},
  {"edge_type": "mentions", "to_id": "blogs/context-platform-engineering",       "to_alias": null, "resolved": true, "position": 3}
]

Fetch the incoming wikilink edges pointing to a note — i.e. the notes that reference this note. Synopsis
smolbren backlinks <id> [--type <edge_type>]
id
string
required
The vault-relative ID of the target note (path without .md).
--type
string
Filter results to only incoming edges of this relationship type.
Output Returns a JSON array of backlink objects, sorted by (edge_type, from_id) — alphabetically by relationship type, then by source note ID. Each object is enriched with the source note’s type and title from the notes dataset.
FieldTypeDescription
edge_typestringThe frontmatter key on the source note that contained the wikilink
from_idstringThe vault-relative ID of the source note
from_typestring | nullThe type field of the source note, or null if the source note has no type
from_titlestringThe title of the source note
Example
smolbren backlinks projects/prism
[
  {
    "edge_type": "for",
    "from_id": "blogs/context-engineering",
    "from_type": "blog",
    "from_title": "Context engineering"
  },
  {
    "edge_type": "mentions",
    "from_id": "blogs/context-engineering",
    "from_type": "blog",
    "from_title": "Context engineering"
  },
  {
    "edge_type": "mentions",
    "from_id": "Journal/2026, June 01",
    "from_type": null,
    "from_title": "2026, June 01"
  }
]

An edge with "resolved": false means the wikilink target recorded in to_id could not be matched to any indexed note at the time of the last smolbren index run. This can happen when a note is referenced before it exists, or when it is deleted. After adding or renaming the target note, run smolbren index to re-resolve the link. Run smolbren index --full to recompute all edge resolutions across the entire vault.