Immutable snapshot value types encoding the frontmatter tables: ItemID wraps the exact folder name (not Foundation UUID, which uppercases); lanes/cards carry FieldValue-typed fields, display-ordered children including flagged tombstones, and their full FrontmatterDocument so unknown and reserved keys ride along uninterpreted. Boards are identified by rootURL — package folders are human-named, not UUIDs. Claude-Session: https://claude.ai/code/session_018BjQRYBR6jQja3jCRi5S3A
Lanework
A native macOS kanban app whose boards are plain folders and Markdown files. Every board, lane, and card is a folder with an index.md (YAML frontmatter + Markdown body); the filesystem is the source of truth and the app is a live view over it.
The defining consequence: anything that can read and write files is a first-class user of a board — text editors, Finder, shell scripts, git, and above all AI agents. Lanework's job is to be the best human surface over that substrate.
Key features
Lanework is in early development. This list tracks what has actually shipped and grows milestone by milestone; the full design lives in DESIGN/.
Nothing user-facing has landed yet — the project is at the scaffold stage.
Development
The Xcode project is generated — project.yml is the source of truth, not the .xcodeproj:
xcodegen generate
xcodebuild build -project Kanban.xcodeproj -scheme Kanban -destination 'platform=macOS'
xcodebuild test -project Kanban.xcodeproj -scheme Kanban -destination 'platform=macOS,arch=arm64'
macOS 26+, Swift 6 (strict concurrency), SwiftUI, sandboxed. Internal codename Kanban (target, scheme, bundle id dev.rzen.indie.Kanban); the app ships under the display name Lanework.