A minimal email TUI where you read with Markdown and write in Neovim. neomd.ssp.sh/docs
email markdown neovim tui
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

add workflow for neomd

sspaeti 26f32ac9 77bf77e4

+59 -1
+59 -1
README.md
··· 20 20 21 21 But we have two additional **Feed** and **Papertrail**, two dedicated folders from HEY where you can read newsletters (just hit F) on them automatically in their separate tab, or move all your receipts into the Papertrail. Once you mark them as feed or papertrail, they will moved there automatically going forward. So you decide whether to read emails or news by jumping to different tabs. 22 22 23 - 24 23 > [!NOTE] 25 24 > neomd's **speed** depends entirely on your IMAP provider. On Hostpoint (the provider I use), a folder switch takes **~33ms** which feels instant. On Gmail, the same operation takes **~570ms** which is noticeably slow. See [Benchmark](#benchmark) for full details and how to test your provider. 25 + 26 + ### Email Processing Workflow 27 + 28 + Here's how neomd combines HEY-Screener + GTD + Feed/Papertrail to process your email: 29 + 30 + ```mermaid 31 + flowchart TD 32 + Start([New Email Arrives]) --> AutoScreen{Auto-Screener<br/>Known Sender?} 33 + 34 + AutoScreen -->|screened_in.txt| Inbox["๐Ÿ“ฅ Inbox (Next)"] 35 + AutoScreen -->|screened_out.txt| ScreenedOut[๐Ÿšซ ScreenedOut] 36 + AutoScreen -->|feed.txt| Feed[๐Ÿ“ฐ Feed] 37 + AutoScreen -->|papertrail.txt| PaperTrail[๐Ÿงพ PaperTrail] 38 + AutoScreen -->|Unknown| ToScreen[โ“ ToScreen] 39 + 40 + ToScreen -->|Press I| ClassifyIn[Add to screened_in.txt] 41 + ToScreen -->|Press O| ClassifyOut[Add to screened_out.txt] 42 + ToScreen -->|Press F| ClassifyFeed[Add to feed.txt] 43 + ToScreen -->|Press P| ClassifyPaper[Add to papertrail.txt] 44 + 45 + ClassifyIn --> Inbox 46 + ClassifyOut --> ScreenedOut 47 + ClassifyFeed --> Feed 48 + ClassifyPaper --> PaperTrail 49 + 50 + Inbox --> Process{Process Email<br/>GTD Decision} 51 + 52 + Process -->|< 2 min?<br/>Do it now| Action[Reply/Handle<br/>Immediately] 53 + Process -->|Waiting for others<br/>Press mW| Waiting[โณ Waiting] 54 + Process -->|Not now, later<br/>Press Mm| Someday[๐Ÿ“… Someday] 55 + Process -->|Time-specific<br/>Press Mc then c| Scheduled[๐Ÿ—“๏ธ Scheduled] 56 + Process -->|Delete<br/>Press x| Trash[๐Ÿ—‘๏ธ Trash] 57 + Process -->|Reference only<br/>Press Mp or P| PaperTrail 58 + Process -->|Newsletter<br/>Press F or Mf| Feed 59 + 60 + Action --> Done{Done?} 61 + Waiting --> Review[Review Later] 62 + Someday --> Review 63 + Scheduled --> Review 64 + Feed --> ReadLater[Read in<br/>Feed Tab] 65 + PaperTrail --> SearchLater[Search when<br/>needed] 66 + 67 + Done -->|Yes| Archive[๐Ÿ“ฆ Archive] 68 + Done -->|Not actionable| Archive 69 + Review --> Archive 70 + ReadLater --> Archive 71 + 72 + classDef folderStyle fill:#7fb4ca,stroke:#333,stroke-width:2px 73 + class ToScreen,Inbox,ScreenedOut,Feed,PaperTrail,Archive,Waiting,Someday,Scheduled,Trash folderStyle 74 + ``` 75 + *blue are all the folders in neomd* 76 + 77 + **Key principles:** 78 + - **Screener first**: Unknown senders never clutter your Inbox โ€” they wait in ToScreen for classification 79 + - **One-time decision**: Once you classify a sender (`I/O/F/P`), all future emails from them are automatically routed 80 + - **GTD processing**: Emails in Inbox are processed once โ€” if < 2 min, do it or keep it in inbox as doing *Next* otherwise move to Waiting, Someday, or Scheduled 81 + - **Minimal filing**: Only Archive when done; no complex folder hierarchies โ€” use search to find old emails 82 + - **Separate contexts**: Feed for newsletters (read when you want), PaperTrail for receipts (search when needed) 83 + 26 84 27 85 ## Screenshots 28 86