Skip to content

mkaz/tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 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
delete Delete task permanently

Filter / Search

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
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 week Show tasks completed in last 7 days
tasks --init <db> Create a new empty database at path
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.

About

A TUI Kanban Board

Resources

License

Stars

Watchers

Forks