Abdulkader Safi

One line per card, and a place for finished work

Quick-add syntax and card templates, an archive button for the Done column, saved filter views and overdue countdowns in MD Kanban.

3 min read

Share
Screenshot of MD Kanban

The second batch from the September 7 list covers the chores around cards: creating them, filtering them and clearing them away. It went in as four small commits on September 9, all within about twenty minutes.

One line per card

Making a fully tagged card meant typing a title, then clicking through priority, labels, assignee and due date. The New card dialog now reads all of that from one line:

Fix login p1 #backend @safi due:friday

That gives a card titled "Fix login" with priority critical, the label backend, assignee safi, and a due date on the coming Friday. p1 to p4 map to critical, high, medium and low, and the plain priority names work too. due: accepts today, tomorrow, a weekday or a YYYY-MM-DD date. A weekday always means the next one, so due:friday typed on a Friday lands a week out. Any token the parser doesn't recognise stays in the title, so due:someday is just text. A "Will set" hint under the input shows what was picked up before you save.

The parser lives in src/lib/quick-add.ts. It's under 70 lines and uses no date library.

The same dialog has three templates. Bug sets high priority, the bug label and a Repro, Fix, Verify checklist. Feature is medium with Spec, Build, Verify. Chore is low with Do and Verify.

Archive all done

A full Done column hides the cards that are still moving. The Done column header now has an archive button. After a confirm, it moves every done card in the current view into an archive/ folder inside the project. On disk that is a write to the new path and a delete of the old one, through the File System Access API in the browser or the file bridge in the Electron build. If a file with the same name is already archived, the new one gets a -2 suffix.

Archived files keep their frontmatter and stay plain markdown, so an agent can still read them or move one back out. The board hides archive/ unless you select that folder.

Saved views

Rebuilding the same filter every session got old. The filter bar can now save its current state as a named view, like "Overdue" or "Assigned to me". Views show as chips, apply in one click, and each has a delete button. They are stored per project in localStorage under md-kanban/views/v1. Cards live in the project folder; views live in the app, so they don't travel with the files.

How late

Cards already coloured overdue dates red and today's date amber, and the label already said "Today", "Tomorrow" or "12d". Past dates only said "Overdue". formatDue now returns the count, like "3d overdue", so you can tell a card that slipped yesterday from one that slipped last month.

Last updated 10 Sep 2026 · filed under Typescript, tools, vue, frontend, agents

Every entry on this project

13 build notes, in order

Including the ones where nothing worked. You are on part 12.

Read the series →

FAQ

Frequently asked questions

What does MD Kanban's quick-add syntax support?

p1 to p4 or a priority name for priority, #label for labels, @name for the assignee, and due: followed by today, tomorrow, a weekday or a YYYY-MM-DD date. Everything else becomes the title.

Where do archived cards go?

Into an archive/ folder inside the same project. The files keep their frontmatter, so they stay readable by people and agents, and the board hides that folder unless you select it.

Written by

Abdulkader Safi

Software Engineer

Lead engineer at DSRPT, from Lebanon and based in Kuwait. I write about the tools and bugs from real client work, with the numbers I measured.

About me → GitHub LinkedIn

Need this kind of work done on your project?

Start a project →

Keep reading

More from MD Kanban

All 13 entries →