Skip to content
pr0sp3roPublic

About

Daylio but in your terminal. Written in Go.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Termood

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.

Installation

Requires Go 1.24 or newer and a terminal at least 40 columns by 12 rows.

Manual installation

From the project directory:

mkdir -p "$HOME/.local/bin"
go build -o "$HOME/.local/bin/termood" ./cmd/termood

Install from GitHub

Install directly from GitHub:

GOBIN="$HOME/.local/bin" go install github.com/pr0sp3ro/termood/cmd/termood@latest

Both 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

Views

  • 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.

Keys

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.

Configuration and data

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.

Tests

go test ./...

License

MIT - Copyright (c) 2026 Synframe Labs.

About

Daylio but in your terminal. Written in Go.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages