Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/caarlos0/tasktimer

Task Timer (tt) is a dead simple TUI task timer
https://github.com/caarlos0/tasktimer

Last synced: 23 days ago
JSON representation

Task Timer (tt) is a dead simple TUI task timer

Awesome Lists containing this project

README

        


header image

tasktimer


Task Timer (tt) is a dead simple TUI task timer.

---

## Usage

To get started, just run `tt`:

```sh
tt
```

You'll be presented with something like this:

image

You can just type a small description of what you're working on and press
ENTER to start timing.

At any time, press ENTER again to stop the
current timer or type a new task description and press ENTER
to stop the previous task and start the new one.

Each task will have its own timer, and the sum of all tasks will be displayed
in the header:

image

At any time, press CTRL+c to stop the current
timer (if any) and exit.

You can also press ESC stop the current task and blur the input
field and navigate around a long list of tasks using the
arrow keys/page up/page down/etc.

Note: there is no concept of "resuming tasks", you can however create several tasks with the same description.

## Report

You can extract a markdown file by running:

```sh
tt report
```

It will output the given project (via `-p PROJECT`) to `STDOUT`. You can
then save it to a file, pipe to another software or do whatever you like:

image

## Edit

Let's say you forgot the timer running... you can edit it using the edit command:

```sh
tt edit
```

image

The project will be exporter to a JSON file and will open with your `$EDITOR`.
Once you close it, it will be imported over the old one.

You can also backup/edit/restore using `tt to-json` and `tt from-json`.

## Help

At any time, check `--help` to see the available options.

## Install

**homebrew**:

```sh
brew install caarlos0/tap/tt
```

**apt**:

```sh
echo 'deb [trusted=yes] https://repo.caarlos0.dev/apt/ /' | sudo tee /etc/apt/sources.list.d/caarlos0.list
sudo apt update
sudo apt install tt
```

**yum**:

```sh
echo '[caarlos0]
name=caarlos0
baseurl=https://repo.caarlos0.dev/yum/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/caarlos0.repo
sudo yum install tt
```

**arch linux**:

```sh
yay -S tasktimer-bin
```

**deb/rpm/apk**:

Download the `.apk`, `.deb` or `.rpm` from the [releases page][releases] and install with the appropriate commands.

**manually**:

Download the pre-compiled binaries from the [releases page][releases] or clone the repo build from source.

## FAQ

### Where are data and logs stored?

Depends on the OS, but you can see yours running:

```sh
tt paths
```

## Stargazers over time

[![Stargazers over time](https://starchart.cc/caarlos0/tasktimer.svg)](https://starchart.cc/caarlos0/tasktimer)

[Badger]: https://github.com/dgraph-io/badger
[releases]: https://github.com/caarlos0/tasktimer/releases

# Badges

[![Release](https://img.shields.io/github/release/caarlos0/tasktimer.svg?style=for-the-badge)](https://github.com/caarlos0/tasktimer/releases/latest)

[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=for-the-badge)](LICENSE.md)

[![Build](https://img.shields.io/github/workflow/status/caarlos0/tasktimer/build?style=for-the-badge)](https://github.com/caarlos0/tasktimer/actions?query=workflow%3Abuild)

[![Go Report Card](https://goreportcard.com/badge/github.com/caarlos0/tasktimer?style=for-the-badge)](https://goreportcard.com/report/github.com/caarlos0/tasktimer)

[![Powered By: GoReleaser](https://img.shields.io/badge/powered%20by-goreleaser-green.svg?style=for-the-badge)](https://github.com/goreleaser)