td/readme.md
2025-03-20 21:31:08 +01:00

74 lines
1.9 KiB
Markdown

# td
## Install (this was generated by Ink starter, dunno if that works)
```bash
$ npm install --global td
```
# Dependencies
fzf https://github.com/junegunn/fzf
for searching & selectors
tmux
for displaying an editor in a side pane
IMPORTANT: this must be run inside tmux
Ive got a comfy tmux config I can share later if U'd want it :)
# ENV vars
TD_EDITOR
Editor for ask editing, CLI only (recommend neovim (again Ive got a comfy config I can share later if U'd want it :)))
TD_TASK_DIR
Directory for storing tasks.json and logs. Assumed to be a git repo
set them before running `td`
```bash
$ tmux
$ export TD_EDITOR=nvim
$ export TD_TASK_DIR=/home/omnissiah/git/tasks/
$ npm run buid
$ node dist/cli.js
```
or in Your .bashrc
# Manual
P.S. A more complete summary of keybinds can be displayed on `?` keybind
1. **Task Management**:
- Create, edit, delete tasks.
- View lists in a ranger-like UI https://github.com/ranger/ranger
- Tasks can have subtasks.
2. **Navigation**:
- Vim-like keybindings for navigation:
- `hjkl` to navigate in and between subtask lists.
- `HJKL` to move a task in and between subtask lists.
- `g` to go to the top of the list.
- `G` to go to the bottom of the list.
- `d` to go down 5 tasks
- `u` to go up 5 tasks
- `D` to delete a task (with a confirmation dialog)
- `x` to cut a task
- `p` to paste a cut task
3. **Task Operations**:
- `a` to add a new task.
- `A` to add a new subtask.
- `a` to add a new task.
- `e` to edit the selected task using external editor.
- `d` to delete the selected task. (with confirmation using fzf)
- `space` to toggle the completion status of a task.
4. **External Editor**:
- Uses neovim for text editing.
5. **Persistence**:
- Save and load tasks from a file
6. **Search**:
- `/` to search for tasks (fzf).
7. **Help**:
- `?` to show help for keybindings.