# 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 https://github.com/tmux/tmux/wiki - for displaying an editor in a side pane - IMPORTANT: this app must be run inside tmux - Ive got a comfy tmux config I can share later if U'd want it :) - OPTIONAL neovim https://github.com/neovim/neovim - rly not `dat bad` once u get used to it - https://www.lazyvim.org is an excellent starting point (da one I use still) but requires some more dependencies # 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 :))) can be set to e.g. `nano` or `vi` in a pinch 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 (but dunno if 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.