kevinschoon-pomo/README.md

116 lines
3.0 KiB
Markdown
Raw Normal View History

2018-01-30 04:18:27 +01:00
<p align="center"><img src="https://raw.githubusercontent.com/kevinschoon/pomo/master/www/static/demo.gif" alt="demo"/></p>
2018-01-21 16:15:33 +01:00
# 🍅 pomo
2018-01-16 10:50:08 +01:00
2019-01-08 23:11:11 +01:00
`pomo` is a simple CLI for using the [Pomodoro Technique](https://en.wikipedia.org/wiki/Pomodoro_Technique). There are [some](https://taskwarrior.org/) [amazing](https://todoist.com/) task management systems but `pomo` is more of a task *execution* or [timeboxing](https://en.wikipedia.org/wiki/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.
2018-01-21 16:15:33 +01:00
## Background
2018-01-22 17:28:13 +01:00
The Pomodoro Technique is simple and effective:
2018-01-21 16:15:33 +01:00
* 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
2018-01-30 04:18:27 +01:00
### Binaries
2018-02-03 19:50:03 +01:00
Binaries are available for Linux and OSX platforms in the [releases section](https://github.com/kevinschoon/pomo/releases) on github.
2018-02-01 22:13:02 +01:00
#### Linux
2018-01-22 17:28:13 +01:00
```
2018-03-03 21:28:48 +01:00
curl -L -o pomo https://github.com/kevinschoon/pomo/releases/download/0.6.0/pomo-0.6.0-linux-amd64
2018-02-01 22:13:02 +01:00
# Optionally verify file integrity
2018-03-03 21:28:48 +01:00
echo 97be4ccf66c4ae4e3e154f87b9bb0bf2 pomo | md5sum -c -
2018-01-22 17:28:13 +01:00
chmod +x pomo
./pomo -v
# Copy pomo to somewhere on your $PATH
```
2018-02-03 19:50:03 +01:00
#### OSX
2018-02-01 22:13:02 +01:00
```
2018-03-03 21:28:48 +01:00
curl -L -o pomo https://github.com/kevinschoon/pomo/releases/download/0.6.0/pomo-0.6.0-darwin-amd64
2018-02-01 22:13:02 +01:00
# Optionally verify file integrity
2018-03-03 21:28:48 +01:00
[[ $(md5 -r pomo) != "55d77a30dfd6f66c95e19dd83c7ec95c pomo" ]] && echo "invalid hash!"
2018-02-01 22:13:02 +01:00
chmod +x pomo
./pomo -v
# Copy pomo to somewhere on your $PATH
```
2018-01-30 04:18:27 +01:00
### Source
2018-01-21 16:15:33 +01:00
```
go get github.com/kevinschoon/pomo
2018-01-31 14:12:09 +01:00
pomo -v
2018-01-21 16:15:33 +01:00
```
## Usage
2018-01-30 04:18:27 +01:00
Once `pomo` is installed you need to initialize it's database.
2018-01-21 16:15:33 +01:00
```
pomo init
2018-01-30 04:18:27 +01:00
```
Start a 4 pomodoro session at 25 minute intervals:
```
pomo start -t my-project "write some codes"
2018-01-21 16:15:33 +01:00
```
2018-02-03 19:50:03 +01:00
## 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"
}
}
```
2018-02-04 04:30:57 +01:00
## 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](https://github.com/jaagr/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
```
2018-02-03 19:50:03 +01:00
2018-01-21 16:15:33 +01:00
## Roadmap
2018-01-31 14:12:09 +01:00
* Generate charts/burn down
* System tray notification/icon
2018-01-21 16:15:33 +01:00
* ??
2018-01-22 17:34:18 +01:00
## Credits
* [pomodoro technique](https://cirillocompany.de/pages/pomodoro-technique/book/)
* [logo by rones](https://openclipart.org/detail/262421/tomato-by-rones)
* [website generate by hugo](http://gohugo.io/)
* [theme by calintat](https://github.com/calintat/minimal)