navnote

command module
v0.0.0-...-af4d068 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2026 License: MIT Imports: 8 Imported by: 0

README

███╗   ██╗ █████╗ ██╗   ██╗███╗   ██╗ ██████╗ ████████╗███████╗
████╗  ██║██╔══██╗██║   ██║████╗  ██║██╔═══██╗╚══██╔══╝██╔════╝
██╔██╗ ██║███████║██║   ██║██╔██╗ ██║██║   ██║   ██║   █████╗  
██║╚██╗██║██╔══██║╚██╗ ██╔╝██║╚██╗██║██║   ██║   ██║   ██╔══╝  
██║ ╚████║██║  ██║ ╚████╔╝ ██║ ╚████║╚██████╔╝   ██║   ███████╗
╚═╝  ╚═══╝╚═╝  ╚═╝  ╚═══╝  ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚══════╝

A minimal, keyboard-driven note-taking app that lives in your terminal.
Notes are plain .md files. No database. No cloud. No nonsense.

Go License Built with Bubble Tea


What is NavNote?

NavNote is a TUI (terminal user interface) note-taking app written in Go. It stores everything as plain Markdown files in ~/.navnote/ — so your notes are always yours, readable by any editor, and easy to sync with Git, Dropbox, or whatever you prefer.

No accounts. No subscriptions. No Electron. Just your terminal and your thoughts.

🌿Just like Bulbasaur is the best. NavNote is the best terminal notes app.


Features

  • 📝 Create & edit Markdown notes without leaving the terminal
  • 📋 Browse all notes in a filterable, searchable list
  • 💾 Save with a single keypress
  • 🎨 Lavender-themed TUI built with Bubble Tea
  • 📁 Plain .md files — no lock-in, works with any editor
  • Fast — no startup time, no loading screens
  • 🔍 Fuzzy filter notes by name in the list view

Installation

⚠️ Make sure you have Go 1.21+ installed firsthttps://go.dev/doc/install

go install github.com/ekansh-exe/navnote@latest

Make sure your Go binary path is on $PATH:

# Add this to your ~/.bashrc or ~/.zshrc if not already there
export PATH="$PATH:$(go env GOPATH)/bin"

Then just run:

navnote

Option 2 — Build from source

git clone https://github.com/ekansh-exe/navnote.git
cd navnote
go build -o navnote .
./navnote

Option 3 — Using Make

git clone https://github.com/ekansh-exe/navnote.git
cd navnote
make run        # run directly without building
make build      # build the binary
make install    # install globally via go install

Requirements

  • Go 1.21+Install Go
  • A terminal with 256 color support (any modern terminal: iTerm2, Alacritty, WezTerm, GNOME Terminal, Windows Terminal, etc.)

Keyboard Shortcuts

Key Action
Ctrl+N Create a new note
Ctrl+L Open the notes list
Enter Open the selected note
Ctrl+S Save the current note
Esc Go back / cancel current action
Ctrl+C or q Quit
Ctrl+D Permanently delete the selected file after confirmation

Tip: In the list view, just start typing to fuzzy-filter your notes by name.


Project Structure

navnote/
├── main.go       # Entry point — wires up the Bubble Tea program
├── model.go      # TUI model: struct, Init, Update, View
├── files.go      # Vault logic: init, listFiles, item type
├── styles.go     # All lipgloss styles and color variables
├── Makefile      # Build, run, install, clean targets
├── go.mod
├── go.sum
└── README.md

All files share package main — Go builds the whole directory together, so they freely reference each other's types and functions with no internal imports needed.


Where are my notes stored?

~/.navnote/
├── meeting-notes.md
├── ideas.md
└── todo.md

Plain Markdown. Open them in Neovim, VS Code, Obsidian — whatever you want. NavNote doesn't care.


Contributing

Issues and PRs are welcome. For big changes, open an issue first so we can talk about it.

git clone https://github.com/ekansh-exe/navnote.git
cd navnote
make run   # start hacking

License

MIT — do whatever you want with it.


Made with 🌿 and a strong opinion about Bulbasaur.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL