2026-05-29 15:27:42 +02:00
|
|
|
# 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
|
|
|
|
|
|
2026-05-29 15:34:15 +02:00
|
|
|
Status: Complete
|
2026-05-29 15:27:42 +02:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2026-05-30 20:15:14 +02:00
|
|
|
Status: Complete
|
2026-05-29 15:27:42 +02:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2026-05-30 20:15:14 +02:00
|
|
|
Status: Complete
|
2026-05-29 15:27:42 +02:00
|
|
|
|
|
|
|
|
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: Planned
|
|
|
|
|
|
|
|
|
|
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
|
2026-05-29 19:53:05 +02:00
|
|
|
- 3D models
|
2026-05-29 15:27:42 +02:00
|
|
|
|
|
|
|
|
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.
|