A beautiful terminal mood tracker for your feelings
Demo made with
svg-term-cli
using my
dotfiles
A simple, blazing-fast mood tracker that lives in your terminal. Research suggests that tracking your mood can improve emotional awareness and well-being by recognizing patterns over time (Kauer et al., 2012). Log how you feel each day on a 1โ10 scale and watch the patterns emerge.
Data is stored locally as a plain CSV file.
brew install qiz-li/tap/feelingcargo install feelingcurl -sSf https://raw.githubusercontent.com/qiz-li/feeling/main/install.sh | shfeeling 8 # log today's feeling (1-10)
feeling 6 -d 2024-03-15 # log a specific date
feeling # show default view (month)
feeling week # show current week
feeling month # show last 4 weeks
feeling year # full-year heatmap
feeling prompt # single colored glyph (for starship/p10k)
feeling remove # remove today's entry
feeling remove -d 2024-03-15 # remove a specific date
feeling export # dump raw CSV to stdout
| Flag | Description |
|---|---|
--data-path <path> |
Override data file location |
--view <week|month|year> |
Override default view |
Add to your starship.toml:
[custom.feeling]
command = "feeling prompt"
when = trueCreate ~/.config/feeling/config.toml (see config.example.toml):
view = "month" # default view: week, month, year
sunday_start = false # start weeks on Sunday
# data_path = "~/path/to/feelings.csv"
[chars]
filled = "โ"
empty = "โฏ"
[chars.year]
filled = "โ"
empty = "ยท"All options can also be set via environment variables.
Precedence: CLI flags > env vars > config file > defaults.
| Variable | Description |
|---|---|
FEELING_DATA_PATH |
Override data file location |
FEELING_CONFIG_PATH |
Override config file location |
FEELING_VIEW |
Default view (week, month, year) |
FEELING_SUNDAY_START |
1 or true for Sunday start |
FEELING_FILLED_CHAR |
Filled character |
FEELING_EMPTY_CHAR |
Empty character |
FEELING_YEAR_FILLED_CHAR |
Filled character for year heatmap |
FEELING_YEAR_EMPTY_CHAR |
Empty character for year heatmap |
Stored as plain CSV at $XDG_DATA_HOME/feeling/feeling.csv (defaults to ~/.local/share/feeling/feeling.csv):
date,feeling
2024-03-15,7
2024-03-16,4
Atomic writes, file locking, rotating backups, and sha256 integrity checks to keep data safe.