# 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.