gitwtfhub

wtf is mu?

rougier/mu — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2023-04-19

Audience · developerComplexity · 3/5DormantSetup · moderate

TL;DR

A fast email indexing and search tool that lets you find any message in your personal mail archive in seconds, with a command-line tool and an Emacs email client.

Mindmap

mindmap
  root((repo))
    What it does
      Indexes email into database
      Fast custom search
      Search by field or body
    Tech stack
      C plus plus
      Xapian database
      Emacs mu4e
      Guile bindings
    Use cases
      Search huge mail archives
      Use inside Emacs
      Automate email with Scheme
    Audience
      Emacs users
      Linux power users
      Developers
    Platforms
      Linux
      macOS
      FreeBSD
      Windows

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Index a large Maildir email archive so you can search it instantly by sender, date, subject, or body text.

REASON 2

Use mu4e to read, search, and manage your email entirely inside Emacs.

REASON 3

Automate repetitive email tasks with Scheme code using the mu-guile bindings.

REASON 4

Search your personal email like a search engine instead of digging through folders manually.

What's in the stack?

C++XapianEmacsGuile

How it stacks up

rougier/mu0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2023-04-192022-10-032020-05-03
MaintenanceDormantDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/52/51/5
Audiencedevelopervibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Casual users should install a pre-built package from their Linux distro rather than building from source.

Wtf does this do

Mu is a tool that helps you manage and search through large amounts of email. Instead of wading through thousands of messages in your email client, you can index all your messages into a searchable database and then find exactly what you need in seconds using a custom query language, almost like searching Google, but for your personal email. The tool works by first scanning your email messages (which need to be stored in a standard format called Maildir) and building an index in a Xapian database. Once indexed, you can search using specific fields like sender, date, or subject, or search for words anywhere in the message body. This indexing happens once, and then future searches are lightning-fast. Mu comes with a few different ways to use it. There's a command-line interface for power users who like typing commands. More importantly, there's mu4e, a full-featured email client that runs inside Emacs (a text editor popular among developers and power users). If you work with the Scheme programming language, there's also a set of bindings called mu-guile that lets you automate email tasks with code. The core of mu is written in C++, which makes it fast and efficient even with very large email collections. You'd use this if you get a lot of email and hate digging through folders to find an old message. It's particularly useful for people who already use Emacs, Linux, or like command-line tools. The project is mature, open-source, and available on major operating systems including Linux, macOS, FreeBSD, and Windows. The README recommends that casual users grab a pre-built package from their Linux distribution rather than building it from source, though developers can compile it themselves using standard build tools.

Yoink these prompts

Prompt 1
Show me how to index my Maildir email archive with mu and search it from the command line.
Prompt 2
Help me set up mu4e in Emacs so I can read and search my email without leaving the editor.
Prompt 3
Explain mu's query language so I can search for emails from a specific sender within a date range.
Prompt 4
Write a mu-guile script that automates archiving old emails matching a search query.

Frequently asked questions

wtf is mu?

A fast email indexing and search tool that lets you find any message in your personal mail archive in seconds, with a command-line tool and an Emacs email client.

Is mu actively maintained?

Dormant — no commits in 2+ years (last push 2023-04-19).

How hard is mu to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mu for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.