(new name pending) warning: this is very vibey
Lazynotes is a super simple notes and todos management terminal application, heavily inspired by lazygit.
It's still in it's infancy so relax about features.
No dependencies required - just download and run.
Download the latest binary for your platform from Releases:
# Download and extract
tar -xzf lazynotes-darwin-arm64.tar.gz # or lazynotes-darwin-x64.tar.gz for Intel
# Install globally
./install.sh
# Or manually copy to PATH
sudo cp lazynotes /usr/local/bin/Then run lazynotes from anywhere.
Prerequisites: Node.js (v18+)
# Clone and install
git clone https://github.com/MSH-01/lazynotes.git
cd lazynotes
npm install
# Run
npm startPrerequisites: Bun
# Build for current platform
npm run build
# Build for specific platform
npm run build:mac-arm # Apple Silicon
npm run build:mac-intel # Intel Mac
npm run build:all # Both
# Binary output in dist/
./dist/lazynotesCurrently allows you to create new notes and directories, stored in your root /notes. The notes is pretty basic, you can edit with vim (default behaviour)
You can create todo items, categories, subcategories, due dates, priorities and earn some karma by ticking them off (todoist inspired).
- Press
vto enter visual selection mode j/kextends selection range (highlighted in blue)- Operations apply to all selected items:
- Files:
dbatch delete - Todos:
xtoggle,ddelete,ppriority,ccategory,udue date
- Files:
- Auto-exits when switching tabs or panels
- Escape cancels selection
- Slash notation:
Work/Projects/Q1 - Creating sub-category auto-creates parents
- Collapsing parent hides all children
- Deleting parent cascades to children (todos → Uncategorised)
- Helper functions in
todos.ts:parseCategoryPath(),getParentPath(),getCategoryDepth()isDescendantOf(),isCategoryVisible(),sortCategoriesHierarchically()
- Press
/to start search (fuzzy matching via fuzzysort) - Type query, Enter confirms filter
- Escape clears filter
- Files: searches file names
- Todos: searches todo text only (not categories)
- Implemented via
useFilteredListhook
- Points awarded for todo actions, displayed in Status panel
- Stored in
~/.config/lazynotes/karma.json
| Action | Points |
|---|---|
| Complete P1 todo | +40 |
| Complete P2 todo | +30 |
| Complete P3 todo | +20 |
| Complete P4 todo | +10 |
| Create todo | +5 |
| Uncomplete todo | -points |
| Delete incomplete | -5 |
| Karma | Level | Title |
|---|---|---|
| 0-99 | 1 | Beginner |
| 100-499 | 2 | Apprentice |
| 500-999 | 3 | Achiever |
| 1000-2499 | 4 | Pro |
| 2500-4999 | 5 | Expert |
| 5000-9999 | 6 | Master |
| 10000+ | 7 | Enlightened |
-
Jarring overflow when you first load into the appFixed with fullscreen-ink
Notes
- File search
- Backlinks
- Tags
- Custom frontmatter
- Categories / Subcategories
Todos
- Edit existing todos
- Filtering
- Auto-archive for completed todos

