Kevin 5 years ago
113 commits
00ea7381 00ea73813ad02e2ce2986da9f8ebd70f4592a64f
standardize paths, use config for sub commands
File Commit Size Mode Time
.dockerignore add new build environment for cross compile 2 B -rw-r--r-- 6 years ago
.gitignore add installer script 354 B -rw-r--r-- 6 years ago
.gitmodules add hugo sources 103 B -rw-r--r-- 7 years ago
Dockerfile add new build environment for cross compile 594 B -rw-r--r-- 6 years ago
Gopkg.lock update dependencies 2.2 KiB -rw-r--r-- 6 years ago
Gopkg.toml fix out of date dependencies 752 B -rw-r--r-- 7 years ago
LICENSE update license 1 KiB -rw-r--r-- 6 years ago
Makefile rm usermap on build 1.7 KiB -rw-r--r-- 6 years ago
README.md add installer script 2.6 KiB -rw-r--r-- 6 years ago
bin improve build support NaN B d--------- 7 years ago
bindata.go refactor run loop, add simple libnotify support, improve not… 20.9 KiB -rw-r--r-- 7 years ago
config.go standardize paths, use config for sub commands 2.7 KiB -rw-r--r-- 5 years ago
docs update docs NaN B d--------- 6 years ago
go.mod update go modules 591 B -rw-r--r-- 6 years ago
go.sum update go modules 2.1 KiB -rw-r--r-- 6 years ago
install.sh update build script 942 B -rwxr-xr-x 6 years ago
main.go standardize paths, use config for sub commands 6.1 KiB -rw-r--r-- 5 years ago
runner.go refacort db & add fix begin/create commands 2.7 KiB -rw-r--r-- 6 years ago
runner_test.go standardize paths, use config for sub commands 572 B -rw-r--r-- 5 years ago
server.go break out of listen loop on error 1.5 KiB -rw-r--r-- 7 years ago
store.go standardize paths, use config for sub commands 4.1 KiB -rw-r--r-- 5 years ago
tomato-icon.png refactor run loop, add simple libnotify support, improve not… 3.8 KiB -rw-r--r-- 7 years ago
types.go refactor config 2.9 KiB -rw-r--r-- 5 years ago
ui.go Merge pull request #14 from iiridescent/patch-1 2.3 KiB -rw-r--r-- 5 years ago
util.go standardize paths, use config for sub commands 2.1 KiB -rw-r--r-- 5 years ago
version.go fix version 40 B -rw-r--r-- 7 years ago
www fix links again NaN B d--------- 6 years ago

🍅 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

Clone

HTTP

Subscribe

License

MIT

Authors

Kevin Schoon: 86%
Christos Kontas: 5%
Steven Edwards: 2%
Jack Mordaunt: 2%
lpmi-13: 0%

Analysis