https://github.com/excelano/zirbe
https://github.com/excelano/zirbe
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/excelano/zirbe
- Owner: excelano
- License: mit
- Created: 2026-06-09T05:31:02.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2026-06-27T05:13:33.000Z (9 days ago)
- Last Synced: 2026-06-27T06:14:52.689Z (9 days ago)
- Language: Swift
- Size: 2.66 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zirbe
An open-source email client for iPhone and iPad that looks and feels like a
texting app, while keeping real email underneath. Standards-only, no backend,
free.
## The name
*Zirbe* is German for the Swiss stone pine, the pine of the Alps. The name
continues a lineage of text-mode mail clients that runs **Elm → Pine → Alpine**,
and lands on another pine. The hidden meaning is the point: it reads like a
coined word and rewards anyone who looks it up.
## What it is
A conversation in Zirbe is an email **thread**, not a person. A thread is
identified by the RFC 5322 `Message-ID`, `In-Reply-To`, and `References`
headers and shown like a named group chat: the **subject is the title**, the
people on `From`/`To`/`Cc` are the members, and each message is one bubble in
time order. The same person writing five different-subject threads produces
five conversations, which is correct email behavior. Starting a new
conversation requires naming it, and that name is the subject.
## Principles
Apple Messages is the aesthetic muse, never a clone. We implement only what the
email RFCs define (5321 SMTP, 5322 message format, 2045/2046/2047 MIME) and
nothing that isn't email: no video or voice calls, no shared notes, tasks, or
team workspaces. The CheckIn privacy posture carries over wholesale: no
backend, no third-party SDKs, no telemetry. Credentials and tokens live in the
Keychain, device-bound, never synced off the device that obtained them. The
only network destinations are the user's own mail servers and identity
providers.
## Status
Early. The mail engine is [Cocoanetics/SwiftMail](https://github.com/Cocoanetics/SwiftMail),
a mature actor-based async IMAP and SMTP client, consumed through a thin
adapter in `Packages/ZirbeMail` (a `MailEngine` actor returning Zirbe-owned
value types, so the engine stays swappable). It compiles and links for iOS
(device and simulator) and is proven end to end: connecting, authenticating,
selecting a mailbox, and fetching message envelopes with their threading
headers against a live account. Next up is `ZirbeCore` (domain models, JWZ
threading, the GRDB store) and the read-only conversation UI.
## License
MIT. See [LICENSE](LICENSE).