Skip to main content
The get command fetches a single note from the index by its ID and returns its metadata as a JSON object. By default it returns everything except the body text, keeping the response compact. Add --body when you need the full Markdown content — for example when feeding a note into an LLM context or rendering it in a downstream tool.

Synopsis

smolbren get <id> [--body]

Arguments and flags

id
string
required
The note’s vault-relative ID. This is the path to the .md file relative to the vault root, with the .md extension removed and directory separators preserved. See Note ID format below.
--body
boolean
Include the note’s full Markdown body text in the response under the body field. The body is the raw Markdown content of the file, with frontmatter stripped. Omitting --body keeps the response small when you only need metadata.

Note ID format

A note’s ID is its vault-relative path without the .md extension. Given a vault rooted at /Users/alice/notes:
File pathNote ID
/Users/alice/notes/blogs/context-engineering.mdblogs/context-engineering
/Users/alice/notes/projects/prism.mdprojects/prism
/Users/alice/notes/Journal/2026, June 01.mdJournal/2026, June 01
IDs are case-sensitive and preserve the original directory casing from your vault. You can discover IDs from search, query, links, and backlinks output — they all use the same id field.

Output fields

Without --body — returns metadata only:
FieldTypeDescription
idstringVault-relative note ID
pathstringVault-relative file path including .md
typestring | nullThe note’s frontmatter type value, or null if absent
titlestringThe note’s title, derived from the first # Heading or the filename
frontmatterobject | nullThe note’s full frontmatter parsed into a JSON object. All frontmatter keys and values are included. null if the note has no frontmatter
With --body — all of the above, plus:
FieldTypeDescription
bodystringThe full Markdown body text with frontmatter stripped

Examples

Fetch metadata only (default)
smolbren get blogs/context-engineering
{
  "id": "blogs/context-engineering",
  "path": "blogs/context-engineering.md",
  "type": "blog",
  "title": "Context engineering",
  "frontmatter": {
    "type": "blog",
    "created": "2026-05-10",
    "updated": "2026-06-30",
    "status": "draft",
    "for": "[[orgs/junaid-foo]]",
    "mentions": ["[[projects/prism]]", "[[repos/smolbren]]"],
    "merged_from": ["[[blogs/context-development-lifecycle]]", "[[blogs/context-platform-engineering]]"],
    "derives_from": ["[[Journal/2026, June 01]]", "[[Journal/2026, June 04]]"],
    "published_url": "",
    "published_at": null
  }
}
Fetch with full body text
smolbren get blogs/context-engineering --body
{
  "id": "blogs/context-engineering",
  "path": "blogs/context-engineering.md",
  "type": "blog",
  "title": "Context engineering",
  "frontmatter": {
    "type": "blog",
    "status": "draft"
  },
  "body": "# Context engineering\n\nThe full markdown body of the note...\n"
}
get automatically parses the frontmatter and returns it as a plain JSON object under the key frontmatter — you never need to double-parse it. If a note has no frontmatter block, frontmatter is null.