Skip to main content
Version: 0.1.1

Installation and CLI

This page explains how to install RayQuiro 0.1.0, how modules are installed, and what the full rqio command set looks like.


🚀 Install RayQuiro

Windows (PowerShell)

Run this one-liner in a PowerShell terminal:

irm rq.raytolfas.cc | iex

Linux / macOS (Bash)

Run this command in your terminal:

curl -s rq.raytolfas.cc/linux | bash

The installer does the following automatically:

  1. Downloads the latest update.json to resolve the download URL.
  2. Downloads the latest rqio binary (or rqio.exe for Windows).
  3. Installs it into the system binaries directory (C:\Program Files\RayQuiro on Windows or /usr/local/bin on Linux).
  4. Adds the installation directory to the system PATH env variable.

After installation, verify it works:

rqio version

Build From Source

Clone the RayQuiro repository and build the binary:

Windows (PowerShell)

git clone https://github.com/Raytolfas/RayQuiro.git
cd RayQuiro
./build.ps1

Requirements: MSYS2 (for GCC/G++), PowerShell 5+

Linux / macOS (Bash)

git clone https://github.com/Raytolfas/RayQuiro.git
cd RayQuiro
mkdir build && cd build
cmake .. -DRAYQUIRO_ENABLE_ENGINE=OFF
make -j$(nproc)
sudo cp rqio /usr/local/bin/

Requirements: GCC/G++ (C++17), CMake, libpq-dev (for SQL db module support)


⚙️ CLI Command Reference

Running Scripts

CommandDescription
rqio file.rqRun a .rq source file directly
rqio run file.rqExplicit run form (same as above)
rqio run --vm file.rqExecute through the RayQuiro VM path
rqio bundle.rqbExecute a pre-compiled .rqb bytecode bundle

Building and Packaging

CommandDescription
rqio build file.rqCompile to a native Windows .exe
rqio build file.rq -o out.exeCompile to a custom output path
rqio pack file.rqCreate a .rqb bytecode package
rqio pack file.rq -o out.rqbCustom output path for bytecode
rqio bundle file.rqCreate a distributable bundle directory
rqio bundle file.rq -o dirCustom output directory
rqio build-vm file.rq -o dirVM-focused bundle alias

Project Management

CommandDescription
rqio init <folder>Initialize a new RayQuiro project
rqio fmt <file.rq>Format a RayQuiro source file in place
rqio versionPrint the current rqio version
rqio helpShow all available commands

Module Management

CommandDescription
rqio install <name>Install a source framework or native module globally
rqio install <name> --localInstall locally into the current project
rqio install rayquiro.webInstall the rayquiro.web native module
rqio install rayquiro.uiInstall the rayquiro.ui native module
rqio install rayquiro.appInstall the rayquiro.app native module
rqio install rayquiro.engineInstall the rayquiro.engine native module

Framework Management

CommandDescription
rqio framework install Owner/RepoInstall from GitHub
rqio framework install Owner/Repo@branchInstall a specific branch
rqio framework install Owner/Repo --localInstall locally

Updates

CommandDescription
rqio self-updateCheck for updates and interactively install
rqio self-update checkJust check for updates without installing

💡 Auto-Update: In 0.1.0, rqio automatically checks for updates once every 24 hours on startup and prompts the user with an update dialog.


📦 Installing Official Modules

Native Modules (.dll / .so)

Install globally (available to all projects on your machine):

rqio install rayquiro.web

(Note: Windows-specific UI modules like rayquiro.ui and rayquiro.app are only available on Windows).

Install locally (only available in the current project):

rqio install rayquiro.web --local

Local installs appear in .rq_modules/native/:

.rq_modules/
native/
web.dll # Windows
web.so # Linux

Source Frameworks

Install directly from GitHub:

rqio framework install RayQuiro/Telebot
rqio framework install RayQuiro/Telebot@main
rqio framework install RayQuiro/Telebot --local

Install from the approved registry by name:

rqio install telebot
rqio install telebot --local

The registry file is located at:

https://raw.githubusercontent.com/Raytolfas/RayQuiroAssets/main/frameworks.json

📁 Project Layout

rqio init my-app creates this starter structure:

my-app/
main.rq
rqproject.json
.rq_modules/
build/
.gitignore

rqproject.json Fields

KeyDescription
nameProject name
versionProject version string
entryMain script entry point
build_dirOutput directory for builds

Example:

{
"name": "my-app",
"version": "1.0.0",
"entry": "main.rq",
"build_dir": "build"
}

🗂️ Module Resolution Directories

When a non-built-in import is encountered, rqio searches for it in this order:

  1. Direct local relative paths (e.g. ./lib/math.rq)
  2. Project-local source modules in ./.rq_modules/
  3. Project-local native modules in ./.rq_modules/native/
  4. User-level source frameworks: %USERPROFILE%/.rqio/frameworks (or ~/.rqio/frameworks on Linux)
  5. User-level native modules: %USERPROFILE%/.rqio/modules (or ~/.rqio/modules on Linux)
  6. Machine-level native modules: C:\Program Files\RayQuiro\modules (or /usr/local/lib/rayquiro/modules on Linux)