01 · the board
A kanban board that lives in a text file.
Every column is a markdown heading, every card a task list item. tuiboard renders it as a fast, navigable board — move cards, set due dates, flag priority — and writes it straight back to disk. Quit, and you still have a readable to-do list you can open in Obsidian, cat, or diff in git. Nothing is trapped.
- Obsidian Tasks emoji vocabulary out of the box — ⏳ scheduled · 📅 due · 🔼 priority ·
- [x]done - Multiple boards, switch with a keystroke; filter, reorder, archive
- Grab a card with
g, carry it across columns withh/l, drop it withg. Or use the mouse - The file updates as you go, so your editor and your TUI never disagree
1 ## Doing 2 - [ ] Migrate billing ⏫ @Sam ⏳ 2026-09-30 3 - [ ] Fix the typo in the onboarding email ⏳ 2026-09-28 4 ## Done 5 - [x] Merge the dark-mode fix ✅ 2026-09-30
↳ this file is the board above
02 · today / tomorrow
One place for everything you said you'd do.
Flip on the planner and tuiboard scans every board, pulls out what's scheduled, and lays Today and Tomorrow side by side. No re-typing, no second app — it just reads the ⏳ and 📅 dates you already wrote.
- Aggregates ⏳ scheduled + 📅 due across all boards
- Today / Tomorrow split, sorted and de-duplicated
- Triage from the keyboard:
tpulls a late task into today,⏎ticks it off,msends it to tomorrow - Mark several with
Spaceand one key acts on all of them - Pure opt-in: run tuiboard as a plain kanban and never see it
03 · 24-hour agenda
A day you can drag around.
The agenda lays your day on a ruler, 15 minutes a row, with your scheduled tasks as boxed blocks. Blocks that overlap get their own lanes, blocks that touch share an edge, and a line marks now. It overlays your Google or Microsoft 365 events and, since v0.8, writes back to Google Calendar. Your tokens stay on your machine.
- Double-click a block to arm it, drag it to move it, drag the bottom edge to resize. Double-click again to keep it
- The "To place" tray: arm a task with no hour, click the slot where it goes, nudge it with
j/k - No mouse needed:
carms a task and the firstj/kdrops it in the first free half hour - Flip days with
[and], jump back with\. Create, edit and delete Google events inline
04 · live agents
Every coding agent you run, in one list.
tuiboard reads the sessions your agents already keep on disk: Claude Code, Codex, OpenCode and Pi. Each row says who is busy, who is waiting on you and who finished, with the model, the git branch and the folder. Hit Enter and you are back in that session. Nothing to install, nothing to connect.
- Four harnesses, one list:
ccClaude Code ·cxCodex ·ocOpenCode ·piPi.ffilters by harness - Status at a glance:
×waiting for you ·◐working ·✓done ·○idle - Press
↵to resume a session, orHto jump to it in herdr - Read-only and local: nothing leaves your machine
This is the panel that started it all — built to run my own multi-agent days.
the small things
Made for keyboards. Nice with a mouse.
⏎ keeps it.[ ] move the agenda, \ is back to today.Space marks, then t, m, s act on all.One board, or all four. Your call.
Start as a plain kanban. Switch on the planner when you want a daily focus, the agenda when you live by your calendar, the agents panel when you run Claude Code, Codex, OpenCode or Pi. Any mix. It's the same markdown underneath.
flip panels on and off — your layout, your call. (yes, these click.)
05 · install
Up and running in one line.
$ bun install -g tuiboard
↳ then run tuiboard anywhere
$ bunx tuiboard
↳ try it without installing
$ bun install -g github:NazzarenoGiannelli/tuiboard
↳ latest from main
Requires Bun ≥ 1.2. Calendar features need a Google or Microsoft 365 connection — set up with tuiboard calendar-setup; credentials stay local. Then run tuiboard in any folder with markdown boards, or let it scaffold one.
Plain text in.
Your whole day out.
On your terms.
Run it as a pure kanban, or turn on the planner, agenda and agents one at a time. Your board, your files, your terminal.
$ bun install -g tuiboard
Built by Nazzareno Giannelli · nazzareno.xyz