A local-first desktop companion for TeXlyre. Chelys runs the local tooling that a browser cannot, such as language servers and typesetting engines, and keeps your TeXlyre account synchronized across your devices over peer-to-peer connections. Built with Tauri, React, TypeScript, and Yjs.
Status: This is the first phase (Task 2) of development, currently covering language server setup only. Local typesetting engines and distributed storage are planned, per the project scope.
Chelys installs and runs recipes, which are background tools such as language servers and typesetting engines. A recipe runs either as a native system process or inside a Docker container. Chelys manages its lifecycle and exposes it to TeXlyre over a local WebSocket endpoint.
Ready-made recipes are available at chelys-recipes. Chelys automates this setup, but it is optional. If you prefer, you can run a language server yourself and point TeXlyre at its WebSocket address directly, following Using an LSP with TeXlyre.
Your TeXlyre settings, properties, secrets, and records synchronize directly between your devices using Yjs CRDTs over WebRTC without a central server storing data. A presence indicator shows which of your devices are currently connected.
Chelys pairs with your existing TeXlyre identity using your username, password, and a WebAuthn/PRF passkey to derive an encrypted account room. Credentials are stored in your operating system's native keychain.
Download the latest build for your platform from the Releases page:
- macOS:
.dmg(Apple Silicon and Intel) - Windows:
.msi - Linux:
.AppImageor.deb
Open Chelys and sign in with your TeXlyre account.
Some recipes require additional tools to be installed on your system:
- Docker recipes require Docker.
- System recipes may require Rust/Cargo if they install Rust-based tools.
- On Windows, Cargo-based recipes may also require Microsoft C++ Build Tools.
For copy-paste setup commands, see INSTALL.md.
Requires Node.js LTS, the Rust toolchain, and Tauri's system prerequisites.
git clone --recursive https://github.com/TeXlyre/chelys.git
cd chelys
npm install
npm run tauri build # produce a release build
npm run tauri dev # run in developmentChelys is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the complete license text.
Chelys is funded by NLnet through the NGI0 Commons Fund, which is supported by the European Commission's Next Generation Internet programme.