ZELYRA
Zelyra 0.3.0 · in active development

From idea
to your own application.

With Zelyra you define data models, business rules and web pages in a clear, statically typed language. Built in Rust.

Source v0.3.0 GitHub ★ Star
🦀 Rust 2024
🐬 MariaDB Native
⚖️ Apache-2.0 / MIT
customer.zyl ✓ checked in 4ms
01table customers {
02id: Id primary auto
03name: String(100) required
04email: Email?
05}
schema → types → forms → API
◇
A shared model Goal: connect schema, types, validation & SQL
✓
Checks during development Detected issues in supported code, before deployment
01 / the idea

Describe once.
Reuse everywhere.

Zelyra connects data models, types, validation, SQL and interfaces. From a clear description, proven building blocks for your application emerge step by step.

Understand the principle →
01 Foundation
Data Model

The central schema defining tables, constraints and types.

table customers { ... }
02 Logic
Types & Rules

Nominal types and contracts help describe and check valid states in supported cases.

type UserId = Id
03 Web
Web & Forms

The experimental runtime can generate routes and forms with schema-aware validation for supported declarations.

page "/customers" { ... }
04 SQL
Checked SQL

Explore the database tooling available in the current experimental release.

query { select id, name }
02 / why zelyra
01
⌘

Clearly typed.
Checked early.

Explicit types, immutable values and visible optional data help catch mistakes during checks.

name: String?
match name {
02
◇

The model takes
center stage.

One schema can become the foundation for domain types, SQL, forms, APIs and CRUD.

table→form→API
03
↗

Start small.
Grow safely.

Begin with a small program and expand it step by step into a full web application.

Open learning path →
03 / THE MANIFESTO & MEANING · DIGITAL SOVEREIGNTY

What Zelyra means:
A dedication to digital sovereignty & architectural craftsmanship.

Zelyra is an experimental language project for database-backed web applications. Its direction is to make data models, database work, and web features easier to describe and inspect. The current 0.3.0 release is an early prototype: its checks cover only implemented cases and do not prove an application correct or production-ready.

Z
Zero-Tolerance for Flaws

The compiler checks supported language constructs and reports detected issues. These checks are limited in scope and are not a formal proof that a program is correct.

E
Excellence & Sovereignty

The compiler is open source and projects can be developed locally. The current runtime and database support are still evolving; review the release notes for the exact scope.

L
Logical Transparency

Code that explicitly states what it expects and delivers. Explicit types, readable schemas, and verifiable contracts instead of hidden magic.

Y
Yield & Productivity

The project explores a more connected workflow for data models and web applications. Which parts are available depends on the feature and template used.

R
Resilience (Forged in Rust)

The compiler is written in Rust. That implementation choice is not a benchmark, a production-readiness certification, or a guarantee about application behavior.

A
Autonomy (Data Sovereignty)

Local development is possible, and MariaDB is the primary database target in the current project. Check the documentation for supported workflows and their limitations.

The Zelyra Principle: Software craftsmanship over black-box dependency. Built for developers creating lasting value.
🛡️ Digital Craftsmanship & Sovereignty
⚡ Vision & Roadmap

Development note: The principles and architecture outlined here describe the definitive goal and vision of Zelyra, not yet its full current completion. The language and ecosystem are actively being developed milestone by milestone towards this standard.

04 / getting started

The best way to learn
is by doing.

Four accessible steps guide you from your first program to a database-backed web application.

your first lesson

Say what you mean.

Zelyra code describes clearly what values a function expects and what result it delivers.

View example →
fibonacci.zyl
fn fibonacci(n: Int) -> Int {
    if n <= 1 {
        return n
    }

    return fibonacci(n - 1) +
           fibonacci(n - 2)
}
→ 55
05 / try it out

Read. Modify.
Understand.

Here is a small Zelyra page. Change the code in the editor or the parameter in the route bar and watch how it turns into a safe HTML response in real time.

Quick test:
✦
Good to know & interactive This browser demo illustrates selected examples; it is not the Zelyra compiler or a full application runtime.
hello_web.zyl ✏️ editable ▶ Open in Playground
GET http://localhost:3000/hello/
zelyra serve :3000
HTTP/1.1 200 OK ⚡ rendered in 0.8ms (auto-escaped)
06 / language comparison

Where Zelyra fits:
Safety without complexity.

Full side-by-side comparison →
vs. TypeScript Schemas and types in one language

Zelyra explores describing data structures and constraints in its own source files. The compiler currently checks only the constructs and cases implemented in this release.

vs. PHP & Python An experimental web-language workflow

The 0.3.0 prototype includes a compiler and project templates. It does not provide blanket guarantees against runtime errors, nor do we publish comparative performance benchmarks.

vs. Rust Tailored for Web & Database

Zelyra is implemented in Rust but is a separate, experimental language. Its type and runtime guarantees are not equivalent to Rust’s ownership and borrowing guarantees.

07 / installation & quickstart

Ready in minutes.
Run locally or with Docker.

The CLI can run as a standalone binary. Database-backed applications still need configured services such as MariaDB.

Option 01 · Standalone
Native CLI Installation

Clones the repository and builds the CLI from source. Build time and application performance depend on your system and workload.

$ git clone https://github.com/sf1976/zelyra.git
$ cd zelyra && ./install.sh
Next command: zelyra check fibonacci.zyl
Option 02 · Full Stack
Docker Compose & MariaDB

Builds and starts the generated web application and MariaDB services using the project’s Compose file.

$ zelyra new my-app --mariadb
$ cd my-app && docker compose --env-file .env -f docker-compose.mariadb.yml up -d --build
Then initialize the schema: docker compose --env-file .env -f docker-compose.mariadb.yml exec web zelyra db setup main.zyl
open source & community

Build your next project
with true independence.

Explore the handbook, inspect the open-source compiler on GitHub or start with our 5-minute interactive tutorial.

Z