A simple command-line note-taking tool built with bash. It uses the nano text editor by default to create, read, edit, delete, search, and list notes.
- Create notes quickly with markdown support
- List notes with numbering
- Read notes with beautiful markdown formatting by default
- View raw markdown when needed
- Edit notes with your preferred editor
- Delete notes safely
- Search notes by content
- Support for short command aliases (e.g.,
n
for new,r
for read) - Auto-installs markdown renderers with .deb package
- Version tracking built-in
- Simple and portable bash script
- Download the latest
.deb
package from the GitHub Releases page. - Install it using:
sudo dpkg -i note-cli_*.deb
- Download the
note
script from the releases or clone this repo. - Make it executable and move to your PATH:
chmod +x note
sudo mv note /usr/local/bin/
- (Optional) Add environment variables to your shell config (~/.bashrc or ~/.zshrc):
export NOTES_DIR="$HOME/notes"
export EDITOR="nano"
source ~/.bashrc
note n "My new note" # Create a new note
note l # List notes
note r 1 # Read first note (beautiful formatting)
note raw 1 # View raw markdown (if needed)
note e mqtt # Edit note with "mqtt" in its name
note s keyword # Search notes for keyword
note d 1 # Delete first note
note h # Show help
note v # Show version
The read
command (note r
) now renders your markdown notes beautifully by default! When you install via the .deb
package, it automatically sets up the best markdown renderer available.
The .deb
package automatically handles dependencies:
- Core dependencies:
nano
,grep
,find
,sed
,coreutils
- Automatic setup: Tries to install
glow
via snap, falls back tobat
if needed - Zero configuration: Works out of the box with beautiful formatting
- glow - Beautiful terminal markdown renderer (auto-installed)
- bat - Syntax highlighter with markdown support (fallback)
- mdcat - Rust-based renderer (if available)
- pandoc - Universal document converter (if available)
- Built-in formatter - Always available as final fallback
# Best option - glow
sudo snap install glow
# Alternative - bat
sudo apt install bat
# If you have Rust - mdcat
cargo install mdcat
Even without external tools, the built-in formatter provides excellent formatting:
- 🎨 Headers (H1-H4) with colored styling and visual separators
- Bold and italic text formatting
Code blocks
and inline code highlighting- • Bullet points and → numbered lists with proper indentation
- 🔗 Links with URL display
- ──── Horizontal rules ────
- │ Blockquotes with visual indicators
- Proper spacing and line breaks
If you need to see the raw markdown (for editing or debugging):
note raw 1 # View unformatted markdown
# Remove the package (keeps your notes and dependencies)
sudo apt remove note-cli
# Complete removal with cleanup options
sudo apt purge note-cli
When you uninstall note-cli:
-
During removal (
apt remove
):- Removes the
note
command - Asks if you want to remove markdown rendering dependencies (glow, bat)
- Gives you the choice to keep or remove them
- Removes the
-
During purge (
apt purge
):- Performs complete removal
- Asks if you want to delete your notes directory (
~/notes
) - Gives you the choice to preserve or delete your notes
# Remove dependencies manually
sudo snap remove glow # If installed via snap
sudo apt remove bat # If installed via apt
# Remove notes directory manually
rm -rf ~/notes # ⚠️ This deletes all your notes!
# Remove any custom configuration
unset NOTES_DIR EDITOR # Clear environment variables
The package uninstaller is designed to be safe:
- Never removes dependencies without asking
- Never deletes notes without explicit confirmation
- Checks dependencies before removal to avoid breaking other packages
- Provides clear options for what to keep or remove
This tool uses semantic versioning. See the current version with:
note v
MIT License