grove nb grove nb

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.yml under the notebooks key.
  • Workspace Context: nb commands 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 the inbox directory 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 nb

Verify installation:

bash
nb version

Requires the grove meta-CLI.