matcha

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2026 License: MIT Imports: 24 Imported by: 0

README



Go Version Discord GitHub release (latest by date) Go Reference Awesome

[!TIP] There are nightly releases!

A powerful, feature-rich email client for your terminal. Built with Go and the Bubble Tea TUI framework, Matcha brings a beautiful, modern email experience to the command line with support for rich content, multiple accounts, and advanced terminal features.

Demo GIF

Plugin Marketplace

Matcha has a built-in plugin system with 35+ community plugins. Browse and install them from the terminal or the online marketplace.

matcha marketplace                # browse plugins in the TUI
matcha install <url_or_file>      # install a plugin
matcha config <plugin_name>       # configure an installed plugin

Anyone can submit their own plugin — just add an entry to plugins/registry.json and open a PR. Learn more

Logging

Matcha supports global logging verbosity flags before the main command or subcommand:

matcha --verbose              # enable verbose logging
matcha -V daemon status       # short form for verbose logging
matcha --debug daemon status  # enable debug logging

The existing -v and --version flags continue to print the Matcha version.

macOS Menu Bar Helper

On macOS, Matcha ships with an optional menu bar helper. It lives in the menu bar and shows your unread count, posts native notifications with the Matcha icon on new mail, and lists your accounts so you can open Matcha in a terminal with a click. It talks to the Matcha daemon, so no extra configuration is needed.

matcha helper install     # build & start the menu bar app (runs at login)
matcha helper status      # check whether it's installed and the daemon is up
matcha helper uninstall   # remove it

Building the helper uses the Xcode Command Line Tools' swiftc (the same requirement as matcha setup-mailto).

Documentation

Matcha Documention is available on our website

Star History

Star History Chart

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for guidelines.

License

This project is distributed under the MIT License. See the LICENSE file for more information.

Suggestions

For general suggestions and community discussion, please join our Discord server.

For security-related issues, please refer to the Security Policy.

For urgent concerns, contact support@floatpane.com

Sponsors

[!TIP] Want to sponsor our development and be featured here? You can do so here (or, if you prefer, here), or discuss it via email with our team

Thank you to our sponsors for supporting Matcha's development!

Individual Sponsors:

David H. Colmenares | Elliot Hornes | Robert M. | James L. | Chris D.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package backend defines the Provider interface for multi-protocol email support.
Package backend defines the Provider interface for multi-protocol email support.
imap
Package imap implements the backend.Provider interface by delegating to the existing fetcher and sender packages.
Package imap implements the backend.Provider interface by delegating to the existing fetcher and sender packages.
jmap
Package jmap implements the backend.Provider interface using the JMAP protocol (RFC 8620 Core + RFC 8621 Mail).
Package jmap implements the backend.Provider interface using the JMAP protocol (RFC 8620 Core + RFC 8621 Mail).
maildir
Package maildir implements the backend.Provider interface for local Maildir mailboxes (the `mutt -f Maildir` style).
Package maildir implements the backend.Provider interface for local Maildir mailboxes (the `mutt -f Maildir` style).
pop3
Package pop3 implements the backend.Provider interface using POP3 for reading email and SMTP for sending.
Package pop3 implements the backend.Provider interface using POP3 for reading email and SMTP for sending.
Package export provides utilities for exporting emails to HTML or Markdown format, including full message metadata and headers parsed from the raw RFC822 message.
Package export provides utilities for exporting emails to HTML or Markdown format, including full message metadata and headers parsed from the raw RFC822 message.
Package gitmail applies patches received as email to a local git working tree.
Package gitmail applies patches received as email to a local git working tree.
internal
httpclient
Package httpclient centralizes HTTP timeout defaults so the rest of the codebase doesn't sprinkle magic numbers across packages.
Package httpclient centralizes HTTP timeout defaults so the rest of the codebase doesn't sprinkle magic numbers across packages.
screenshots
cmd/email_view command
email_view is a small helper that renders a mock email with inline images for screenshot generation.
email_view is a small helper that renders a mock email with inline images for screenshot generation.
cmd/inbox_view command
inbox_view is a small helper that renders a mock inbox with realistic emails for screenshot generation.
inbox_view is a small helper that renders a mock inbox with realistic emails for screenshot generation.
Package spellcheck provides dictionary-backed spell checking for the composer.
Package spellcheck provides dictionary-backed spell checking for the composer.
diffview
Package diffview renders git diffs as solid blocks with uniform background colors and ANSI-aware truncation.
Package diffview renders git diffs as solid blocks with uniform background colors and ANSI-aware truncation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL