summaryrefslogtreecommitdiff
path: root/README.md
blob: ae89d7aa11861f9f1a9190474d62bcf8fe2f2b2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Task Samurai

<img src="logo.png" alt="tasksamurai logo" width="250" />

Task Samurai is a fast terminal interface for [Taskwarrior](https://taskwarrior.org/) written in Go using the [Bubble Tea](https://github.com/charmbracelet/bubbletea) framework. It shows your tasks in a table and lets you manage them without leaving your keyboard.

## Why does this exist?

- I wanted to tinker with agentic coding (actually, it has been mainly vibe coded using OpenAI Codex and Claude Code CLI)
- I wanted a faster UI for Taskwarrior than other options like vit which is Python based.
- I wanted something built with Bubble Tea but never had time to deep dive into it.

## How it works

Task Samurai invokes the `task` command to read and modify tasks. The tasks are displayed in a Bubble Tea table where each row represents a task. Hotkeys trigger Taskwarrior commands such as starting, completing or annotating tasks. The UI refreshes automatically after each action so the table is always up to date.

## Hotkeys

Press `H` to view all available hotkeys.

Example: press `+`, type `Buy milk` and hit Enter to add a new task called "Buy milk".

## Screenshot

![Task Samurai screenshot](screenshot.png)

## Installation

There are two ways to install the `tasksamurai` command:

```bash
go install codeberg.org/snonux/tasksamurai/cmd/tasksamurai@latest
```

Alternatively, clone this repository and run:

```bash
go-task install
```

The second method requires [go-task](https://taskfile.dev/) to be installed.

### Usage

```bash
# Start with default pending tasks
tasksamurai

# Start with a Taskwarrior filter
tasksamurai +tag status:pending
tasksamurai project:work due:today
tasksamurai pri:H

# Any valid Taskwarrior filter can be passed as arguments
```

### Flags

- `--disco`: start Task Samurai in disco mode, changing the theme every time a task is modified.