Starte mit einem lauffähigen Programm
Der Code hat bereits eine klare Aufgabe: eine Person mit typisiertem String begrüßen.
ZELYRA
Teste Code im Browser und installiere anschließend eine veröffentlichte Version für Linux oder Windows x86_64. Unter macOS ist derzeit ein Quellcode-Build mit Rust und Cargo nötig; Docker steht für den Projekt-Stack bereit.
Du musst am Anfang nicht jedes Zeichen auswendig lernen. Erkenne zuerst die Form: Eine typisierte Funktion empfängt Parameter, berechnet ein Ergebnis und wird aus `main()` aufgerufen.
Der Code hat bereits eine klare Aufgabe: eine Person mit typisiertem String begrüßen.
Ersetze den Namen, ändere Werte oder wähle eines der fertigen Presets aus.
Führe den Code direkt mit dem echten Zelyra-Compiler im Browser aus.
Bearbeite den Zelyra-Code im Editor und klicke auf »Ausführen«. Dein Code wird in Echtzeit vom echten Zelyra-Compiler ausgeführt.
Suche im rechten Code-Editor nach `"Welt"` und ersetze es durch deinen eigenen Namen, z. B. `"Zelyra-Entwickler"`. Klicke danach auf »Ausführen«.
Tastatur-Tipp: Drücke Strg+Enter bzw. Cmd+Enter zum schnellen Ausführen.
Jede Zelyra-Datei basiert auf wenigen, verständlichen Bausteinen ohne versteckte Magie:
fn
Deklariert wiederverwendbare Logik mit typisierten Parametern und Rückgabetyp.
var = ... / mutable
Standardmäßig unveränderlich (`name = val`). Veränderbar nur mit `mutable`.
struct
Fasst zusammengehörige Felder mit festen Datentypen strukturiert zusammen.
Option / Result
Der Prototyp enthält Konstrukte für optionale Werte und Ergebnisse. Die Prüfungen decken nur unterstützte Fälle ab.
invariant
Der Compiler prüft unterstützte Konstrukte; das ist kein formaler Beweis für die Fehlerfreiheit einer Anwendung.
fn main()
Der zentrale Startpunkt jedes Zelyra-Programms beim Start über die CLI.
Wähle einen Installationsweg. Veröffentlichte Binärdateien gibt es derzeit für Linux x86_64 und Windows x86_64; macOS benötigt einen Build aus dem Quellcode.
Es gibt noch kein natives Release-Artefakt. Der Build erfolgt mit Rust und Cargo aus dem Quellcode.
Installiere zuerst Rust stable und Cargo, klone dann das Repository und starte den Installer:
git clone https://github.com/sf1976/zelyra.git
cd zelyra
./install.sh
In einem bereits geklonten Repository kannst du den Installer nach einem Quellcode-Update erneut ausführen:
cd zelyra
git pull --ff-only
./install.sh
Prüfe, ob Zelyra erfolgreich im PATH liegt:
zelyra --version
zelyra doctor
Veröffentlichtes Release-Artefakt: Linux x86_64 (GNU). Andere Umgebungen können den Quellcode bauen.
curl -fsSL https://raw.githubusercontent.com/sf1976/zelyra/main/install.sh | bash -s -- --release v0.3.0
git clone https://github.com/sf1976/zelyra.git
cd zelyra
./install.sh
Prüfe, ob `zelyra` in deinem PATH liegt, und starte die Systemdiagnose:
zelyra --version
zelyra doctor
Natives PowerShell-Skript oder über das Windows Subsystem for Linux (WSL2).
Öffne die PowerShell (keine Administrator-Rechte erforderlich) und führe aus:
irm https://raw.githubusercontent.com/sf1976/zelyra/main/install.ps1 | iex
Klone das Repository und starte install.ps1 direkt:
git clone https://github.com/sf1976/zelyra.git
cd zelyra
.\install.ps1
zelyra --version
zelyra doctor
Die MariaDB-Vorlage erzeugt MariaDB und einen Zelyra-Webdienst. Nginx wird dabei nicht hinzugefügt.
Startet den Zelyra-App-Container und MariaDB mit automatischer Portwahl:
git clone https://github.com/sf1976/zelyra.git
cd zelyra
docker compose -f docker-compose.mariadb.yml up -d --build
docker compose exec app zelyra --version
docker compose exec app zelyra run examples/fibonacci.zyl
Jedes mit `zelyra new` erstellte Projekt folgt einem klaren Standardaufbau. Quellcode, Datenbankmodelle, Lokalisierungskataloge, Umgebungskonfigurationen und Container-Dateien haben einen festen, sicheren Platz:
mein-projekt/
├── main.zyl # Zelyra-Quelldatei
├── zelyra.toml # Projektkonfiguration
├── .env # lokale Konfiguration
├── .env.example # Beispiel ohne Geheimnisse
├── .gitignore # Git-Ausschlüsse
├── Dockerfile
├── docker-compose.mariadb.yml
├── locales/
│ ├── de.json
│ └── en.json
└── machine-management-demo.sql
In der erzeugten MariaDB-Vorlage von 0.3.0 liegt der Anwendungscode zunächst in `main.zyl`. Weitere Quellmodule erzeugt diese Vorlage nicht.
Dauerhafte Konfiguration: Name, Version, Capabilities (`uses Database`), Feature-Schalter (`[features] web = true`) und Host-Allowlists zur Absicherung gegen DNS-Rebinding.
Die erzeugte MariaDB-Vorlage enthält JSON-Übersetzungsdateien für Deutsch und Englisch.
Die erzeugte Vorlage verwendet unter anderem `DATABASE_URL`, `MARIADB_PASSWORD` und `ZELYRA_DB_HOST_PORT`. Echte Zugangsdaten gehören nur in die lokale `.env`, niemals ins Repository. Die vollständige Liste steht in den erzeugten Dateien:
chmod 600 .env
stat -c '%a %n' .env
git check-ignore -v .env
Vorkonfigurierte MariaDB-Umgebung mit persistentem Speicher. Startet per 1-Befehl via `zelyra setup --all` ohne manuelle Datenbankinstallation.
Der Befehl `zelyra update` aktualisiert die installierte CLI. Deine erzeugte Anwendung liegt in einem separaten Projektverzeichnis. Sichere das Projekt und prüfe die Release-Hinweise, bevor du Compiler-Versionen wechselst.
Nutze den integrierten Befehl `zelyra update`, um auf neue Versionen zu prüfen und die CLI sofort zu aktualisieren:
# 1. Prüfen, ob eine neue Version verfügbar ist:
zelyra update --check
# 2. Automatisch auf die neueste Version aktualisieren:
zelyra update
# 3. Neue Version und Systemgesundheit verifizieren:
zelyra --version
zelyra doctor
Wenn du Zelyra über das geklonte Git-Repository nutzt, ziehe den aktuellen Stand und starte den Installer:
cd zelyra && git pull origin main && ./install.sh
Ja! Deine `.zyl`-Dateien, `zelyra.toml` und `.env` liegen in deinem Projektordner. `zelyra update` aktualisiert ausschließlich die Compiler-Binary.
Nach einem Update prüft `zelyra doctor` Quelldatei und Schema, ob Cargo und Docker Compose verfügbar sind, liest das Schema der konfigurierten Datenbank ohne Änderungen aus und testet, ob sich der gewählte lokale Webport binden lässt. Der Befehl diagnostiziert nicht den PATH-Eintrag von Zelyra und prüft weder den laufenden Docker-Daemon noch Socket- oder Dateirechte.
Das sind die am häufigsten genutzten Zelyra-Befehle für Entwicklung, Formatierung, Ausführung und Datenbank-Setup:
zelyra update
Aktualisiert die Zelyra-Toolchain automatisch auf die neueste Version (`--check` zur Prüfung).
zelyra run main.zyl
Kompiliert und startet ein Zelyra-Programm direkt.
zelyra check main.zyl
Schnelle Syntax- und Typprüfung ohne Programmausführung.
zelyra fmt main.zyl
Formatiert den Quellcode deterministisch und schützt SQL-/HTML-Blöcke.
zelyra new my-app --mariadb
Erstellt ein neues Projekt mit MariaDB- und Docker-Compose-Vorlage.
zelyra setup --all
Startet Datenbank-Services und wendet Schemas vollautomatisch an.
zelyra setup --web
Startet den browserbasierten Einrichtungs-Assistenten.
zelyra db plan
Zeigt geplante Datenbankschema-Änderungen als SQL-Vorschau.
zelyra doctor
Prüft Systemgesundheit, PATH-Variablen, Docker-Rechte und Ports.
Zelyra liefert offizielle Syntax-Pakete, TextMate-Grammatiken und Major Modes für 8+ Entwicklungsumgebungen. Jede Karte enthält direkte Installations- und Verwendungsanleitungen:
code --install-extension zelyra.vsix
Settings → TextMate Bundles → (+) Ordner wählen
~/.config/helix/languages.toml
(require 'zelyra-mode)
Sprachen → Eigene Sprache definieren → Import
Packages/User/zelyra.sublime-syntax
~/.config/nvim/syntax/zelyra.vim
include "~/.nano/zelyra.nanorc"
Lade zelyra.vsix oben herunter und installiere es in 2 Sekunden via Terminal oder über die VS Code Befehlspalette:
# VS Code CLI:
code --install-extension zelyra.vsix
# Cursor AI IDE:
cursor --install-extension zelyra.vsix
# Windsurf AI IDE:
windsurf --install-extension zelyra.vsix
Lädt alle Dateien direkt herunter und aktiviert die Zelyra-Syntax in Windsurf oder VS Code:
mkdir -p ~/.vscode/extensions/zelyra/syntaxes && \
curl -s https://demo.siedelmann.com/editors/package.json -o ~/.vscode/extensions/zelyra/package.json && \
curl -s https://demo.siedelmann.com/editors/language-configuration.json -o ~/.vscode/extensions/zelyra/language-configuration.json && \
curl -s https://demo.siedelmann.com/editors/zelyra.tmLanguage.json -o ~/.vscode/extensions/zelyra/syntaxes/zelyra.tmLanguage.json
Alle JetBrains-IDEs unterstützen TextMate-Bundles nativ ohne zusätzliche Plugins:
mkdir -p ~/.config/JetBrains/TextMate/zelyra/syntaxes && \
curl -s https://demo.siedelmann.com/editors/zelyra.tmLanguage.json -o ~/.config/JetBrains/TextMate/zelyra/syntaxes/zelyra.tmLanguage.json
Lade die Universal-Grammatik in das Zed-Grammatikverzeichnis:
mkdir -p ~/.config/zed/grammars && \
curl -s https://demo.siedelmann.com/editors/zelyra.tmLanguage.json -o ~/.config/zed/grammars/zelyra.tmLanguage.json
Helix ist ein moderner, extrem schneller Terminal-Editor in Rust. Füge diese Definition in deine `languages.toml` ein:
# Append to ~/.config/helix/languages.toml
mkdir -p ~/.config/helix
cat << 'EOF' >> ~/.config/helix/languages.toml
[[language]]
name = "zelyra"
scope = "source.zelyra"
injection-regex = "zelyra|zyl"
file-types = ["zyl", "zelyra"]
comment-token = "//"
block-comment-tokens = { start = "/*", end = "*/" }
indent = { tab-width = 4, unit = " " }
roots = ["zelyra.toml", ".git"]
[language.auto-pairs]
'(' = ')'
'{' = '}'
'[' = ']'
'"' = '"'
'`' = '`'
EOF
Lade `zelyra-mode.el` in deinen Emacs Load-Path (z.B. `~/.emacs.d/lisp/`) und binde es in deine `init.el` ein:
# 1. Download zelyra-mode.el
mkdir -p ~/.emacs.d/lisp
curl -s https://demo.siedelmann.com/editors/zelyra-mode.el -o ~/.emacs.d/lisp/zelyra-mode.el
# 2. Add to ~/.emacs.d/init.el:
(add-to-list 'load-path "~/.emacs.d/lisp/")
(require 'zelyra-mode)
Importiere die offizielle XML-Syntaxdefinition in Notepad++ in 3 schnellen Schritten:
zelyra-notepadplusplus.xml oben herunter.# Linux
mkdir -p ~/.config/sublime-text/Packages/User
curl -s https://demo.siedelmann.com/editors/zelyra.sublime-syntax -o ~/.config/sublime-text/Packages/User/zelyra.sublime-syntax
# macOS
mkdir -p ~/Library/Application\ Support/Sublime\ Text/Packages/User
curl -s https://demo.siedelmann.com/editors/zelyra.sublime-syntax -o ~/Library/Application\ Support/Sublime\ Text/Packages/User/zelyra.sublime-syntax
mkdir -p ~/.config/nvim/syntax ~/.config/nvim/ftdetect
curl -s https://demo.siedelmann.com/editors/zelyra.vim -o ~/.config/nvim/syntax/zelyra.vim
echo 'au BufRead,BufNewFile *.zyl setfiletype zelyra' > ~/.config/nvim/ftdetect/zelyra.vim
mkdir -p ~/.nano && \
curl -s https://demo.siedelmann.com/editors/zelyra.nanorc -o ~/.nano/zelyra.nanorc && \
grep -qxF 'include "~/.nano/zelyra.nanorc"' ~/.nanorc 2>/dev/null || echo 'include "~/.nano/zelyra.nanorc"' >> ~/.nanorc
Aktiviere sofortige Befehls- und Dateivervollständigung für die Zelyra CLI-Toolchain in deiner bevorzugten Shell:
curl -s https://demo.siedelmann.com/downloads/zelyra-completion.bash -o ~/.local/share/bash-completion/completions/zelyra
curl -s https://demo.siedelmann.com/downloads/zelyra-completion.zsh -o ~/.zsh/completion/_zelyra
curl -s https://demo.siedelmann.com/downloads/zelyra-completion.fish -o ~/.config/fish/completions/zelyra.fish
Continuous Integration kann ausgewählte Zelyra-Prüfungen bei Änderungen automatisch ausführen. Sie beweist nicht allgemein die Korrektheit eines Projekts. Dieser Abschnitt stellt einen einfachen Ablauf vor und zeigt, wie du ihn an dein Projekt anpasst.
Continuous Integration ist kein Werkzeug nur für Großkonzerne – es spart jedem Entwickler täglich Zeit, Nerven und peinliche Fehler:
Tippfehler oder fehlender Rückgabewert? CI fängt Fehler sofort in der Cloud ab, bevor Kunden oder Teamkollegen sie überhaupt zu Gesicht bekommen.
CI kann Compiler- und Formatprüfungen automatisiert ausführen. Welche Regeln geprüft werden, hängt von den verwendeten Befehlen und der aktuellen Implementierung ab.
Lokale Dateireste täuschen oft funktionierenden Code vor. CI testet immer in einer sauberen, neutralen Standard-Umgebung.
Code-Reviews werden zum Kinderspiel: GitHub signalisiert sofort mit einem grünen Haken, ob ein Pull Request alle Tests und Typen erfüllt.
Keine Diskussionen mehr über Einrückungen oder Klammern: `zelyra fmt` stellt sicher, dass jeder Commit sauber und einheitlich formatiert ist.
Tests und Invarianten-Prüfungen laufen lautlos im Hintergrund in der Cloud ab, während du bereits am nächsten Feature arbeitest.
Sobald du Code pushst oder einen Pull Request erstellst, durchläuft GitHub Actions vollautomatisch diese vier Prüfphasen:
Wird bei jedem `git push` auf `main` oder beim Erstellen/Aktualisieren eines Pull Requests ausgelöst.
Installiert das veröffentlichte Linux-Binary v0.3.0. Für diesen Workflow muss Zelyra nicht aus dem Quellcode gebaut werden.
Führt Formatter und Prüfer aus v0.3.0 einzeln für jede `.zyl`-Datei aus. Geprüft werden nur tatsächlich implementierte Sprachmerkmale.
Ergänze Tests deines Anwendungs-Stacks separat. Zelyra v0.3.0 hat keinen eingebauten Befehl `zelyra test`.
Die Einrichtung dauert weniger als 60 Sekunden. Folge einfach diesen drei Schritten in deinem lokalen Projektordner:
Erstelle den Ordner `.github/workflows/` und lege die Datei `zelyra-ci.yml` an (oder lade die Vorlage unten herunter).
.github/workflows/zelyra-ci.yml
Füge die Workflow-Datei zu Git hinzu und übertrage sie auf GitHub:
git push origin main
Öffne dein Repository auf GitHub und klicke auf »Actions«, um den Live-Build-Status in Echtzeit zu verfolgen.
.github/workflows/zelyra-ci.yml
# .github/workflows/zelyra-ci.yml
# Checks Zelyra source with the published v0.3.0 compiler.
name: Zelyra CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
check:
name: Check Zelyra v0.3.0 sources
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install published Zelyra v0.3.0
shell: bash
run: |
git clone --depth 1 --branch v0.3.0 https://github.com/sf1976/zelyra.git "$RUNNER_TEMP/zelyra-source"
"$RUNNER_TEMP/zelyra-source/install.sh" --release v0.3.0 --root "$RUNNER_TEMP/zelyra-install" --no-path
echo "$RUNNER_TEMP/zelyra-install/bin" >> "$GITHUB_PATH"
- name: Verify installed version
run: zelyra --version
- name: Format and check each Zelyra source file
shell: bash
run: |
mapfile -d '' zelyra_files < <(find . -type f -name '*.zyl' -not -path './.git/*' -print0)
if ((${#zelyra_files[@]} == 0)); then
echo "No .zyl source files found."
exit 1
fi
for file in "${zelyra_files[@]}"; do
zelyra fmt --check "$file"
zelyra check "$file"
done
# Zelyra v0.3.0 has no built-in test runner; add application-specific tests separately.
Dieser Workflow prüft Formatierung und unterstützte Syntax einzeln pro Datei. `zelyra check` beweist nicht die Fehlerfreiheit einer Anwendung; v0.3.0 enthält außerdem keinen Befehl `zelyra test`. Ergänze Laufzeit- und Integrationstests mit den Testwerkzeugen deiner Anwendung.
Mache die Qualität deines Projekts für alle sichtbar mit dem offiziellen GitHub Actions Status-Badge:
[](https://github.com/DEIN-BENUTZERNAME/DEIN-REPO/actions)
Sollte bei der Installation oder Ausführung etwas klemmen, findest du hier die bewährten Lösungen:
Das Verzeichnis ~/.local/bin ist noch nicht in deiner PATH-Umgebungsvariable eingetragen.
export PATH="$HOME/.local/bin:$PATH"
Dein Linux-Benutzer hat keine Rechte auf den Docker-Socket.
sudo usermod -aG docker $USER && newgrp docker
Ein lokaler Dienst belegt Port 3306. Ändere DB_PORT in deiner `.env` auf 3307.
DB_PORT=3307
Prüfe, ob Parameter typisiert sind und Rückgabetypen mit `-> Typ { ... }` deklariert wurden.
fn greet(name: String) -> String { ... }