dependabot[bot] 157c7c27b0 deps(cargo): bump rustls from 0.23.42 to 0.23.43 (#241)
Bumps [rustls](https://github.com/rustls/rustls) from 0.23.42 to 0.23.43.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.42...v/0.23.43)

---
updated-dependencies:
- dependency-name: rustls
  dependency-version: 0.23.43
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-31 10:53:15 -05:00

Nuncio

A local-first mail, calendar, and contacts engine written in Rust.

Status: pre-alpha, under active reconstruction (2026-07-26). Nuncio began as an AI-generated proof of concept. A forensic assessment found that while several library-layer components are genuinely well-built, the end-to-end product did not work and much of the prior documentation was inaccurate. The project is being rebuilt engine-first. It is not usable yet, and published pre-1.0 releases are non-functional — do not install them. See the live roadmap (source: docs/ROADMAP.md) for the plan and docs/adr/0001-engine-first-grpc-architecture.md for the architecture decision.

What Nuncio is

A background daemon (nunciod) owns all state, credentials, and protocol logic (IMAP/SMTP, then JMAP, CalDAV, CardDAV), and publishes a versioned gRPC API over loopback. User interfaces are separate native client projects that consume that API — they hold no business logic and no data of their own. This makes feature parity across clients a property of the published contract rather than a matter of discipline.

The only client in this repository is nuncio-cli, which serves as the reference API consumer and the driver for end-to-end tests. Native GUIs (macOS/Windows), a TUI, and an MCP bridge will live in separate repositories once the engine and its API are solid.

Workspace layout

Engine libraries composed by the daemon:

Crate Role
crates/nuncio-core Domain models, event bus, IPC/API layer, cross-cutting services
crates/nuncio-store SQLite (WAL) persistence, FTS search, ciphers, corruption recovery, keyring vault
crates/nuncio-mail IMAP, JMAP, SMTP protocol engines and MIME handling
crates/nuncio-cal iCalendar, CalDAV, CardDAV, recurrence, scheduling
crates/nuncio-contacts Contacts store, CardDAV sync, vCard
crates/nuncio-filter NSQL declarative filter language (parser, validator, engine)
crates/nunciod The daemon binary — owns state and serves the API
crates/nuncio-cli Reference API client + E2E driver

The former nuncio-tui, nuncio-gui, and nuncio-mcp shells have been moved to _reference/ (out of the workspace) and will be rebuilt as separate client repositories (roadmap Phase 5).

Build & test

cargo build --workspace          # build everything
cargo check-all                  # clippy, all targets, warnings-as-errors (the gate)
cargo test-all                   # run the whole test suite
cargo test -p nuncio-store       # test a single crate

There is no cargo verify alias (Cargo aliases can't chain subcommands). Run the full local gate as three separate commands — cargo fmt --all -- --check, cargo check-all, cargo test-all — which is exactly what the pre-commit hook runs.

Cargo aliases are defined in .cargo/config.toml.

Documentation

License

MIT OR Apache-2.0.

S
Description
Local-first, engine-first mail, calendar & contacts engine in Rust: a daemon (nunciod) that owns all state and publishes a versioned gRPC API. Pre-alpha, under active reconstruction.
https://nuncio.mx Readme
8.1 MiB
0 Stars 2 Watchers 0 Forks
Languages
Rust 95.5%
TypeScript 3.8%
CSS 0.6%