A generic note taking software with version control
- Go 55.3%
- Shell 43.6%
- Makefile 1.1%
- Fixed Readme - Added SVG - tweaked note taking version control Co-authored-by: riomoo <alister@kamikishi.net> Co-committed-by: riomoo <alister@kamikishi.net> |
||
|---|---|---|
| bash | ||
| cmd/nt | ||
| docs/images/svgs | ||
| internal/notes | ||
| .gitignore | ||
| go.mod | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
nt: Note Taking Tool
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.
License
Two editions
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 |
Installation
Bash
chmod +x bash/nt.sh
sudo cp bash/nt.sh /usr/local/bin/nt
Go
cd 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/
Usage
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
Quick append (no editor needed)
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"
Checkboxes
# 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
Markdown cheat sheet
# 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 |
Notes directory layout
~/.config/nt/
├── .git/ ← git repo (auto-managed)
├── meeting.md
├── ideas.md
└── projects/
└── roadmap.md
Subdirectories are supported — nt new projects/roadmap works as expected.
Git integration
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.