Files
lanework/DESIGN
rzen 607e1b837b The undo stack is HEAD's first-parent ancestry, live
Fills the gap: foreign commits — auto-committed agent work and agent
self-commits — push onto the in-session stack as steps, with a
pre-flight HEAD re-sync before every undo/redo. One rule in-session
and across relaunch; arriving commits clear redo.

Claude-Session: https://claude.ai/code/session_01HJ7PhFNmQ19bvy9RMD6GSb
2026-07-26 16:18:57 -04:00
..
2026-07-26 14:58:16 -04:00
2026-07-26 14:58:16 -04:00
2026-07-26 14:58:16 -04:00

Lanework — Design Documents

A ground-up rewrite of the Kanban app, to ship as Lanework on the Mac App Store. The old repo (../Kanban) was a pathfinder — it never shipped, but it is the reference implementation and the source of hard-won decisions. This design starts from a clean slate and keeps only what earned its place. The rewrite keeps the internal codename Kanban (bundle id dev.rzen.indie.Kanban).

Each document covers one aspect of the design. Within each:

  • Decisions — settled, either carried over from the old app or newly made.
  • Changes from Kanban — where this rewrite deliberately diverges.
  • Open questions — flagged for iteration; nothing here is implicitly settled.

Index

Doc Aspect
00-vision.md What Lanework is, who it's for, goals and non-goals
01-storage-format.md On-disk contract: folders, frontmatter, ordering, tombstones
02-architecture.md App structure: source of truth, stores, watchers, concurrency
03-board-ui.md Board window: layout, lanes, cards, styling, templates
04-interactions.md Selection, drag & drop, keyboard, clipboard, search
05-card-window.md The card window: Markdown preview/edit, attachments
06-history-undo.md Git-backed undo/redo and history
07-sync-collab.md Board modes: local-only, git; iCloud Drive warned against
08-agent-integration.md AI agents as first-class users of the board
09-templates.md Board templates: inventory and definition format
10-accessibility.md VoiceOver, text scaling, visual accommodations
11-command-nexus.md The command Nexus — every command and action: bindings, contexts, customizability

Deferred design iterations

None remaining — the card window (05-card-window.md), toolbar (03-board-ui.md ▸ Toolbar), and styling controls (03-board-ui.md ▸ Styling ▸ Controls) each had their focused pass and are settled.

Wishlist

Ideas worth keeping but outside the committed design live in ../WISHLIST.md.

Terminology

The rewrite adopts lane as the canonical term for what the old app called a column (it's in the name: Lane-work). "Column" survives only when referring to the old app or to interior card-grid columns inside a wide lane.