grove

Wikilinks and backlinks

Wikilinks turn your notes into a graph. In Grove, the graph reaches notes, files, symbols, and headings — not just other notes.

Forms

Syntax Resolves to
[[Note]] A note with that filename stem, case-insensitive
[[folder/Note]] A note at that subpath
[[Note|Alias]] Same as [[Note]], but renders Alias as the visible label
[[Note#Heading]] Opens the note and scrolls to the matching heading
[[fn:Symbol]] Opens the file containing Symbol and jumps to the declaration

fn: links resolve through Grove's syntax-aware outline, so they work in every language Grove understands — no language server required.

Autocomplete

Typing [[ opens a popup of vault notes, ranked exact > prefix > contains. Selecting one inserts a proper link node, so the rendered view shows the label from the start.

What the index covers

Wikilinks resolve across your whole vault — notes at the root, notes inside every workspace, and even Markdown files inside workspace worktrees. So [[some-note]] works regardless of where the note lives, and the index quietly skips build artifacts like node_modules.

Renaming or moving a note in the vault rewrites the wikilinks that point at it across the vault, so the graph follows the note instead of silently rotting. The rewriting is careful: an ambiguous name is never guessed at, [[folder/Note]] links follow both renames and moves, and #heading / |alias suffixes survive verbatim.

The right rail can show a Backlinks panel listing every note that links to the current file (via wikilink or fn:), with the linking line's snippet. Click any entry to open at that line.

The anchor layer: prose that points at code

Beyond [[wikilinks]], plain code references in your notes — paths, folders, filenames, symbols — become anchors: durable edges from prose to code targets. Your Markdown is never rewritten; Grove keeps a separate, rebuildable index of what each reference means.

  • Anchors use the same relocation logic as comments — a content fingerprint plus the code's structure — so a link to a function still lands after the file is refactored. Anchors that can't relocate are flagged stale, never deleted.
  • A background scan on vault open pre-resolves the references in every doc, so the graph exists even for prose nobody has clicked yet.
  • Ambiguous references open a picker on click; your choice sticks.

The payoff is delivery — the invisible graph made visible in three places:

  • The editor gutter: a glyph on every line of code that a vault doc is anchored to. Hover shows the docs with snippets; click jumps to them. Your past thinking resurfaces exactly where it's relevant.
  • Find-references: results include a Knowledge section listing the notes anchored to that symbol.
  • Agents: the anchors_in_scope MCP tool gives agents the same knowledge — notes about the code they're editing, relocated to current line numbers.

If the index ever drifts, Settings has a re-index action; the anchor graph rebuilds from your prose.

See also