A minimal, fast note-taking CLI with Markdown support, git version control,
interactive checkboxes, hyperlinks, and tables.
All notes live in ~/.config/nt and every change is auto-committed to git.
Bash nt.sh |
Go nt-go/ |
|
|---|---|---|
| Dependencies | bash 4+, git, sed | Go 1.26.1+, git |
| Install | chmod +x bash/nt.sh && sudo cp bash/nt.sh /usr/local/bin/nt |
cd nt-go && make install |
| Portability | Any Unix | Compile once, run anywhere |
chmod +x bash/nt.sh
sudo cp bash/nt.sh /usr/local/bin/ntcd nt-go
make install # builds and copies to /usr/local/bin/nt
# or: go build -o nt ./cmd/nt && sudo mv nt /usr/local/bin/nt new <name> Create a note (opens $EDITOR)
nt edit <name> Edit existing note
nt show <name> Render note in terminal
nt list List all notes
nt delete <name> Delete a note
nt search <query> Full-text search across notes
nt log Git history of notes
nt git [args] Run any git command on the notes repo
nt add meeting task "Follow up with Alice"
nt add meeting link "RFC doc" https://example.com/rfc
nt add meeting table Name Status Priority
nt add meeting line "Some free-form text"# From the command line
nt check meeting "Follow up with Alice" # marks [X]
nt uncheck meeting "Follow up with Alice" # marks [ ]
# Interactive toggler (navigate with number keys)
nt toggle meeting# Heading 1
## Heading 2
### Heading 3
- [ ] Unchecked task
- [X] Checked task
[Link label](https://example.com)
**bold text** *italic text*
| Name | Status | Priority |
| ------ | -------- | -------- |
| Alice | Active | High |
| Bob | Pending | Medium |~/.config/nt/
├── .git/ ← git repo (auto-managed)
├── meeting.md
├── ideas.md
└── projects/
└── roadmap.md
Subdirectories are supported — nt new projects/roadmap works as expected.
Every create/edit/delete/check auto-commits with a descriptive message.
Use nt log to browse history, and nt git remote add origin <url> to push
to a remote for backup/sync.