Sapling/roadmap.md
2026-06-01 15:16:00 +02:00

5.1 KiB

ROADMAP

Sapling Roadmap

This roadmap defines the major milestones required to transform Sapling from a prototype into a production-ready Git-native Markdown workspace.

The roadmap focuses on delivering complete user workflows rather than isolated technical features.


Vision

Sapling is a local-first, open-source, Git-native Markdown workspace.

Users should be able to:

  • Write documents
  • Organize knowledge
  • Manage projects
  • Version their work
  • Synchronize through Git
  • Own their data

without relying on proprietary services.


Milestone 0 — Foundation

Status: Complete

Goal:

Create a buildable application with a stable architecture and development workflow.

Deliverables:

  • Project scaffolding
  • Shared macOS / iOS architecture
  • Core domain models
  • Dependency injection
  • Settings system
  • Logging infrastructure
  • Automated formatting and linting

Success Criteria:

  • Application builds and launches
  • Core modules communicate correctly
  • Development workflow is stable

Milestone 1 — Editor Prototype

Status: Complete

Goal:

Validate Sapling's most important feature: the editing experience.

Deliverables:

  • File tree sidebar
  • Document opening
  • Document saving
  • Markdown editor
  • Keyboard navigation
  • Undo / redo
  • Syntax highlighting

Research:

Investigate implementation options:

  • SwiftUI TextEditor
  • NSTextView
  • UITextView
  • Custom text engine

Success Criteria:

  • Comfortable editing experience
  • Able to write and edit long documents
  • No major cursor or selection issues

Milestone 2 — Hybrid Markdown Editing

Status: Complete

Goal:

Implement Sapling's signature editing experience.

Behavior:

  • Current line displays Markdown source
  • Non-active lines display rendered content
  • Editing feels seamless

Supported Elements:

  • Headings
  • Emphasis
  • Links
  • Lists
  • Task lists
  • Code blocks

Success Criteria:

  • Writing feels faster than traditional split-view editing
  • Rendering updates in real time
  • Cursor behavior remains intuitive

Milestone 3 — Rendering Engine

Status: Complete

Goal:

Provide high-quality Markdown rendering.

Deliverables:

  • Full Markdown support
  • Syntax-highlighted code blocks
  • Tables
  • Callouts
  • Footnotes
  • Wikilinks

Additional Support:

  • LaTeX
  • Mermaid diagrams
  • Image rendering

Success Criteria:

  • Most Obsidian-style documents render correctly
  • Rendering performance remains smooth

Milestone 4 — Workspace Management

Status: Planned

Goal:

Introduce Sapling's organizational model.

Deliverables:

  • Workspace creation
  • Folder management
  • File management
  • Project management
  • Drag and drop support

Concepts:

  • Workspace
  • Project
  • Folder
  • Document
  • Attachment

Success Criteria:

  • Users can organize real-world projects
  • Workspace structure feels natural

Milestone 5 — Git Foundation

Status: Planned

Goal:

Introduce Git as a first-class concept.

Deliverables:

  • Repository initialization
  • Repository opening
  • Repository status
  • Commit creation
  • History viewing

User Language:

Prefer:

  • Snapshot
  • Changes
  • History

Instead of exposing Git terminology everywhere.

Success Criteria:

  • Users can version documents without using a terminal

Milestone 6 — Attachments

Status: Planned

Goal:

Support rich project assets.

Deliverables:

  • Image attachments
  • Drag and drop import
  • Automatic link generation
  • Attachment browser

Future Support:

  • PDFs
  • Audio
  • Video
  • Design assets
  • 3D models

Success Criteria:

  • Attachments integrate naturally into documents

Milestone 7 — Git Collaboration

Status: Planned

Goal:

Support synchronization and collaboration.

Deliverables:

  • Remotes
  • Push
  • Pull
  • Fetch
  • Branch creation
  • Branch switching

Success Criteria:

  • Projects can be synchronized across machines
  • Basic collaboration workflows are supported

Milestone 8 — Git LFS

Status: Planned

Goal:

Support large project assets.

Deliverables:

  • Git LFS initialization
  • Automatic asset tracking
  • LFS status indicators

Success Criteria:

  • Large attachments work reliably
  • Repository portability is maintained

Milestone 9 — Subprojects

Status: Planned

Goal:

Support modular project composition.

Implementation:

  • Git submodules

Deliverables:

  • Add subproject
  • Remove subproject
  • Update subproject
  • Browse subproject contents

Success Criteria:

  • Nested repositories behave naturally
  • Complex knowledge structures are possible

Milestone 10 — macOS Release Candidate

Status: Planned

Goal:

Prepare Sapling for public use.

Deliverables:

  • Performance optimization
  • Accessibility review
  • Documentation
  • Settings UI
  • Error handling
  • Migration support
  • Packaging and distribution

Success Criteria:

  • Daily-driver quality
  • Stable for real projects

Future Exploration

Potential features after v1.0:

  • iOS application
  • Plugin system
  • Custom themes
  • Command palette
  • Workspace templates
  • Advanced graph views
  • Repository health checks
  • Knowledge publishing workflows
  • Alternative Git backends

Guiding Principle

The editor is the product.

Git is infrastructure.

Every milestone should improve the writing and knowledge-management experience first.