HomeProductsDevMesh DevBoard
~/devmesh — zsh
$ dm task add "Wire OAuth callback handler"
✔ DEVM-83 → todo · synced
$ dm backlog watch
▶ watching backlog.md … press Ctrl-C to stop
DEVM-83 todo → in_progress
DEVM-81 in_review → complete
Live Board
backlog.md · synced
TODO · 3
DEVM-83
Wire OAuth callback handler
DEVM-84
Rotate leaked Stripe secret
DEVM-86
Patch SQL injection in /api/search
DOING · 2
DEVM-79
Refactor task modal to drag-only
DEVM-80
Add CSRF tokens to settings forms
DONE · 3
DEVM-72
Viewport-fit kanban columns
DEVM-71
Commit-status badges on cards
DEVM-69
Auto-bind tasks to repo
DevBoard — Kanban That Lives In Your Repo

DevMesh DevBoard

Your kanban lives in backlog.md. Your terminal drives it. Edit the file, save, the card lands.

The Concept

What Is
DevMesh DevBoard?

DevBoard is a kanban that treats your backlog.md as the source of truth. Tickets are markdown headings. Status is an HTML comment. Groups are a label. That’s the whole format.

The dm CLI is the driver. Add tasks from inside your repo and they auto-bind to it. Run dm backlog watch and the file syncs to the board on every save.

The result: your tickets live next to the code that resolves them. Reviewers comment on tickets the same way they comment on diffs. Nothing about your project lives in a database you can’t git log.

backlog.md
# Backlog

## Wire OAuth callback handler
<!-- devmesh:status=todo -->
<!-- devmesh:group=auth-rewrite -->

Handle Supabase callback edge cases.

## Patch SQLi in /api/search
<!-- devmesh:status=in_progress -->
<!-- devmesh:group=security-audit -->

Replace string concat with parameterized
queries. Audit other endpoints.

## Rotate leaked Stripe secret
<!-- devmesh:status=in_review -->
<!-- devmesh:group=security-audit -->

## Viewport-fit kanban
<!-- devmesh:status=complete -->
The Flow

How DevBoard Works

01

Edit backlog.md

Add `## Wire OAuth callback handler` with `<!-- devmesh:status=todo -->`. That's the whole format. Plain markdown, plain HTML comments, plain git.

02

Push to the board

Run `dm backlog push` once, or `dm backlog watch` for live sync. The file becomes the board, and the board reflects the file — both directions.

03

Drive from the terminal

`dm task add "Quick fix" --group security-audit` auto-binds to the current repo via `.devmesh.json`. No browser tab, no copy-pasted IDs.

04

Code references the card

Commit messages mentioning `DEVM-83` light up the badge on the card. Pushed vs local is visible. The work and the ticket stay in lockstep without you typing twice.

05

Move it on the board

Drag a card across columns, or `dm task move DEVM-83 in_review`. Both update backlog.md and the kanban together. The next git diff tells the team what shipped.

The Edge

Six Reasons It Sticks

Counter-positioned against Linear, Plane, and GitHub Projects. Different model, different audience, on purpose.

01

Your backlog is a file

backlog.md is the source of truth. Git diffs, PR reviews, blame, all of it. Reviewers can comment on tickets the same way they comment on code.

## Wire OAuth callback handler
<!-- devmesh:status=todo -->
<!-- devmesh:group=auth-rewrite -->
02

`dm task add` from anywhere

Tasks auto-bind to the current repo via .devmesh.json. No browser tab required, no IDs to copy/paste.

$ dm task add "Quick fix for retry logic"
✔ DEVM-91 → todo · bound to devmesh
03

Commit status on every card

Reference a task ID in any commit message and the card's badge updates. Pushed vs local is visible at a glance.

$ git commit -m "fix: handle OAuth retry (DEVM-83)"
↳ DEVM-83 · commit local · push to publish
04

Visual task grouping

--group security-audit paints sibling cards a shared color from an 8-color hash palette. Tasks born from the same prompt or audit visually cluster.

$ dm task add "Patch SQLi in /api/search" \
    --group security-audit
05

Viewport-fit board

Columns scroll, the page doesn't. Cards keep their natural height even in crowded columns. The board respects your screen.

06

Centered modal, drag-only cards

Click to read, drag to move. No accidental opens, no keyboard fights with column scroll.

Protocol

The Format Rules

Eight conventions that make the file-as-truth model work. Memorize the footgun on rule 3.

01

backlog.md lives at the repo root and is the source of truth on `dm backlog push`.

02

Valid statuses: `todo`, `in_progress`, `in_review`, `complete`, `cancelled`.

03

Footgun: `done` is NOT valid — it silently parses as `todo`. Use `complete`.

04

Items without an `id` field get a server-minted UUID written back into the file on next push.

05

Tasks created via `dm task add` auto-bind to the current repo from `.devmesh.json`.

06

Pass `--group <label>` on every sibling task to share a color on the board.

07

Group labels are lowercase-with-dashes, case-insensitive after first use.

08

A task can belong to multiple groups — repeat `--group` to attach more.

FAQ

Frequently Asked Questions

Stop tab-switching. Start shipping from your terminal.

DevBoard is free on devmesh.app. Install the CLI, write a backlog, watch the cards land.