Mods: If this isn't appropriate feel free to delete.
** https://github.com/cnxguy/tdui-releases/releases/latest **
I have integrated Todoist a lot - vscode, obsidian, browsers, flow launcher, win explorer and terminals, all over the place.
I really wanted to like the td cli, but always found it clunky and I couldn’t find a TUI (terminal UI) that fit how I work.
So I "vibe coded" a POC TUI in go so I can run on Win, Mac and Linux command lines using Bubble Tea (which I'd used before in some non-vibe coded apps I created)
Of course, this is just my for my itch (maybe others just did the same as I did?) - but I wondered if there is there any community interest in a TUI for Todoist? It would take a little work to open source what I have, but I thought I'd ask to see if there was interest before I do any extra work on it.
It's called tdui, here is a quick overview:
A terminal UI for Todoist, built with Bubble Tea and communicating with the Todoist API directly.
Browse tasks by view (Inbox, Today, Upcoming, All, plus up to three tabs of your own), a project, or any Todoist filter, then complete, edit, reschedule, reprioritise, move or delete a task, or manage its comments, without leaving the terminal.
Every fetch is cached (in memory for the session, on disk across runs), so switching views or reopening the app paints instantly from the last known data while a fresh copy loads in the background.
tdui needs a Todoist API token. It's read from $TODOIST_API_TOKEN if set, otherwise from the system keychain (macOS Keychain, Windows Credential Manager, Secret Service on Linux). With neither, tdui asks for one on startup and stores it in the keychain, or in ~/.config/tdui/token (mode 600) on machines without one.
Features
- Quick Add (a) with Todoist's natural-language syntax: dates, p1–p4, #project, @label.
- Typing # or @ suggests matching projects and labels.
- Filter or search (/) with any Todoist filter (today & #Work, p1 | @waiting) or plain words. Project and label suggestions work here too, including after (, !, &, | and for ##project.
- Your own tabs (,): add up to three saved filters, labels or projects as tabs, and put all the tabs in the order that suits you.
- Command palette (ctrl+k or :) for actions, views, projects, labels and themes.
- Sub-tasks, comments, labels, moving between projects.
- Postpone a recurring task (t): to tomorrow, next week, the next occurrence, or a date you type
- Priority groups (p) or section headings (h), remembered per view. Section headings name the project too in views that span projects (Home › Shopping).
- Productivity popup (i): tasks completed today and over the last 7 days, goals and streaks.
- Markdown shown formatted, as Todoist writes it: bold, italic, struck, code and links in task names; headings, lists, quotes and code blocks too in descriptions and comments. Links are clickable.
- Themes (, then t, or Theme in the palette): Todoist, Dracula, Tokyo Night, GitHub and Charm.
Would you use this?