Files
lanework/DESIGN/README.md
T
rzen cacd48cb0f Ratify the edition split and the 2026-07-28 design-review resolutions
Edition split follow-through: 12-editions.md and 13-native-undo.md join the
corpus; git-era docs (06, 07) are Pro-scoped and cross-references realigned.

Resolution session rulings written in place: caret chords yield to any focused
text control (04, 11); the drop settle holds its proposal as overlay state and
02 gains the overlays family; Duplicate gets the save-panel fallback and a
cancellable copy walk (03); Finder open is a standard document open (02);
failed first opens record before loading with the folder name provisional (02);
trash pointer ranges skip by kind, full-height marquee surface, Select All by
kind, rows-only trashed universe (02, 04); Empty Trash counts entries (03);
create handoff reads as one arrival (02); range-anchor lifecycle, board-
background click grammar, jump landing cards, lane-domain shift-arrows (04);
Reduce Motion restated per voice (10).

Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
2026-07-27 20:29:32 -04:00

3.1 KiB

Lanework — Design Documents

A ground-up rewrite of the Kanban app, to ship as Lanework on the Mac App Store. The old repo (../../Kanban, one level above this repository — not the rewrite's own Kanban/ source folder, which shares the codename) 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 — Pro edition
07-sync-collab.md Board modes: local-only, git; iCloud Drive warned against — Pro edition
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
12-editions.md The three editions (Lanework / Pro / Teams): distribution, provider seam, feature matrix
13-native-undo.md macOS-native undo/redo — the base edition's history substrate

Deferred design iterations

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. The 2026-07-27 edition split (12-editions.md) added two deferred passes: the attachment-undo staging design and the EchoLedger foreign-undo bridge (both flagged in 13-native-undo.md), plus Teams' tracker integration (no design yet).

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.