grove nb grove nb
grove-notebook (nb) is a command-line tool for managing Markdown notes within a structured, workspace-aware directory system.
Key Features
- Note Organization: Notes are stored as Markdown files within a hierarchical directory structure.
- Terminal UI: Includes a terminal-based file browser (
nb tui) for navigating notes across all workspaces. - Concept Management: Provides commands (
nb concept) to create and link documents representing architectural concepts. - Remote Sync: Syncs notes with remote systems like GitHub Issues and Pull Requests (
nb remote sync). - Search: Provides full-text search capabilities using ripgrep (with grep fallback).
- Internal Git Management: Includes commands to initialize and manage Git repositories within the notebook’s storage directories (
nb git). - Obsidian Compatibility: The notebook directory can be opened as an Obsidian vault.
How It Works
nb relies on grove’s core library for configuration and workspace discovery.
- Configuration: The notebook’s root directory and other behaviors are defined in
~/.config/grove/grove.ymlunder thenotebookskey. - Workspace Context:
nbcommands operate relative to the current project directory.core’s discovery service maps this directory to a corresponding workspace inside the notebook. - Directory Structure: The default structure organizes notes by workspace. A typical path for a note is
NOTEBOOK_ROOT/workspaces/PROJECT_NAME/NOTE_TYPE/NOTE_FILE.md.
Core Commands
nb new [title]: Creates a new note in theinboxdirectory of the current workspace.nb list [type]: Lists notes, with flags to filter by type, tag, or across workspaces.nb search <query>: Performs a full-text search over notes.nb tui: Launches an interactive terminal UI for browsing the entire notebook.nb concept <subcommand>: Manages architectural concept documents.nb remote sync: Synchronizes notes with configured remote sources.
Ecosystem Integration
nb functions as a storage backend for other tools in the Grove ecosystem (e.g. flow, docgen, skills.
Installation
Install via the Grove meta-CLI:
bash
grove install nbVerify installation:
bash
nb versionRequires the grove meta-CLI.