A CLI tool for managing your markdown-based notes organized in notebooks.
- 📔 Notebook-based organization - Group notes into logical notebooks
- 🔍 SQL-powered search - Query notes using DuckDB with full-text search
- 📝 Markdown-native - Store notes as plain markdown with metadata
- 🏗️ Smart discovery - Auto-detect notebooks from directory context
- 🎨 Template support - Create notes from templates
- ⚡ Fast & lightweight - Single binary, no dependencies at runtime
bun install -g opennotes-
Initialize a notebook:
opennotes init
-
Create a note:
opennotes notes add "My First Note" -
List notes:
opennotes notes list
-
Search notes:
opennotes notes search "keyword"
opennotes notebook- Display current notebook infoopennotes notebook list- List all notebooksopennotes notebook create <name>- Create a new notebook
opennotes notes list- List all notes in current notebookopennotes notes add <title>- Create a new noteopennotes notes remove <path>- Delete a noteopennotes notes search <query>- Search notes
Global configuration is stored in:
- Linux:
~/.config/opennotes/config.json - macOS:
~/Library/Preferences/opennotes/config.json - Windows:
%APPDATA%\opennotes\config.json
Each notebook has a .opennotes.json file with notebook-specific settings.
# Create a notebook
opennotes notebook create "Work"
# Add notes to your notebook
opennotes notes add "Team Meeting Notes"
opennotes notes add "Project Ideas"
# Search across notes
opennotes notes search "deadline"
# List all notes
opennotes notes listInterested in contributing? See CONTRIBUTING.md for development setup, code style guidelines, and how to submit pull requests.
MIT License. See LICENSE for details.