Skip to main content
Version: 0.0.1

Installation and CLI

This page explains how to install RayQuiro, how rqio resolves projects, and what every CLI command in 0.0.1 does.

Install RayQuiro

Option 1: install from a published release

If you already have the public installer script:

irm https://raw.githubusercontent.com/Raytolfas/RayQuiroAssets/main/install.ps1 | iex

The installer:

  • downloads update.json
  • reads downloadUrl or download_url
  • downloads rqio.exe
  • installs it into C:\rayquiro\bin
  • adds C:\rayquiro\bin to the user PATH

After installation, open a new terminal and run:

rqio version

Option 2: build from source

From the RayQuiro repository root:

./build.ps1

This produces rqio.exe in the repository root.

How rqio Resolves a Script

RayQuiro accepts several input forms.

Run a file directly

rqio hello.rq
rqio .\examples\main.rq

Run through a project

If the current directory contains rqproject.json, plain rqio uses the configured entry automatically:

rqio

Run a bundle payload

rqio app.rqb

CLI Reference

rqio <script.rq>

Runs a RayQuiro script. This is the default command.

rqio main.rq

rqio run <script.rq>

Explicit form of the same behavior.

rqio run main.rq

rqio run --vm <script.rq>

Runs the script through the RayQuiro VM when the script is supported by the VM compiler.

rqio run --vm hello.rq

Use this for:

  • VM testing
  • bytecode-compatible scripts
  • .rqb workflows

rqio build <script.rq> [-o out.exe]

Builds a Windows executable.

rqio build main.rq
rqio build main.rq -o build/my-app.exe

By default, the output goes to the project's build/ directory.

rqio emit <script.rq> [--emit-cpp out.cpp]

Generates the intermediate C++ file without building the final executable.

rqio emit main.rq
rqio emit main.rq --emit-cpp .rq_cache/main.generated.cpp

rqio fmt <script.rq>

Formats a RayQuiro file.

rqio fmt main.rq

rqio pack <script.rq> [-o out.rqb]

Compiles a supported script into a RayQuiro bytecode package.

rqio pack hello.rq
rqio pack hello.rq -o build/hello.rqb

rqio bundle <script.rq> [-o out-dir]

Creates a distributable VM bundle directory.

rqio bundle hello.rq
rqio bundle hello.rq -o build/hello-bundle

The bundle contains:

  • an .exe launcher
  • an .rqb bytecode payload
  • helper files

rqio build-vm <script.rq> [-o out-dir]

Alias of bundle.

rqio init [project-folder]

Creates a starter project.

rqio init
rqio init my-app

Generated files:

  • rqproject.json
  • main.rq
  • .rq_modules/
  • .rq_cache/
  • build/
  • .gitignore

rqio framework install <owner/repo[@branch]> [--local]

Installs a framework from GitHub.

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

Use --local to install into the current project's .rq_modules/.

rqio install <approved-name> [--local]

Installs a framework by its approved registry name.

rqio install telebot
rqio install telebot --local

Registry URL:

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

rqio self-update check

Checks whether a newer rqio.exe is available.

rqio self-update check

rqio self-update

Downloads and installs the new rqio.exe from the update manifest.

rqio self-update

Update manifest URL:

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

rqio version

Prints the current CLI version.

rqio version

rqio help

Prints the command list.

rqio help

Output Directories

RayQuiro uses three important folders.

build/

Final artifacts:

  • .exe
  • .html
  • .rqb
  • bundle folders

.rq_cache/

Temporary generation cache:

  • generated C++
  • intermediate output

.rq_modules/

Project-local frameworks installed with --local.

rqproject.json

The project config file supports these keys in 0.0.1:

  • name
  • version
  • entry
  • build_dir
  • cache_dir

Example:

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

Toolchain Notes

For rqio build, RayQuiro still needs a C++ toolchain.

Two valid setups:

  1. a system compiler such as MinGW g++
  2. a bundled toolchain inside toolchain/

Expected bundled layout:

toolchain/
mingw64/
bin/
g++.exe
gcc.exe
ar.exe

This requirement affects native build. It does not change the normal rqio file.rq interpreter path.