Skip to content
TeXlyrePublic

About

A companion desktop app for TeXlyre

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Chelys

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.

Latest release Recipe registry License: AGPL v3 Tauri Rust 1.88+ TypeScript

TeXlyre and Chelys WebRTC architecture

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.

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 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.

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 in Chelys.

Secure Pairing

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.

Quick Start

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

  • macOS: .dmg (Apple Silicon and Intel). Note that several typesetter recipes do not support arm64 architectures.
  • Windows: .msi or .exe (release workflow creates msixbundle as an artifact)
  • 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 durther setup commands, see INSTALL.md.

Build from Source

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 development

The output executable is found in ./src-tauri/target/release/Chelys*

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

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages