Getting Started mit VelinScript

Willkommen bei VelinScript! Diese Anleitung führt dich durch die ersten Schritte von der Installation bis zu deinem ersten Programm.

Installation

Voraussetzungen

  • Rust 1.70+ (für Compiler-Entwicklung)
  • Git

Option 1: Aus Source bauen

# Repository klonen
git clone https://github.com/SkyliteDesign/velinscript.git
cd velinscript

# Compiler bauen
cd compiler
cargo build --release

# Binary ist in: compiler/target/release/velin-compiler
# Optional: In PATH einbinden
export PATH=$PATH:$(pwd)/target/release

Option 2: Installation Script

# Auf Linux/macOS:
curl -sSL https://velisch.dev/install | sh

# Auf Windows (PowerShell):
curl -sSL https://velisch.dev/install | bash

Dein erstes Programm

1. Projekt initialisieren

# Beide Befehle funktionieren:
velin init my-first-api
# oder
velin new my-first-api

cd my-first-api

Dies erstellt `main.velin` (Hauptdatei) und `README.md` (Projekt-Dokumentation).

2. Erste Funktion schreiben

Öffne main.velin und schreibe:

@GET("/api/hello")
fn hello(): string {
    return "Hello, VelinScript! 🚀";
}

3. Kompilieren

velin compile -i main.velin -o main.rs

Dies erstellt `main.rs` mit dem kompilierten Rust-Code.

Optional: Andere Ziel-Sprachen

# Für PHP
velin compile -i main.velin -o main.php --target php

# Für Python
velin compile -i main.velin -o main.py --target python

4. Type Checking

velin check -i main.velin

Prüft den Code auf Type-Fehler.

Grundlagen

Variablen

let name = "John";        // Type Inference: string
let age = 30;             // Type Inference: number
let active: boolean = true; // Expliziter Typ
let mut counter = 0;      // Mutable Variable

Funktionen

fn greet(name: string): string {
    return "Hello, " + name;
}

// Ohne Parameter
fn getVersion(): string {
    return "0.1.0";
}

Structs

struct User {
    id: string,
    name: string,
    email: string,
}

API Endpoints

@GET("/api/users/:id")
fn getUser(id: string): User {
    return db.find(User, id);
}

@POST("/api/users")
fn createUser(name: string, email: string): User {
    let user = User {
        id: generateId(),
        name: name,
        email: email,
    };
    return db.save(user);
}

Nächste Schritte

Entwickler-Tools

Beispiele

Siehe examples/ für vollständige Beispiel-Projekte.

Hilfe

Häufige Probleme

"Command not found: velin"

Stelle sicher, dass der Compiler gebaut wurde und im PATH ist:

cd compiler
cargo build --release
export PATH=$PATH:$(pwd)/target/release

Hinweis: Der Binary heißt `velin-compiler`, aber der Befehl ist `velin`. Nutze einen Alias oder stelle sicher, dass der Pfad korrekt ist.

Type Errors

Nutze velin check um Type-Fehler schnell zu finden:

velin check -i main.velin