Go to file
Kevin Schoon 61b2d63bd3 add gh actions status badge 2020-09-06 11:03:51 -05:00
.github/workflows add basic github actions workflow 2020-09-06 11:00:06 -05:00
bin improve build support 2018-02-01 16:11:44 -05:00
docs update docs 2019-03-17 15:28:33 -04:00
www fix links again 2019-02-10 15:50:46 -05:00
.dockerignore add new build environment for cross compile 2019-03-17 15:10:28 -04:00
.gitignore add installer script 2019-02-10 15:39:45 -05:00
.gitmodules add hugo sources 2018-01-22 22:59:03 +08:00
Dockerfile add new build environment for cross compile 2019-03-17 15:10:28 -04:00
Gopkg.lock update dependencies 2019-01-25 00:05:06 -05:00
Gopkg.toml fix out of date dependencies 2018-01-30 21:23:53 -05:00
LICENSE update license 2019-01-11 09:26:40 -05:00
Makefile rm usermap on build 2019-03-17 15:12:48 -04:00
README.md add gh actions status badge 2020-09-06 11:03:51 -05:00
bindata.go refactor run loop, add simple libnotify support, improve notifications, binpack tomato image 2018-01-21 18:35:03 +08:00
config.go standardize paths, use config for sub commands 2019-07-04 18:57:41 -04:00
go.mod add basic github actions workflow 2020-09-06 11:00:06 -05:00
go.sum update go modules 2019-02-10 14:53:19 -05:00
install.sh update build script 2019-03-17 15:16:49 -04:00
main.go pass config for initialization, add marshaling for status 2019-07-04 19:12:58 -04:00
runner.go fix runner test 2020-09-05 20:49:42 -07:00
runner_test.go fix runner test 2020-09-05 20:49:42 -07:00
server.go pass config for initialization, add marshaling for status 2019-07-04 19:12:58 -04:00
store.go standardize paths, use config for sub commands 2019-07-04 18:57:41 -04:00
tomato-icon.png refactor run loop, add simple libnotify support, improve notifications, binpack tomato image 2018-01-21 18:35:03 +08:00
types.go refactor config 2019-07-04 18:13:04 -04:00
ui.go Fix typos in break screen 2019-06-11 15:04:25 -04:00
util.go standardize paths, use config for sub commands 2019-07-04 18:57:41 -04:00
version.go fix version 2018-01-21 23:38:17 +08:00

README.md

demo

🍅 pomo

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

Installer Script

A bash script to download and verify the latest release for Linux and OSX platforms can be run with the following command:

curl -L -s https://kevinschoon.github.io/pomo/install.sh | bash /dev/stdin

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

Credits