tuiboard — ~/landing github ↗

$ booting tuiboard v0.15.1 ............ ready

terminal kanban · agenda · agents

A keyboard-first terminal dashboard on plain CommonMark files: your boards, a Today/Tomorrow planner, an agenda you can drag and resize, and one live list of your coding agents (Claude Code, Codex, OpenCode, Pi). No database. No lock-in. Your files stay yours.

$ bun install -g tuiboard

requires Bun ≥ 1.2 · Linux · macOS · Windows · keyboard-first, full mouse support

[ Get started ] [ ★ GitHub ] [ ⬇ npm ]
tuiboard · the whole dashboard

the real app, not a mockup · ⇧Tab walks the four zones

[ ok ] your files stay yours — plain CommonMark .md on disk [ ok ] zero lock-in — open them in Obsidian, VS Code, vim [ ok ] obsidian tasks vocabulary — ⏳ 📅 ✅ 🔼 [ ok ] bring your own creds — tokens stay local [ ok ] four agent harnesses — Claude Code · Codex · OpenCode · Pi [ ok ] cross-platform — Linux · macOS · Windows [ ok ] MIT licensed — keyboard-first, full mouse support

See it in 36 seconds.

tuiboard · launch video · sound on

also on YouTube ↗

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 with h/l, drop it with g. Or use the mouse
  • The file updates as you go, so your editor and your TUI never disagree
tuiboard · board · grab a card
board.md · the whole database
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

tuiboard · planner · today / tomorrow

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: t pulls a late task into today, ⏎ ticks it off, m sends it to tomorrow
  • Mark several with Space and 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.

new in v0.15 drag a block to move it, drag its bottom edge to resize it. A "To place" tray holds today's tasks that have no hour yet.

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: c arms a task and the first j/k drops it in the first free half hour
  • Flip days with [ and ], jump back with \. Create, edit and delete Google events inline
tuiboard · agenda · drag and resize
tuiboard · agents · filter by harness

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: cc Claude Code · cx Codex · oc OpenCode · pi Pi. f filters by harness
  • Status at a glance: × waiting for you · ◐ working · ✓ done · ○ idle
  • Press ↵ to resume a session, or H to 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.

tray
From the tray to the clock. Arm a task, click a slot, nudge it, ⏎ keeps it.
days
Flip days. [ ] move the agenda, \ is back to today.
multi-select
One key, many tasks. 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.

global
$ bun install -g tuiboard

↳ then run tuiboard anywhere

no-install
$ bunx tuiboard

↳ try it without installing

from source
$ 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
[ Get started on GitHub ★ ]

Built by Nazzareno Giannelli · nazzareno.xyz

tuiboard v0.15.1 ? keys 0%