tasks

module
v0.0.0-...-6d918e5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2026 License: MIT

README

Tasks

A simple, fast command-line task manager built with Go, using Bubble Tea for the TUI and LipGloss for styling. Data is stored locally in SQLite.

Note: This is a hobby project for personal use. Feel free to use, fork, or learn from it, but don't be surprised if things break over time. See branches for iterations.

Installation

go install github.com/mkaz/tasks/cmd/tasks@latest

Or build from source:

git clone https://github.com/mkaz/tasks.git
cd tasks
go build -o tasks ./cmd/tasks

Quick Start

# Open interactive task manager
tasks

# Add a task from command line
tasks add "Buy groceries"

# Add a task with a URL
tasks add "Review PR https://github.com/example/repo/pull/123"

# Mark a task as done
tasks do 5

# View tasks completed this week
tasks archive --week

# Show help
tasks help

Interactive Mode

Launch with tasks to enter the interactive TUI.

Navigation
Key Action
/ k Move up
/ j Move down
alt+↑ Move task up in list
alt+↓ Move task down in list
r Refresh
q Quit
Task Actions
Key Action
a Add new task
e/enter Edit selected task
space Cycle task state
d Mark as done
o Open URL in browser
c Archive completed/canceled tasks
delete Delete task permanently
Key Action
/ Start filtering
Enter Apply filter
Esc Clear filter / Cancel

Filter is live/type-ahead: results appear after typing 3+ characters. Matches against task title.

Examples:

  • /groceries — Find tasks containing "groceries"
  • /review — Find tasks containing "review"
Edit Mode
Key Action
↑/↓ Navigate fields
space Toggle state (when on State field)
enter Edit field / cycle state / expand subtasks
ctrl+o Open URL in browser
tab Toggle subtask checkbox
ctrl+d Delete subtask
Esc Save and exit

CLI Commands

Command Description
tasks Open interactive TUI
tasks add "text" Add a task (supports URLs in text)
tasks do <id> Mark a task as done
tasks archive --week Show tasks completed in last 7 days
tasks --init <db> Create a new empty database at path
tasks --version Show version information
tasks help Show help information

Task States

Tasks have a simple status indicator:

Symbol State
[ ] Not started
[-] In progress
[✓] Done
[✗] Canceled

Press space in the task list to cycle through states, or edit the task to change state.

Subtasks

Tasks can have subtasks. Edit a task and navigate to the Subtasks field:

  • Press Enter to expand and navigate subtasks
  • Use ↑/↓ or Tab to move between subtasks
  • Press Space to toggle a subtask's done state
  • Press Enter on a subtask to edit its text
  • Press Enter on the empty slot at the bottom to add a new subtask
  • Press Delete to remove a subtask
  • Press Esc to return to the main edit form

The task list shows subtask progress as (done/total).

Data Storage

Data is stored in a SQLite database. The program looks in this order:

  1. tasks.db in current directory
  2. TASKS_DB environment variable
  3. ~/Documents/tasks.db

License

MIT License - An mkaz contrivance.

Directories

Path Synopsis
cmd
tasks command
internal
db

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL