https://github.com/BOTbkcd/mayhem
A minimal TUI based task tracker 📝
https://github.com/BOTbkcd/mayhem
bubbletea charmbracelet cli command-line golang gorm lipgloss productivity sqlite task-management terminal terminal-app todo tui
Last synced: 9 days ago
JSON representation
A minimal TUI based task tracker 📝
- Host: GitHub
- URL: https://github.com/BOTbkcd/mayhem
- Owner: BOTbkcd
- License: mit
- Created: 2023-07-30T19:34:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T06:17:01.000Z (over 1 year ago)
- Last Synced: 2024-05-23T07:27:16.565Z (over 1 year ago)
- Topics: bubbletea, charmbracelet, cli, command-line, golang, gorm, lipgloss, productivity, sqlite, task-management, terminal, terminal-app, todo, tui
- Language: Go
- Homepage:
- Size: 13.5 MB
- Stars: 79
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-apps-in-a-csv - mayhem - A minimal TUI based task tracker. (<a name="todo-manager"></a>Todo managers)
- awesome-cli-apps - mayhem - A minimal TUI based task tracker. (<a name="todo-manager"></a>Todo managers)
README
# Mayhem 📝
A minimal TUI based task tracker
## Installation
- You can download a pre-compiled binary for your system for the [latest release](https://github.com/BOTbkcd/mayhem/releases/latest)
- Or if you have go installed on your system you can use the following command to install this package:
```
go install github.com/BOTbkcd/mayhem@latest
```
*SQLite is a dependency for this tool, make sure it is installed beforehand (it is fairly ubiquitous & should already be present on your system).*
## Features
- Three pane responsive layout, auto adjusts when terminal is resized
- Vim key bindings for navigation
- Tasks:
- Completion Status:
- Tasks can be marked finished/unfinished using `Tab` key
- Each stack has a label which denotes the number of unfinished tasks in that stack
- A task can be broken down into associated *steps*
- Individual steps can be marked as finished as progress is made
- Task can be moved to a new stack after creation without any loss of data
- Recurring tasks:
- A recurring task will begin from the specified start time & repeat after the recurrence interval until the deadline is reached
- A recurring task can only be temporarily marked as finished. It will resurface after the recurrence interval.
- The deadline can be extended as per requirement
- They are marked in task table using `📌` icon
- Sorting:
- Stacks are sorted alphabetically by default
- Tasks are sorted by completion status, then deadline, then priority & then by title
- Unscheduled tasks have less precedence than scheduled tasks
- Pane Footer: each pane has a footer which your relative position in the pane
- Dynamic help section at the bottom shows the relevant key bindings available at a given instance
## Navigation
| Key | Description |
| --------------------- | ---------------------------------- |
| k or up | Move up |
| j or down | Move down |
| l or right | Switch focus to the pane on right |
| h or left | Switch focus to the pane on left |
| g | Jump to top of the pane |
| G | Jump to bottom of the pane |
| e | Edit |
| tab | Toggle task/step completion status |
| esc | Return |
| m | Move task to new stack |
| ? | Toggle Help |
| q / ctrl+c | Quit |