SkillAgentSearch skills...

Nb

CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.

Install / Use

/learn @xwmx/Nb

README

<p align="center"></p><!-- spacer --> <div align="center"> <img src="https://raw.githubusercontent.com/xwmx/nb/master/docs/assets/images/nb.png" alt="nb" width="200"> </div> <p align="center"></p><!-- spacer --> <div align="center"> <a href="https://github.com/xwmx/nb/actions" rel="nofollow"> <img src="https://img.shields.io/github/actions/workflow/status/xwmx/nb/tests.yml?branch=master" alt="Build Status" style="max-width:100%;"> </a> </div> <div align="center">&nbsp;</div><!-- spacer --> <br/>

nb is a command line and local web note‑taking, bookmarking, archiving, and knowledge base application with:

and more, in a single portable script.

nb creates notes in text-based formats like Markdown, Org, LaTeX, and AsciiDoc, can work with files in any format, can import and export notes to many document formats, and can create private, password-protected encrypted notes and bookmarks. With nb, you can write notes using Vim, Emacs, VS Code, Sublime Text, and any other text editor you like, as well as terminal and GUI web browsers. nb works in any standard Linux / Unix environment, including macOS and Windows via WSL, MSYS, and Cygwin. Optional dependencies can be installed to enhance functionality, but nb works great without them.

<div align="center"> <img src="https://xwmx.github.io/misc/nb/images/nb-theme-nb-home.png" alt="home" width="450"> </div>

nb is also a powerful bookmarking system featuring:

  • locally-served, text-centric, distraction-free bookmark browsing in terminal and GUI web browsers,
  • local full-text search of cached page content with regular expression support,
  • convenient filtering and listing,
  • Internet Archive Wayback Machine snapshot lookup for broken links,
  • tagging, pinning, linking, and full integration with other nb features.

Page information is downloaded, cleaned up, structured, and saved into normal Markdown documents made for humans, so bookmarks are easy to view and edit just like any other note.

<div align="center"> <img src="https://xwmx.github.io/misc/nb/images/gui-terminal-browse.png" alt="nb browse" width="500"> </div>

nb uses Git in the background to automatically record changes and sync notebooks with remote repositories. nb can also be configured to sync notebooks using a general purpose syncing utility like Dropbox so notes can be edited in other apps on any device.

<div align="center"> <img src="https://xwmx.github.io/misc/nb/images/terminal-empty.png" alt="nb list empty" width="450"> </div>

nb is designed to be portable, future-focused, and vendor independent, providing a full-featured and intuitive experience within a highly composable multimodal user-centric text interface. The entire program is contained within a single well-tested shell script that can be installed, copied, or curled almost anywhere and just work, using a strategy inspired by progressive enhancement for various experience improvements in more capable environments. nb works great whether you have one notebook with just a few notes or dozens of notebooks containing thousands of notes, bookmarks, and other items. nb makes it easy to incorporate other tools, writing apps, and workflows. nb can be used a little, a lot, once in a while, or for just a subset of features. nb is flexible.

<div align="center">&nbsp;</div><!-- spacer --> <div align="center"> <sub> 📝 🔖 🔍 🌍 🔒 ✅ 🔄 🎨 📚 📌 📂 🌄 </sub> </div> <p align="center">&nbsp;</p><!-- spacer --> <div align="center"> <h1 align="center" id="nb"><code>nb</code></h1> </div> <div align="center"> <a href="#installation">Installation</a>&nbsp;· <a href="#overview">Overview</a>&nbsp;&nbsp; </div> <p align="center"></p><!-- spacer --> <div align="center"> <a href="#-help">Help</a> </div> <p align="center"></p><!-- spacer --> <div align="center"> <a href="#top">&nbsp;↑&nbsp;</a> </div>

Installation

Dependencies

Required
Optional

nb leverages standard command line tools and works in standard Linux / Unix environments. nb also checks the environment for some additional optional tools and uses them to enhance the experience whenever they are available.

Recommended:

Also supported for various enhancements:

Ack, afplay, asciidoctor, The Silver Searcher (ag), catimg, Chafa, Chromium / Chrome, eza, ffplay, ImageMagick, glow, GnuPG, highlight, imgcat, joshuto, kitty's icat kitten, lowdown, lsd, Links, Lynx, mdcat, mdless, mdv, Midnight Commander (mc), mpg123, MPlayer, ncat, netcat, note-link-janitor (via plugin), pdftotext, Pygments, Ranger, readability-cli, rga / ripgrep-all, sc-im, socat, termvisage, termpdf.py, Tidy-Viewer (tv), timg, vifm, viu, VisiData

macOS / Homebrew

brew install xwmx/taps/nb

Installing nb with Homebrew also installs the recommended dependencies above and completion scripts for Bash, Zsh, and Fish.

Install the latest development version from the repository with:

brew install xwmx/taps/nb --head

nb is also available in homebrew-core. Installing it together with the bash formula is recommended:

brew install nb bash

Ubuntu, Windows, and others

npm
npm install -g nb.sh

After npm installation completes, run sudo "$(which nb)" completions install to install Bash and Zsh completion scripts (recommended).

On Ubuntu and WSL, you can run sudo "$(which nb)" env install to install the optional dependencies.

When nb is installed on Windows, socat (MSYS, Cygwin) is recommended.

*nb is also available under its original package name, notes.sh, which comes

Related Skills

View on GitHub
GitHub Stars8.1k
CategoryDevelopment
Updated6h ago
Forks244

Languages

Shell

Security Score

100/100

Audited on Mar 21, 2026

No findings