File tree and viewer
Grove's left side carries two trees: the vault rail of workspaces and notes (Workspace rail) and the project panel — the source file tree for the current project, with a Files / Changes toggle. Toggle it with Cmd+Shift+B; when the vault has several repos connected, switch between them from the breadcrumb in the top bar. The center is the file viewer: one surface that renders source code, Markdown, and HTML/SVG/PDF.
File tree
The tree is rooted at the project root, not per-workspace — it never swaps out from under you when you switch workspaces. Instead, it paints per-workspace activity stripes: a file changed by workspace A shows A's color in the tree, so you can see at a glance which agents touched what, across all workspaces at once.
- The Changes tab switches the panel to the active workspace's changed files (or the project's own working-tree changes when no workspace is active).
- The tree lists the live working tree (
.gitignore-aware) and refreshes on filesystem events — external edits from your shell or an agent show up without a refresh button.
Interactions
- Single click opens a file in a preview (replaceable) tab; double click pins it.
- Rename, delete, and multi-select bulk delete — the tree is a real file manager, not a viewer.
- New chat seeded with this path — start an agent conversation pointed at a file.
- The crosshair button reveals the currently open file; name search is the
Cmd+Ppalette (Search and palettes).
File viewer
The viewer picks a render mode from the file:
- Markdown → the WYSIWYG editor, with a raw-source toggle. See Markdown editor.
- HTML / SVG / PDF → rendered in-tab, with a source toggle.
- Everything else → a full source editor.
The same editor carries hover, go-to-definition, find-references, and semantic highlighting (Language intelligence), per-line git blame with a rich hover, the anchored-knowledge gutter (Wikilinks), and outline and backlinks rails. When the open file is inside the active workspace's worktree, that workspace's changes paint over it as the diff overlay.
What's editable
Files are editable in place with auto-save. The rule is simple: everything is editable except Grove's own internal bookkeeping (the comment database, chat transcripts, workspace metadata), which mounts read-only so a stray edit can't corrupt your vault.
Splits and tabs
The editor area is a recursive tree of split panes, each with its own tab strip. Tabs can hold files, browser views, terminals, or chats — drag them between panes, split them off, or tear them out into a new window. Ctrl+1–Ctrl+9 switch tabs in the focused pane.
Current limitations
- Tree refresh is event-driven; a missed filesystem event needs a manual reveal or re-list.
- If you and an agent edit the same Markdown note concurrently, your local edit wins until the next file switch reloads from disk.