Because the github site isn’t too informative:
notmuch is a mail indexer that allows amazingly fast full text mail search (a lot of people are using it with mutt) and allows assignment of tags to email.
Build on top of this, at least I work a lot with tags in alot, e.g. incoming mail are tagged with unread and inbox, and the initial search when opening alot shows all matches for tag:inbox AND NOT tag:killed. Tags can than easily be added or removed by the user (unread automatically after having scrolled all the way through the mail). It also means that you will never throw mail away, but tag it spam or killed instead (probably a lot like google mail, which I haven’t ever used seriously).
tag:inbox AND NOT tag:killed
The downside is, that initial setup isn’t the easiest, but notmuch’s getting started guide and the tagging script afew should help over the initial hump.
Did you find a reliable solution for syncing tags? I usually keep a working mutt-notmuch on one of my machines because I like notmuch' search. But I haven’t been using tags, since there seems to be no reliable way to synchronize them. Instead, I have some servers-side rules and construct virtual folders based on IMAP folder names.
Actually no, but I haven’t ever looked for a solution. I read my mail on a server I ssh into.
Edit: there is muchsync, but I haven’t tried it yet.