Skip to content

TeXlyre/chelys

Repository files navigation

Chelys

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.

Latest release License: AGPL v3 Tauri TypeScript

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.

Features

Local Tooling

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.

Account Synchronization

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.

Secure Pairing

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.

Quick Start

Download the latest build for your platform from the Releases page:

  • macOS: .dmg (Apple Silicon and Intel)
  • Windows: .msi
  • Linux: .AppImage or .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.

Build from Source

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 development

License

Chelys is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the complete license text.

Funding

Chelys is funded by NLnet through the NGI0 Commons Fund, which is supported by the European Commission's Next Generation Internet programme.

About

A companion desktop app for TeXlyre

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors