matcha

command module
v0.39.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2026 License: MIT Imports: 50 Imported by: 0

Image README


Image

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

Image

[!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

AI Integration

AI Agent Support: Matcha can be used by autonomous AI agents to send emails on your behalf. The matcha send CLI command provides a non-interactive interface for composing and sending emails.

matcha send --to alice@example.com --subject "Hello" --body "Sent by my AI agent"

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.

AI Rewrite Plugin: Matcha includes an AI rewrite plugin that allows you to rewrite your email drafts using OpenAI, Ollama, Gemini, or Claude.

Setup Guide

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.

Sponsored by GitAds

Clicking this add helps us fund our expenses!

Image Documentation

The Go Gopher

There is no documentation for this package.

Image 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.
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.

Jump to

Keyboard shortcuts

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