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.