Requirements Document: Shoe Choo (集中)

Intent Analysis

Item Detail
User Request Build a Typora-inspired distraction-free WYSIWYG Markdown editor for macOS
Request Type New Project (Greenfield)
Scope Estimate System-wide — new macOS application with editor engine, document management, and export
Complexity Estimate Complex — custom WYSIWYG rendering with TextKit 2, GFM support, native macOS integration
Depth Level Comprehensive

1. Functional Requirements

FR-01: WYSIWYG Markdown Editing (Priority: Critical)

FR-02: GFM (GitHub Flavored Markdown) Support (Priority: Critical)

FR-03: Focus Mode (Priority: High)

FR-04: Typewriter Scrolling (Priority: High)

FR-05: Document Management (Priority: High)

FR-06: Sidebar (Priority: Medium)

FR-07: Image Support (Priority: Medium)

FR-08: Export (Priority: Medium)

FR-09: Full-Screen Writing (Priority: Medium)

FR-10: Dark Mode (Priority: Medium)

FR-11: Typography (Priority: Low)


2. Non-Functional Requirements

NFR-01: Performance

NFR-02: Reliability

NFR-03: Usability

NFR-04: Maintainability

NFR-05: Security (Extension Enabled)

NFR-06: Distribution


3. Security Compliance Summary (Baseline Extension)

Rule Applicability Notes
SECURITY-01: Encryption at Rest/Transit N/A No data stores or network communication
SECURITY-02: Access Logging N/A No network intermediaries
SECURITY-03: Application Logging Applicable Structured logging for crash diagnostics
SECURITY-04: HTTP Security Headers N/A No web-serving endpoints
SECURITY-05: Input Validation Applicable File path validation, Markdown input handling
SECURITY-06: Least-Privilege Access Applicable App Sandbox entitlements, minimal file access
SECURITY-07: Network Configuration N/A No network access in core functionality
SECURITY-08: Application Access Control N/A No user authentication
SECURITY-09: Security Hardening Applicable Hardened Runtime, generic error messages
SECURITY-10: Supply Chain Security Applicable SPM lock file, dependency pinning
SECURITY-11: Secure Design Applicable Sandbox isolation, defense in depth for file I/O
SECURITY-12: Auth & Credential Mgmt N/A No user authentication
SECURITY-13: Integrity Verification Applicable Notarization, code signing
SECURITY-14: Alerting & Monitoring N/A Desktop app, no server-side monitoring
SECURITY-15: Exception Handling Applicable Fail-safe file I/O, global error handling

4. Technical Decisions Summary

Decision Choice Rationale
Rendering Engine TextKit 2 (NSTextView) Native IME, accessibility, Undo, spell check
Document Architecture NSDocument Standard macOS auto-save, tabs, versions
Markdown Parser swift-markdown (Apple) Typed AST, internal cmark-gfm, maintained
Image Handling Copy to {filename}.assets/ Portability, self-contained documents
Distribution GitHub Releases + Notarization Gatekeeper compatibility
Markdown Scope GFM (GitHub Flavored) Tables, task lists, strikethrough, code fences
Security Baseline enabled App Sandbox + Hardened Runtime

5. Feature Priority (MVP)

Priority Feature Status
1 WYSIWYG Markdown Editing (TextKit 2) MVP
2 Focus Mode MVP
3 Export (HTML, PDF) MVP
4 Sidebar (Recent Files) MVP
5 Dark Mode MVP
Full File Tree Sidebar Post-MVP
iOS / iPadOS app Post-MVP
iCloud Sync Post-MVP
LaTeX Math Rendering Post-MVP
Mermaid Diagrams Post-MVP

6. Out of Scope (v1)