notes-cli
aims to be an extremely simple note taking CLI with human readable output.
All notes are stored in a single file in plain text with a prepended local timestamp, and
with optional tags appended. notes-cli
is designed to be used with a search tool such
as ripgrep
The delimiter between timestamp, note, and tags is configurable, along with the location
of the notes file. Once set, they will be remembered. Config is stored in the standard
location on your OS e.g. ~/.config/notes-cli/notes-cli.toml
on linux. More in depth
searching may be added in the future, but one of my goals is to keep the notes file hand editable.
$ notes-cli "My first note." -t test-tag -p ~/Documents/notes.txt -d " ~ "
2020-03-02 16:53:28 ~ My first note. ~ test-tag
$ cat ~/Documents/notes.txt
2020-03-02 17:16:35 ~ Website that aggregates stock portfolios across brokerages. ~ idea, website
2020-03-02 17:17:31 ~ A note taking cli. ~
2020-03-02 17:17:55 ~ A simple note taking CLI in Rust. ~
2020-03-02 17:19:45 ~ Create a taxi tracking app. ~ idea, app
2020-03-02 17:47:16 ~ https://learningmusic.ableton.com/ ~ tutorial
2020-03-02 17:47:30 ~ Add a new blog about emulating gameboy sound to site. ~ blog
$ cat ~/Documents/notes.txt | rg "2020-03-02 17:17"
2020-03-02 17:17:31 ~ A note taking cli. ~
2020-03-02 17:17:55 ~ A simple note taking CLI in Rust. ~
$ cat ~/Documents/notes.txt | rg "idea"
2020-03-02 17:16:35 ~ Website that aggregates stock portfolios across brokerages. ~ idea, website
2020-03-02 17:19:45 ~ Create a taxi tracking app. ~ idea, app
cargo install notes-cli
Be sure to have ~/.cargo/bin
on your path. The name notes-cli
is used for uniqueness, but is very
verbose to type. I would recommend aliasing it something like n
for the most frictionless experience.