Lime Sync
PreviewLime Sync is a server for Zero. It speaks the Zero protocol to the real
@rocicorp/zero client and replaces Zero’s server-side sync machinery.
The current preview package provides the small orez-lite/client transport plugin needed to connect the
stock client. There is no client fork, query model, or mutator model to adopt.
Your schema, named queries, custom mutators, optimistic updates, authentication,
and application query and mutate endpoints remain ordinary Zero. Install and
use the client exactly as the Zero documentation
describes, install the orez-lite/client transport, then point it at
the Lime Sync server instead of zero-cache.
What Lime Sync replaces
Lime Sync replaces zero-cache and the server infrastructure behind it with a
Rust sync engine backed by SQLite. The current public host runs as a Cloudflare
Worker and SQLite Durable Object.
real @rocicorp/zero client
│ Zero protocol
▼
Lime Sync server
├── application query and mutate endpoints
└── authoritative database change feed
The server owns cookies, mutation acknowledgements, replication cursors, query membership, row patches, retention, and wake notifications. Your application continues to own its data model, authentication, permissions, business logic, and authoritative database.
What changes in an application
Only the server deployment and address change. Client components continue to use the same Zero queries, mutators, hooks, and local cache. Lime Sync-specific code belongs at the server hosting boundary.
For client APIs and application endpoint implementation, use Zero’s own docs:
Start here
- Read Cloudflare setup for the Lime Sync-specific server boundary.
- Read Architecture for replication and recovery behavior.
- Review Testing and Limitations before deployment.