DEV Community

Cover image for dsh-delivery-board v0.2.0 β€” a standalone CLI delivery board that lives in your git repo
jerry23t
jerry23t

Posted on

dsh-delivery-board v0.2.0 β€” a standalone CLI delivery board that lives in your git repo

Why another board β€” and why it should live in git

If delivery state lives only in Slack threads and a SaaS board nobody opens, humans and coding agents drift. Who owns the card? What does "done" mean? What shipped this week?

dsh-delivery-board keeps stages, owners, handoffs, soft WIP hints, a weekly Markdown client report, and a local kanban + calendar Timeline in one in-repo file (delivery.json by default). Views are projections of that same state β€” reviewable in PRs, offline-friendly, and intentionally not a Jira/Linear replacement.

This post is about v0.2.0: the board now runs as a standalone CLI. You do not need DeepSeek Harness (dsh) installed. (The optional DSH plugin path still works unchanged.)

Distinct from the earlier Dev.to post that introduced the project mainly as a DSH plugin. Here the headline is: CLI-first, works alone.

30-second standalone quickstart

npx github:jerryxff26-alt/dsh-delivery-board init '{"customer":"ACME","template":"governance"}'
npx github:jerryxff26-alt/dsh-delivery-board card '{"title":"API integration","stage":"analyze","owner":"Ada"}'
npx github:jerryxff26-alt/dsh-delivery-board open    # loopback board + Timeline; Ctrl+C to stop
npx github:jerryxff26-alt/dsh-delivery-board weekly
Enter fullscreen mode Exit fullscreen mode

If/when the package is on the npm registry under dsh-delivery-board, the same commands work as npx dsh-delivery-board …. Until then, the GitHub install string above is the reliable path.

What you get

  • Stage pipeline + cards β€” owner, due date, acceptance criteria, Definition of Done
  • Handoff audit β€” stage moves record who handed what to whom
  • Weekly Markdown report β€” pipeline snapshot, shipped this week, handoffs, open/resolved risks, optional next bets
  • Soft WIP limits β€” warn when a stage is over; never hard-block
  • Local editable board β€” drag-and-drop on 127.0.0.1, saves back to the same file
  • Timeline view β€” calendar-axis bars per card (created β†’ handoffs β†’ shipped/archived), due markers, light/dark
  • Offline HTML snapshot β€” single read-only file teammates can open without the CLI

Optional: DeepSeek Harness plugin

Same domain model, skill-backed /delivery workflow for agent-led planning and moves:

dsh plugin --profile web add github:jerryxff26-alt/dsh-delivery-board
Enter fullscreen mode Exit fullscreen mode

Tested with DSH 0.2.1-rc.2 (also compatible with 0.2.0-rc.2). No runtime dependencies.

Compared to alternatives (short)

Need This project Typical SaaS kanban Markdown checklists alone
Lives in the git repo Yes (delivery.json) Usually remote Yes, but unstructured
Handoff audit + weekly client report Built-in Custom fields / exports Manual
Local editable UI + Timeline Loopback board Full web app No
Works with AI coding agents CLI for any shell; optional DSH skill Often API / MCP Prompt-only

Links

If this saves a standup or a messy Friday paste, a star helps others find it. Feedback welcome on the repo.


Top comments (5)

Collapse
 
robertpaschal profile image
Odinaka Robert Nnamani •

a board that lives in the repo. does it replace the dashboard, or just move it somewhere else?

Collapse
 
jerryxff26alt profile image
jerry23t •

Neither, really. The goal is shared context, not a new dashboard. Planning, ownership and delivery status live in the same repo as the code, so the PM view and the engineer view are reading the same source (delivery.json) instead of two systems that drift apart. You can still render a board or weekly report from it, but the point is that everyone from management to delivery works off one context.

Collapse
 
robertpaschal profile image
Odinaka Robert Nnamani •

Got it. So the board is just a view, and delivery.json is the thing both sides trust.

Collapse
 
officialmailkr profile image
μ˜€ν”Όμ…œλ©”μΌ •

delivery.json ν•˜λ‚˜μ—μ„œ λ³΄λ“œΒ·νƒ€μž„λΌμΈΒ·μ£Όκ°„ λ³΄κ³ μ„œλ₯Ό λ§Œλ“ λ‹€λŠ” ꡬ쑰가 일관성을 ν™•μΈν•˜κΈ° μ’‹λ„€μš”. μ—¬λŸ¬ μž‘μ—… λΈŒλžœμΉ˜μ—μ„œ 같은 μΉ΄λ“œλ‚˜ 인계λ₯Ό λ™μ‹œμ— λ°”κΎΈλŠ” κ²½μš°μ—λŠ” μΆ©λŒμ„ μ–΄λ–€ κΈ°μ€€μœΌλ‘œ μ •λ¦¬ν•˜λ„λ‘ μ•ˆλ‚΄ν•˜μ‹œλŠ”μ§€λ„ κΆκΈˆν•©λ‹ˆλ‹€. μΉ΄λ“œ μ‹λ³„μžμ™€ 인계 μˆœμ„œλ₯Ό κ²€μ¦ν•˜λŠ” μ˜ˆμ‹œκ°€ 있으면 νŒ€μ—μ„œ λ„μž…ν•  λ•Œ 도움이 될 것 κ°™μŠ΅λ‹ˆλ‹€.

Collapse
 
jerryxff26alt profile image
jerry23t •

쒋은 질문 κ°μ‚¬ν•©λ‹ˆλ‹€! μ§€κΈˆμ€ μΉ΄λ“œ IDλ‚˜ 인계 μˆœμ„œλ₯Ό κ²€μ¦ν•˜λŠ” μ˜ˆμ‹œλŠ” 아직 μ—†μŠ΅λ‹ˆλ‹€. ꢌμž₯ν•˜λŠ” 방식은 trunk-based κ°œλ°œμž…λ‹ˆλ‹€. λΈŒλžœμΉ˜λŠ” 짧게 μœ μ§€ν•˜κ³ , λ¨Έμ§€ 전에 λ¨Όμ € rebase ν•΄μ„œ delivery.json μΆ©λŒμ„ 일반 μ½”λ“œ 좩돌처럼 ν•΄κ²°ν•˜λŠ” 것을 μΆ”μ²œν•©λ‹ˆλ‹€.

(EN: No validation example yet. We recommend trunk-based development: keep branches short-lived and rebase before merging, so any delivery.json conflict is resolved like a normal code conflict.)