TUI Pomodoro Timer

breathe

by @Jaace

A Pomodoro timer with physics. The whole thing breathes.

brew install Jaace/tap/breathe
A short recording of breathe running: spring-driven progress bar, breathing rings rippling outward from the frame, color-morphing phase transitions, the breathing coach during a short break, and the session-complete stats card.

What you see

Spring-driven progress

Every progress bar, dot pulse, and digit morph runs through a Harmonica spring. Nothing snaps; everything settles.

Color-morphing phases

Work, short break, and long break each have their own palette. Transitions interpolate the entire UI from one to the next over a brief overshoot.

Ambient ripple rings

Two outer rings encircle the main frame. A pulse sweeps outward and back on a 10-second breath cycle, lighting each ring in turn.

Guided breath coach

During break phases the progress bar steps aside for an inhale/exhale prompt and a dot grid that blooms outward on the inhale, contracts on the exhale.

Persistent stats

Every completed phase is appended to $XDG_DATA_HOME/breathe/state.json. breathe stats renders today + last 7 days through Glamour.

Quiet by default

Terminal bell, a macOS built-in alert (--sound glass), an arbitrary shell command (--bell-cmd), or silence (--no-bell). Your call.

Keys & flags

Keys

KeyAction
spacepause / resume
sskip current phase
rreset current phase
?toggle help overlay
q / ctrl+cquit

Flags

FlagDefaultMeaning
--work25mwork block duration
--short5mshort break duration
--long15mlong break duration
--rounds4blocks per cycle
--no-belloffsilence notifications
--soundmacOS built-in sound
--bell-cmdcustom shell command
--no-update-checkoffskip daily release check

Durations accept anything time.ParseDuration takes (90s, 1h30m, etc.).

Stats

breathe stats

Aggregates today and the rolling last seven days from your session log and renders the report through Glamour. Counts work blocks and total focus minutes per day.

Install

Install (macOS, via Homebrew tap)
brew install Jaace/tap/breathe
Update
brew upgrade breathe
Linux / Windows / from source
git clone https://github.com/Jaace/breathe cd breathe go build -o breathe .

Linux and Windows users can also grab a prebuilt binary from the releases page.