keepnote: A Simple CLI Tool That Solves Note-Taking

Creating notes and finding what you need should be simple and instant. You think, you write, you find.

I built keepnote, a CLI tool for instant note-taking and search using plain text files.


Update (2025-11-04): keepnote 3.0 is out with new features. Read what’s new →


The Problem

Taking notes should be instant. You have a thought, you capture it, you move on. Later, when you need it, you find it fast.

Most note-taking solutions add friction:

  • UI distractions when you just want to write
  • Too many steps to create or find notes
  • Search that requires navigation and multiple clicks
  • Designed for mouse interaction with keyboard support as afterthought
  • Feature-heavy, complex UIs tempting us to overthink organization, distracting from our primary purpose
  • Proprietary formats require painful export/conversion to switch tools

What if note-taking was just… create search edit?

The Solution: keepnote

Two operations, zero friction:

Create

kn "meeting notes" - Creates file, opens editor, start writing.

kn - Type to filter, see matches, press Enter → editor opens at the line.

Built With

Three battle-tested CLI tools:

  • ripgrep - Searches gigabytes of text in milliseconds
  • fzf - Interactive fuzzy finder with live filtering
  • bat - Syntax-highlighted preview

Why It Matters

Plain text files are portable. Grep them, git them, sync them anywhere. No vendor lock-in, no format migrations. Works with any editor you prefer. I use chezmoi to sync my notes across machines - could just as easily use git, syncthing, or even Dropbox.

Composing existing tools beats building from scratch. ripgrep is faster than anything I could write. fzf’s fuzzy matching is battle-tested by millions. bat’s syntax highlighting supports every language. Why reinvent when you can orchestrate?

Date-prefixed filenames solve organization. Natural chronological sorting. Easy to scan in any file browser. No folders, tags, or metadata needed.

Simple tools, focused purpose. The tool does two things well - create and search. It doesn’t have cloud sync, rich text, mobile apps, or AI features. Each note is a file. Each search is ripgrep + fzf. That’s the entire mental model.

Fast tools, plain formats, zero complexity.


Install: npm install -g keepnote (GitHub | npm)

Credits: Inspired by ripnote by cekrem.