Cli
vixcpp/cli – Command Line Interface for vix.cpp. Scaffold new projects, run the server with hot reload, and generate models or resources.
Install / Use
/learn @vixcpp/CliREADME
🧩 Vix.cpp — CLI Module
Modern C++ Runtime Tooling • Zero-Friction Development • Fast Web Apps
Vix CLI is the official command-line interface for
Vix.cpp — the modern C++ backend runtime.It provides a professional, modern, runtime-like developer experience for C++, comparable to Python, Node.js, Deno, or Bun.
🚀 Overview
The Vix CLI (vix) brings modern runtime ergonomics to C++:
- Instant project creation
- Smart CMake-based builds
- Friendly compiler diagnostics
- Sanitizer-first validation
- Script-like execution of
.cppfiles - Packaging & artifact verification
- Built-in interactive REPL (default)
Running vix with no arguments launches the interactive REPL.
⚙️ Features
🧠 Built-in REPL (default)
vix
- Variables & expressions
- JSON literals
- Math evaluation
- Runtime APIs (
Vix.cwd(),Vix.env(), etc.) - Script-like exploration
Explicit mode:
vix repl
🏗️ Project scaffolding
vix new blog
Creates:
- CMake-based project
- Modern C++20 structure
- Ready-to-run Vix app
⚡ Smart build system
vix build
- Uses CMake presets automatically
- Parallel builds
- Colored logs & spinners
- Clean Ctrl+C handling
🚀 Run applications
vix run
- Auto-build if required
- Real-time logs
- Runtime log-level injection
Script mode:
vix run demo.cpp
🧪 Check & Tests (Sanitizers ready)
Compile-only validation:
vix check
vix check demo.cpp
With sanitizers:
vix check demo.cpp --san
vix check demo.cpp --asan
vix check demo.cpp --ubsan
vix check demo.cpp --tsan
Run tests:
vix tests
vix tests --san
📦 Packaging & Verification
Create a distribution artifact:
vix pack --name blog --version 1.0.0
Verify artifacts:
vix verify dist/blog@1.0.0
vix verify dist/blog@1.0.0 --require-signature
🧠 ErrorHandler — your C++ teacher
- Explains template & overload errors
- Detects missing includes
- Highlights the first real error
- Provides actionable hints
🧰 Commands
vix <command> [options]
| Command | Description |
| ------------------------- | ---------------------------- |
| vix | Start REPL (default) |
| vix repl | Start REPL explicitly |
| vix new <name> | Create a new project |
| vix build [name] | Configure + build |
| vix run [name] [--args] | Build and run |
| vix dev [name] | Dev mode (watch & reload) |
| vix check [path] | Compile-only validation |
| vix tests [path] | Run tests |
| vix pack [options] | Create distribution artifact |
| vix verify [options] | Verify artifact |
| vix orm <subcommand> | ORM tooling |
| vix help [command] | Show help |
| vix version | Show version |
🧪 Usage Examples
vix
vix new api
cd api
vix dev
vix check --san
vix tests
vix pack --name api --version 1.0.0
vix verify dist/api@1.0.0
🧩 Architecture
The CLI is built around a command dispatcher:
std::unordered_map<std::string, CommandHandler> commands;
Main components
| Path | Responsibility |
| -------------------------------- | -------------------- |
| include/vix/cli/CLI.hpp | CLI entry & parsing |
| src/CLI.cpp | Command routing |
| src/ErrorHandler.cpp | Compiler diagnostics |
| src/commands/ReplCommand.cpp | Interactive REPL |
| src/commands/CheckCommand.cpp | Validation |
| src/commands/PackCommand.cpp | Packaging |
| src/commands/VerifyCommand.cpp | Verification |
🔧 Build & Installation
Standalone CLI build
git clone https://github.com/vixcpp/vix.git
cd vix/modules/cli
cmake -B build -S .
cmake --build build -j$(nproc)
Binary:
./build/vix
Full Vix build
cd vix
cmake -B build -S .
cmake --build build
⚙️ Configuration
Environment variables
| Variable | Description |
| --------------------- | ------------------------- |
| VIX_LOG_LEVEL | Runtime log level |
| VIX_STDOUT_MODE | line for real-time logs |
| VIX_MINISIGN_SECKEY | Secret key for pack |
| VIX_MINISIGN_PUBKEY | Public key for verify |
📦 CLI Help Output
Vix.cpp — Modern C++ backend runtime
Version: v1.x.x
Usage:
vix [GLOBAL OPTIONS] <COMMAND> [ARGS...]
vix help <command>
Quick start:
vix new api
cd api && vix dev
vix pack --name api --version 1.0.0 && vix verify
Commands:
Project:
new <name> Create a new Vix project
build [name] Configure + build
run [name] Build and run
dev [name] Dev mode
check [path] Compile-only validation
tests [path] Run tests
Packaging & security:
pack Create distribution artifact
verify Verify artifact or package
REPL:
repl Start interactive REPL
(default) Run `vix` to start the REPL
Global options:
--verbose
-q, --quiet
--log-level <level>
-h, --help
-v, --version
🧾 License
MIT License © Gaspard Kirira
See LICENSE for details.
