nb

command module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2026 License: MIT Imports: 10 Imported by: 0

README

Grove Nb

nb is a command-line tool for managing Markdown notes within a structured, workspace-aware directory system. It creates a centralized storage layer for engineering notes, architectural concepts, and project plans, decoupled from the source code repositories they reference.

Core Mechanisms

Workspace Context: nb utilizes the grove core discovery service to map the current working directory to a specific workspace. Commands executed in ~/code/my-project automatically target ~/.grove/notebooks/nb/workspaces/my-project/, ensuring notes are organized by project context without cluttering the source repository.

Storage Structure: Notes are stored as Markdown files with YAML frontmatter. The default hierarchy organizes files by workspace and note type (e.g., inbox, daily, plans).

  • Frontmatter: Metadata such as id, tags, and created timestamps are maintained in the file header.
  • Centralization: By default, all data resides in ~/.grove/notebooks/, allowing for a unified knowledge base that can be backed up or version-controlled independently of project code.

Integration: Acts as the storage backend for other ecosystem tools. flow reads plans from the plans/ directory and docgen can store draft documentation.

Features

Note Management

  • Creation: nb new creates timestamped files in the inbox directory of the active workspace. Supports templates based on note type (e.g., daily generates a task list structure).
  • Organization: Commands like archive and move manage file lifecycles.
  • Search: nb search executes ripgrep (or grep) across the notebook directory, respecting workspace boundaries.

Terminal Interface (TUI)

nb tui launches a file browser for navigating the notebook structure.

  • Navigation: Vim-style keybindings for traversing the workspace tree.
  • Filtering: Supports filtering by tag (&) or content (/).
  • Preview: Renders Markdown content in a side pane.
  • Git Status: Visualizes file status if the notebook directory is a Git repository.

Concept Management

nb concept manages architectural knowledge entities.

  • Structure: Creates a directory containing a concept-manifest.yml and overview.md.
  • Linking: Establishes relationships between concepts, plans, and notes via the manifest, enabling a graph-like structure for technical documentation.

Remote Synchronization

nb remote sync synchronizes local Markdown notes with remote issue trackers (currently GitHub Issues and Pull Requests).

  • Bi-directional Sync: Updates local files based on remote changes and pushes local edits to the remote provider based on modification timestamps.
  • Metadata Mapping: Maps frontmatter fields (remote.id, remote.state) to GitHub API fields.

Version Control

nb git provides helpers for managing the notebook's own version control.

  • Initialization: nb git init configures a Git repository in the notebook root or specific workspace directory, generating appropriate .gitignore files.
  • Operations: nb git commit stages and commits changes within the notebook context.

Integrations

  • Obsidian: The directory structure is compatible with Obsidian vaults. The nb obsidian install-dev command links local plugins for deeper integration (this is out of date currently).
  • Editors: Opens notes in the system default $EDITOR.

See the documentation for detailed usage instructions:

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
pkg
tests
e2e command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL