A minimal CLI note-taking tool. Notes are plain files stored in a directory of your choice.
pip install -e .nnote initPrompts for a notes directory (default: ~/nnotes) and a default editor. Config is saved to ~/.config/nnote/config.yaml. If $EDITOR is set in your environment, it will be used as the editor default.
Create a new note and open it in the configured editor. Use -d to place the note inside a subdirectory of your notes directory (created automatically if it doesn't exist).
nnote new todo
nnote new standup -d workPrint the contents of a note to stdout.
nnote view todo
nnote view standup -d workOpen an existing note in the configured editor. Errors if the note doesn't exist (use new to create it).
nnote edit todoDisplay all notes as a tree. Scope to a subdirectory with -d.
nnote list
nnote list -d work/home/user/nnotes
├── work/
│ ├── meeting
│ └── standup
└── todo
Remove a note or a directory. When dropping a directory, prompts for confirmation if it contains files.
nnote drop todo # remove a note
nnote drop standup -d work # remove a note inside a subdirectory
nnote drop -d work # remove the entire directoryMove or rename a note. Provide a new title to rename, --dest-dir to move to another subdirectory, or both.
nnote move todo done # rename
nnote move standup -d work --dest-dir arch # move to another subdirectory
nnote move standup meeting -d work # rename within a subdirectorySearch notes by title and content. Results are ranked by relevance: exact title matches score highest, followed by prefix/substring/fuzzy title matches, then content hits. Matched terms are highlighted in the output.
nnote search meeting
nnote search budget -d workwork/meeting [title]
3: discussed the project budget
7: next meeting on friday
~/.config/nnote/config.yaml
notes_dir: /home/user/nnotes
editor: nvimThe editor field can be any terminal editor command (vim, nano, hx, etc.). If omitted, $EDITOR is used.
This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for details.