A local desktop companion app 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, Rust, React, TypeScript, and Yjs.
Status: This is the third phase (Tasks 2,3 & 5) of development, currently covering language server and typesetting engine setup, with a WebRTC bridge for local tool sharing. Distributed storage are planned as 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 or WebRTC 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 in Chelys.
Chelys pairs with your existing TeXlyre identity using your username, password, and a WebAuthn/PRF passkey or a generated temporary pseudo-PRF key 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). Note that several typesetter recipes do not supportarm64architectures. - Windows:
.msior.exe(release workflow createsmsixbundleas an artifact) - 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 durther setup commands, see INSTALL.md.
Requires Node.js LTS, the Rust toolchain, and Tauri's system prerequisites. All typesetter recipes require Docker.
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 developmentThe output executable is found in ./src-tauri/target/release/Chelys*
Chelys 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.