pomo β Terminal Pomodoro Timer


A simple, customizable Pomodoro timer for your terminal, built with Bubble Tea.
Features
- π
Work and break timer sessions
- π Task chaining with user confirmation prompts
- π Real-time progress bar visualization
- β¨οΈ Keyboard shortcuts to adjust time mid-session
- βΈοΈ Pause and resume timer functionality
- π Cross-platform desktop notifications
- π¨ Clean, minimal terminal UI
- π οΈ Custom commands when timers complete
Desktop Notifications
pomo sends native desktop notifications when sessions complete
π View notification examples
Linux (GNOME)

Windows

Note: Actual notification appearance varies by operating system and desktop environment
Usage
Work sessions:
pomo # Default work session (25m)
pomo 30m # Custom duration
Break sessions:
pomo break # Default break (5m)
pomo break 10m # Custom duration
Installation
Install with Go
go install github.com/Bahaaio/pomo@latest
Or, build from source
git clone https://github.com/Bahaaio/pomo
cd pomo
go build .
Alternatively, download pre-built binaries from the releases page.
Configuration
π Config file search order
pomo looks for its config file in the following order:
- Current directory:
pomo.yaml (highest priority)
- System config directory:
- Linux:
~/.config/pomo/pomo.yaml
- macOS:
~/Library/Application Support/pomo/pomo.yaml
- Windows:
%APPDATA%\pomo\pomo.yaml
- Built-in defaults if no config file is found
Example pomo.yaml:
askToContinue: true # Ask to start next task after completion
work:
duration: 25m
title: work session
# cross-platform notifications
notification:
enabled: true
title: work finished π
message: time to take a break
icon: ~/my/icon.png
break:
duration: 5m
# will run after the session ends
then:
- [spd-say, "Back to work!"]
Check out pomo.yml for a full example with all options.
Key Bindings
Timer Controls
| Key |
Action |
β / k |
Increase time by 1 minute |
Space |
Pause/Resume timer |
β / h |
Reset to initial duration |
q / Ctrl+C |
Quit |
Confirmation Dialog
| Key |
Action |
y / Y |
Confirm (Yes) |
n / N |
Cancel (No) |
Tab |
Toggle selection |
Enter |
Submit choice |
q / Ctrl+C |
Quit |
License
This project is licensed under the MIT License. See the LICENSE file for details.