Daylio but in your terminal.
A local terminal journal for daily mood, activities, productivity, and notes. Built with Go, Bubble Tea, and SQLite. English interface, vi-style navigation, no account or network connection required during use.
Requires Go 1.24 or newer and a terminal at least 40 columns by 12 rows.
From the project directory:
mkdir -p "$HOME/.local/bin"
go build -o "$HOME/.local/bin/termood" ./cmd/termoodInstall directly from GitHub:
GOBIN="$HOME/.local/bin" go install github.com/pr0sp3ro/termood/cmd/termood@latestBoth methods install the executable in ~/.local/bin. Make sure this directory
is on your PATH, then run termood:
export PATH="$HOME/.local/bin:$PATH"
termood- Today: rate your day from 1 (Awful) to 5 (Great), select activities, and optionally add a productivity score or Rest day and a note.
- History: browse and edit previous days. Search notes and filter by date, mood, or activity.
- Calendar: a monthly overview starting on Monday. Each cell shows
day:mood, with-for missing entries and a highlight for today.
| Key | Action |
|---|---|
[ / ] |
Switch views |
Tab / Shift+Tab |
Switch sections |
h j k l / arrows |
Move within a section |
Space / Enter |
Select an option or start editing |
1-5 |
Set the focused mood or productivity score |
Ctrl+S |
Save the entry |
Ctrl+E |
Edit the note in $EDITOR from the note section |
Esc |
Stop typing or go back |
? |
Show all shortcuts |
q / Ctrl+C |
Quit |
Mood is required to save. Changes are saved only with Ctrl+S, and leaving
an edited entry offers Save, Discard, or Cancel. Open another date by pressing
Enter on the date section, or n in History. In History, use e to edit,
/ for filters, and c to clear them.
Set EDITOR, for example export EDITOR=nvim, to edit notes externally.
The editor must wait until editing is finished. Its changes still require
Ctrl+S in Termood. The inline editor supports up to 10,000 lines. Longer
notes remain intact and can be edited through $EDITOR.
Termood creates these files on first launch:
| File | Default location |
|---|---|
| Configuration | ~/.config/termood/config.toml |
| Journal | ~/.local/share/termood/termood.db |
XDG_CONFIG_HOME and XDG_DATA_HOME override the parent directories and must
be absolute paths.
Edit config.toml to rename the five mood levels, customize categories and
activities, or reorder them. Restart Termood to apply changes. Keep IDs stable
when renaming labels. Removing an item archives it without erasing its history.
Renamed labels also update existing entries.
Data is local and unencrypted. To back it up, close Termood and copy both files.
go test ./...MIT - Copyright (c) 2026 Synframe Labs.