A modern, feature-rich todo app for macOS built with SwiftUI and SwiftData.
| Main Interface | Menu Bar |
|---|---|
![]() |
![]() |
- Three-Column Layout β Sidebar filters, task list, and detail editor in a clean NavigationSplitView.
- Priority & Categories β Set priority levels (None / Low / Medium / High) and assign multiple tags to each task.
- Due Dates β Inline calendar picker with smart relative date display (Today, Tomorrow, Overdue, etc.).
- Markdown Notes β Write notes in Markdown and preview rendered output with full block-level support (headings, lists, code blocks, tables) powered by MarkdownUI.
- File Attachments β Attach files via drag-and-drop or file picker. Open files or reveal in Finder with one click. Security-scoped bookmarks ensure persistent access across app launches.
- Smart Filtering β Filter by All / Today / Upcoming / Completed. Sort by due date, priority, or creation date. Full-text search across titles, notes, and categories.
- Menu Bar Quick Access β View and manage pending tasks directly from the macOS menu bar without opening the main window.
- Multilingual β Full support for English, Chinese (δΈζ), and Japanese (ζ₯ζ¬θͺ).
- Keyboard Shortcuts β
βNto create a new task, and more. - Persistent Storage β SwiftData powers reliable local data persistence with automatic lightweight migration.
- macOS 26.2+
- Xcode 26.2+
- Clone the repository:
git clone https://github.com/mfzzf/todo-list.git
- Open
ToDo List.xcodeprojin Xcode. - Wait for Swift Package Manager to resolve dependencies.
- Build and run (
βR).
| Package | Purpose |
|---|---|
| MarkdownUI | Markdown rendering in SwiftUI |
ToDo List/
βββ ToDo_ListApp.swift # App entry point & MenuBarExtra
βββ ContentView.swift # Three-column NavigationSplitView
βββ SidebarView.swift # Filter navigation (All/Today/Upcoming/Completed)
βββ ToDoListView.swift # Task list with search & sort
βββ ToDoRowView.swift # Individual task row
βββ DetailView.swift # Task detail editor
βββ AddToDoSheet.swift # New task creation sheet
βββ MenuBarView.swift # Menu bar popover
βββ SettingsView.swift # App preferences
βββ Item.swift # SwiftData model
βββ Priority.swift # Priority enum
βββ Localization.swift # i18n (EN/ZH/JA)
βββ DateFormatting.swift # Smart date utilities
βββ AttachmentService.swift # File open & Finder reveal
βββ FileTypeIcon.swift # File extension β SF Symbol mapping
βββ Assets.xcassets/ # Colors & icons
Apache License 2.0. See LICENSE for details.

