Markdown editor
Grove's notes surface — a full WYSIWYG Markdown editor that lives in the same window as your code, so the notes you write and the files they describe can point at each other.
Two views, one file
Every Markdown file has a rendered (WYSIWYG) view and a raw source view, toggleable from the file header. Notes open rendered by default. Edits auto-save on a short debounce, and the serializer round-trips cleanly — saving a version-controlled doc doesn't rewrite its bullets or churn its diff.
Toggling preserves your position: flip raw → rendered and the block under your cursor stays at the top; flip back and the cursor lands on the matching source line. Scroll position is remembered per file across tab switches.
If an agent rewrites a note you have open, the view reloads from disk — unless you have unsaved edits, which always win.
The outline rail
The right rail shows a table of contents parsed from the headings, with the current heading highlighted as you scroll. On by default for Markdown files.
Slash menu
Typing / at the start of a block opens a command list — headings, lists, quote, code, Mermaid, table, divider, image, link — plus the full catalog of live :grove-* panels: workspace cards, kanban boards, diffs, embedded agent chats. Each command inserts a real editor node, not literal text. See Directives.
Starter templates
The sidebar's New from template picker seeds a note from a built-in template: Daily log (date-aware), To-do, Sprint, Known bugs, Project plan / PRD, Engineering plan. Templates use live directives, so a fresh Daily log already has a working board in it.
New blank notes start as untitled.md and rename themselves from their first line — type a heading and the file follows.
Tags
#tags in prose are highlighted, autocomplete as you type, and are searchable — filter the sidebar by tag, or search tags from Cmd+K.
Rich blocks
- Mermaid diagrams in fenced
```mermaidblocks render inline as SVG. - Code blocks are syntax-highlighted, with a language picker on the block.
- Checklists — clicking
[ ]/[x]toggles the underlying Markdown safely. - Image paste & drop writes into the note's
attachments/folder and renders immediately.
Cross-linking to code
Code references in plain prose — src/foo.ts, a folder like auth/, a bare filename, a symbol like resolveDeeplink() — light up as links, but only when they actually resolve to something in a connected project. Ordinary prose never lights up by accident. Clicking navigates there; if a reference is ambiguous (two files named utils.ts), a picker opens and your choice is remembered. These links are content-anchored, so they survive refactors — see Wikilinks.
Typing @ opens an inline file palette; selecting a file inserts a Markdown link to it. External URLs autolink as you type or paste.
Reading style
Settings → Appearance → Markdown style switches rendered notes between the default style and a Reading style with wider line-height and a narrower column for long-form reading.
See also
- Wikilinks and backlinks —
[[Note]],[[fn:Symbol]], code anchors. - Directives — live panels inside notes.
- Publishing — share a note or folder as a hosted page.