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.
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.
vix- Variables & expressions
- JSON literals
- Math evaluation
- Runtime APIs (
Vix.cwd(),Vix.env(), etc.) - Script-like exploration
Explicit mode:
vix replvix new blogCreates:
- CMake-based project
- Modern C++20 structure
- Ready-to-run Vix app
vix build- Uses CMake presets automatically
- Parallel builds
- Colored logs & spinners
- Clean Ctrl+C handling
vix run- Auto-build if required
- Real-time logs
- Runtime log-level injection
Script mode:
vix run demo.cppCompile-only validation:
vix check
vix check demo.cppWith sanitizers:
vix check demo.cpp --san
vix check demo.cpp --asan
vix check demo.cpp --ubsan
vix check demo.cpp --tsanRun tests:
vix tests
vix tests --sanCreate a distribution artifact:
vix pack --name blog --version 1.0.0Verify artifacts:
vix verify dist/blog@1.0.0
vix verify dist/blog@1.0.0 --require-signature- Explains template & overload errors
- Detects missing includes
- Highlights the first real error
- Provides actionable hints
vix <command> [options]| Command | Description |
|---|---|
vix |
Start REPL (default) |
vix repl |
Start REPL explicitly |
vix new <name> |
Create a new project |
vix make |
Generate C++ scaffolding |
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 fmt |
Format source code |
vix clean |
Remove project cache |
vix reset |
Clean and reinstall project |
vix task |
Run reusable project tasks |
vix add <pkg>@<ver> |
Add dependency |
vix install |
Install project dependencies |
vix update |
Update dependencies |
vix outdated |
Check available dependency updates |
vix remove <pkg> |
Remove dependency |
vix list |
List dependencies |
vix up |
Alias for update |
vix i |
Alias for install |
vix deps |
Legacy alias for install |
vix pack [options] |
Create distribution artifact |
vix verify [options] |
Verify artifact |
vix cache |
Store package locally |
vix registry |
Sync/search packages |
vix store |
Manage local cache |
vix orm <subcommand> |
ORM tooling |
vix p2p |
Run P2P node |
vix info |
Show Vix paths and cache locations |
vix doctor |
Check environment |
vix upgrade |
Update Vix |
vix uninstall |
Remove Vix |
vix help [command] |
Show help |
vix completion |
Generate shell completion script |
vix version |
Show version |
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.0The CLI is built around a command dispatcher:
std::unordered_map<std::string, CommandHandler> commands;| 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 |
git clone https://github.com/vixcpp/vix.git
cd vix/modules/cli
cmake -B build -S .
cmake --build build -j$(nproc)Binary:
./build/vixcd vix
cmake -B build -S .
cmake --build build| 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 |
Vix.cpp
Fast. Simple. Built for real apps.
Version: v2.1.2-dirty
Start in seconds:
vix new api
cd api
vix install
vix dev
Core workflow:
add Add a dependency
install Install project dependencies
update Update dependencies
run Run your app
deploy Deploy your app (coming soon)
Commands:
Project:
Docs: https://vixcpp.com/docs/modules/cli/new
new <name> Create a new project
make Generate C++ scaffolding
dev Start dev server (hot reload)
run Build and run
build Build project
check Validate build or file
tests Run tests
fmt Format source code
clean Remove project cache
reset Clean and reinstall project
task Run reusable project tasks
repl Interactive REPL
Dependencies:
Docs: https://vixcpp.com/docs/modules/cli/search
add <pkg>@<ver> Add dependency
install Install dependencies
update Update dependencies
outdated Check available dependency updates
remove <pkg> Remove dependency
list List dependencies
Aliases:
up Alias for update
i Alias for install
deps Legacy alias for install
Build & share:
Docs: https://vixcpp.com/docs/modules/cli/pack
pack Build distributable package
verify Verify package integrity
cache Store package locally
Advanced:
registry Sync/search packages
store Manage local cache
orm Database migrations
p2p Run P2P node
System:
info Show Vix paths and cache locations
doctor Check environment
upgrade Update Vix
uninstall Remove Vix
Help:
help [command] Show command help
completion Generate shell completion script
version Show version
Global options:
--verbose Debug logs
-q, --quiet Only warnings/errors
--log-level trace|debug|info|warn|error|critical
-h, --help Show help
-v, --version Show version
Docs: https://vixcpp.com/docs
Registry: https://vixcpp.com/registry
GitHub: https://github.com/vixcpp/vix
~$
MIT License © Gaspard Kirira
See LICENSE for details.