2bf40bfd01 | ||
---|---|---|
bin | ||
docs | ||
www | ||
.gitignore | ||
.gitmodules | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE | ||
Makefile | ||
README.md | ||
bindata.go | ||
go.mod | ||
go.sum | ||
main.go | ||
runner.go | ||
runner_test.go | ||
server.go | ||
store.go | ||
tomato-icon.png | ||
types.go | ||
ui.go | ||
util.go | ||
version.go |
README.md
🍅 pomo
pomo
is a simple CLI for using the Pomodoro Technique. There are some amazing task management systems but pomo
is more of a task execution or timeboxing system. pomo
helps you track what you did, how long it took you do it, and how much effort you expect it to take.
Background
The Pomodoro Technique is simple and effective:
- Decide on a task you want to accomplish
- Break the task into timed intervals (pomodoros), [approx. 25 min]
- After each pomodoro take a short break [approx. 3 - 5 min]
- Once all pomodoros are completed take a longer break [approx 15 - 20 min]
- Repeat
Installation
Binaries
Binaries are available for Linux and OSX platforms in the releases section on github.
Linux
curl -L -o pomo https://github.com/kevinschoon/pomo/releases/download/0.6.0/pomo-0.6.0-linux-amd64
# Optionally verify file integrity
echo 97be4ccf66c4ae4e3e154f87b9bb0bf2 pomo | md5sum -c -
chmod +x pomo
./pomo -v
# Copy pomo to somewhere on your $PATH
OSX
curl -L -o pomo https://github.com/kevinschoon/pomo/releases/download/0.6.0/pomo-0.6.0-darwin-amd64
# Optionally verify file integrity
[[ $(md5 -r pomo) != "55d77a30dfd6f66c95e19dd83c7ec95c pomo" ]] && echo "invalid hash!"
chmod +x pomo
./pomo -v
# Copy pomo to somewhere on your $PATH
Source
go get github.com/kevinschoon/pomo
pomo -v
Usage
Once pomo
is installed you need to initialize it's database.
pomo init
Start a 4 pomodoro session at 25 minute intervals:
pomo start -t my-project "write some codes"
Configuration
Pomo has a few configuration options which can be read from a JSON file in Pomo's state directory ~/.pomo/config.json
.
colors
You can map colors to specific tags in the colors
field.
Example:
{
"colors": {
"my-project": "hiyellow",
"another-project": "green"
}
}
Integrations
Status Bars
The Pomo CLI can output the current state of a running task session via the pomo status
making it easy to script and embed it's output in various Linux status bars.
Polybar
You can create a module with the custom/script
type and
embed Pomo's status output in your Polybar:
[module/pomo]
type = custom/script
interval = 1
exec = pomo status
Roadmap
- Generate charts/burn down
- System tray notification/icon
- ??