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
downloadUrlordownload_url - downloads
rqio.exe - installs it into
C:\rayquiro\bin - adds
C:\rayquiro\binto the userPATH
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
.rqbworkflows
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
.exelauncher - an
.rqbbytecode 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.jsonmain.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:
nameversionentrybuild_dircache_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:
- a system compiler such as MinGW
g++ - 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.