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.

update

+17 -14
+17 -14
docs/content/docs/_index.md
··· 5 5 6 6 A minimal terminal email client for people who write in Markdown and live in Neovim. 7 7 8 - [Neomd](https://www.ssp.sh/brain/neomd/) is my way of implementing an email TUI based on my experience with Neomutt, focusing on [Neovim](https://www.ssp.sh/brain/neovim) (input) and reading/writing in [Markdown](https://www.ssp.sh/brain/markdown) and navigating with [Vim Motions](https://www.ssp.sh/brain/vim-language-and-motions) with the GTD workflow and [HEY-Screener](https://www.hey.com/features/the-screener/). 9 - 10 - 11 - {{< callout type="warning" >}} 12 - neomd moves, deletes, and modifies emails directly on your IMAP server. These operations affect your mailbox across all devices. **Back up important emails before first use.** neomd is experimental software and can't take responsibility for lost or misplaced emails. Consider testing with a secondary email account first. 13 - {{< /callout >}} 14 - 8 + *Neomd is my way of implementing an email TUI based on my experience with Neomutt, focusing on [Neovim](https://www.ssp.sh/brain/neovim) (input) and reading/writing in [Markdown](https://www.ssp.sh/brain/markdown) and navigating with [Vim Motions](https://www.ssp.sh/brain/vim-language-and-motions) with the GTD workflow and [HEY-Screener](https://www.hey.com/features/the-screener/).* 15 9 16 10 ## The philosophy behind Neomd: What's unique? 17 11 ··· 24 18 Also, we intentionally don't add more folders to the archive or file emails too, only archive (and work if you use business/personal - but that's not even needed). The goal is to let emails fade out, avoid the "busy work," and file them. We use search when we need it, or copy important information into Obsidian or our daily work. That's why we only have limited folders (and also why we currently can't add additional ones; see [FAQ](https://ssp-data.github.io/neomd/docs/faq/#is-it-possible-to-create-new-directoriestabs). 25 19 26 20 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. 27 - 28 - {{< callout type="info" >}} 29 - 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. 30 - {{< /callout >}} 31 21 32 22 33 23 ### Email Processing Workflow ··· 82 72 *all colored boxes represent neomd folders* 83 73 84 74 **Key principles:** 85 - - **Screener first**: Unknown senders never clutter your Inbox — they wait in ToScreen for classification [[more](https://ssp-data.github.io/neomd/docs/screener/)] 75 + - **Screener first**: Unknown senders never clutter your Inbox, but get automatically wait in ToScreen for classification [[more](https://ssp-data.github.io/neomd/docs/screener/)] 86 76 - **One-time decision**: Once you classify a sender (`I/O/F/P`), all future emails from them are automatically routed [[more](https://ssp-data.github.io/neomd/docs/screener/#how-classification-works)] 87 - - **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 88 - - **Minimal filing**: Only Archive when done; no complex folder hierarchies — use search to find old emails 77 + - **GTD processing**: Emails in Inbox are processed once. Inbox acting as want/need to do *Next*, otherwise move to Waiting, Someday, or Scheduled 78 + - **Minimal filing**: Only Archive when done; no complex folder hierarchies. Use search to find old emails 89 79 - **Separate contexts**: Feed for newsletters (read when you want), PaperTrail for receipts (search when needed) 90 80 - See full features list below. 91 81 ··· 170 160 - **Kanagawa theme** — colors from the [kanagawa.nvim](https://github.com/rebelot/kanagawa.nvim) palette 171 161 - **IMAP + SMTP** — direct connection via RFC 6851 MOVE, no local sync daemon required and keeps it in sync if you use it on mobile or different device [[more](https://ssp-data.github.io/neomd/docs/configuration/)] 172 162 163 + {{< callout type="info" >}} 164 + 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. 165 + {{< /callout >}} 166 + 167 + 173 168 ## Install 174 169 175 170 **Prerequisites:** [Go 1.22+](https://go.dev/doc/install) and `make`. 171 + 172 + {{< callout type="warning" >}} 173 + neomd moves, deletes, and modifies emails directly on your IMAP server. These operations affect your mailbox across all devices. **Back up important emails before first use.** neomd is experimental software and can't take responsibility for lost or misplaced emails. Consider testing with a secondary email account first. 174 + {{< /callout >}} 175 + 176 176 177 177 {{< callout type="info" >}} 178 178 **Optional attachment helpers:** ··· 318 318 - [goldmark](https://github.com/yuin/goldmark) — Markdown → HTML for sending 319 319 - [BurntSushi/toml](https://github.com/BurntSushi/toml) — config parsing 320 320 321 + 322 + ## FAQ 323 + You have more questions, check out the [docs](https://ssp-data.github.io/neomd/) with more information, or check [Frequently Asked Questions](https://ssp-data.github.io/neomd/docs/faq/). 321 324 ## Changelog 322 325 323 326 See [CHANGELOG.md](CHANGELOG.md) for what's new.