Apple-native, cross-platform
EventKit and Apple platforms come first; the same kit runs on Linux over local SQLite. One codebase, every device.
Agent-first sync infrastructure for everything. Bring your own Codable types — the kit encrypts, syncs, and deploys. Any entity, any platform, your backend.
Fetch the full agent guide — architecture, invariants, copy-adaptable code, and deploy steps — in one request.
https://applesynckit.frad.me/llms.txtOr point your agent at the page — it embeds <link rel="llms-txt"> for auto-discovery.
Drop one line into your Package.swift, deploy the bundled Worker, and ship a self-hosted sync backend.
.package(url: "https://github.com/FradSer/apple-sync-kit.git", from: "0.4.1")Then add .product(name: "AppleSyncKit", package: "apple-sync-kit") to your target.
$ async status
Connecting to worker.mysync.workers.dev...
✓ Authenticated via Cloudflare D1
[Notes] Fetching latest changes...
$ async push --all
Encrypting 12 entities (AES-GCM-256)...
✓ Successfully pushed: 8 Notes, 4 Reminders
$
Conform your Codable types to the kit. EventKit on Apple, local SQLite elsewhere — the read layer is yours, the sync engine is shared.
Every record is sealed with AES-GCM-256 on device, then reconciled last-write-wins over a cursor. You write zero sync code.
Ship the bundled Cloudflare Worker with a single command. You own the D1 database and the keys — no servers, no lock-in.
EventKit and Apple platforms come first; the same kit runs on Linux over local SQLite. One codebase, every device.
The engine is generic over any Codable record. Sync notes, reminders, or your own domain models without forking the core.
AES-GCM-256 with record-bound AAD, sealed on device. Your Worker only ever stores ciphertext — keys never leave the client.
Ship the bundled Cloudflare D1 Worker with wrangler deploy. A self-hosted sync backend in minutes, not weeks.
Composable Swift APIs and scriptable CLIs that LLM agents and automations drive cleanly — structured I/O, no hidden state.
A small library with no composition root and last-write-wins conflict handling. Read every line that touches your data.
A CLI that syncs Apple Notes across machines — bodies encrypted, folders mirrored. Built on the kit's snapshot push strategy.
Reminders and calendar events synced end-to-end encrypted over the same shared Worker, with macOS EventKit and a Linux SQLite mirror.
Add AppleSyncKit to your Package.swift, deploy the bundled D1 Worker, and point your Swift app at a backend that answers only to you.
.package(url: "https://github.com/FradSer/apple-sync-kit.git", from: "0.4.1")Then add .product(name: "AppleSyncKit", package: "apple-sync-kit") to your target.