Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xwmx/nb/llms.txt
Use this file to discover all available pages before exploring further.
nb is a command-line and local web note-taking, bookmarking, archiving, and knowledge base application packed into a single portable Bash script. It stores everything in plain text — primarily Markdown — so your data is always readable, portable, and free from vendor lock-in. Whether you keep a handful of quick notes or manage thousands of bookmarks across multiple notebooks, nb scales gracefully and stays out of your way.
What nb Does
At its core,nb solves the problem of fragmented knowledge management. Most note-taking tools either lock your data in proprietary formats, require a constant internet connection, or demand a heavy desktop application. nb takes a different approach: your notes live as ordinary text files in ~/.nb, versioned by Git, editable in any text editor, and accessible from any terminal — no account, no sync service, no subscription required.
nb works in any standard Linux / Unix environment, including macOS and Windows via WSL, MSYS, and Cygwin. The system only needs Bash, Git, and a text editor to get started.Key Features
📝 Notes
Create, edit, view, search, tag, and organize notes in Markdown, Org, LaTeX, AsciiDoc, or any other format. Full-text search and wiki-style linking included.
🔖 Bookmarks
Save URLs as structured Markdown files with cached page content. Search across saved pages locally, view in a distraction-free browser, and never lose a broken link.
✅ Todos & Tasks
Manage todos and nested tasks using plain Markdown checkboxes. List, complete, and filter tasks without leaving the terminal.
🔍 Search & Filtering
Search notes and bookmark content with full-text, tag-based, and regular expression queries using
nb search or the nb q shortcut.🔄 Git Sync
Every change is automatically committed to a local Git repository. Push and pull to any remote to sync notes across machines or collaborate with others.
🔒 Encryption
Password-protect individual notes and bookmarks with AES-256 via OpenSSL or GPG. Each item is encrypted independently with its own password.
🔌 Plugins
Extend
nb with shell script plugins. The community plugin library covers backlinks, clipboard integration, weather, and much more.🌍 Browsing
Browse notes and bookmarks in terminal or GUI web browsers via a locally-served web interface with full search, tag filtering, and editing support.
Design Philosophy
Plain Text, Always
Every itemnb creates is a human-readable text file. Notes are Markdown by default, but nb works with Org, LaTeX, AsciiDoc, and any other format you choose. There is no proprietary database, no binary blob, and no export step required to get your data out. The files are yours.
A Single Portable Script
The entire program is contained within one well-tested shell script. You can install it with a package manager,curl it directly onto a new server, or copy it to a USB drive — it just works. This design means nb is trivially auditable, easy to update, and impossible to accidentally misconfigure with a complex dependency tree.
Progressive Enhancement
nb follows the principle of progressive enhancement: it works fully with nothing more than Bash and Git, and silently gains capabilities when optional tools like bat, pandoc, or ripgrep are available. A minimal install is never a degraded experience — it is the baseline.
No Lock-In
Because notes are plain files in a standard directory, you can edit them with Vim, Emacs, VS Code, Sublime Text, Helix, nano, or any GUI editor. You can sync them with Git, Dropbox, or any other method. You can read them withoutnb installed. The tool serves your workflow; your workflow does not serve the tool.
Supported Platforms
nb runs anywhere Bash and Git are available:
- Linux — all major distributions
- macOS — natively or via Homebrew
- Windows — via WSL, MSYS, or Cygwin
- Any Unix-like environment — including BSD systems and Cygwin