Ecosystem & Tooling
Ecosystem & Tooling
Section titled “Ecosystem & Tooling”Note: This page describes the intended developer experience. The
crates/vox-clibinary implements a subset of commands today (build,check,test,run,bundle;fmt/installfail until wired;lsp). Authoritative current flags:ref-cli.md.
Vox ships with a complete development toolchain: compiler, bundler, test runner, formatter, package manager, and language server — converging on the vox CLI as the primary entry point.
CLI Commands
Section titled “CLI Commands”vox build
Section titled “vox build”Compile a .vox file to Rust and TypeScript:
# Basic buildvox build app.vox -o distWatch mode and other flags may land later; use vox build --help and ref-cli.md for what the binary exposes now.
Typical output layout (minimal CLI) — filenames vary by program; Rust lands under target/generated/:
dist/├── backend/ # Generated Rust (Axum server)│ ├── src/│ │ └── main.rs│ └── Cargo.toml└── frontend/ # Generated TypeScript (React) ├── src/ │ └── App.tsx └── package.jsonvox bundle
Section titled “vox bundle”Ship a single statically-linked binary containing frontend + backend + SQLite:
# Release build targeting Linuxvox bundle app.vox --release --target x86_64-unknown-linux-musl
# Debug build (default)vox bundle app.voxvox test
Section titled “vox test”Run @test decorated functions:
vox test tests.voxThis compiles the test functions to Rust #[test] blocks and runs them with cargo test.
vox fmt
Section titled “vox fmt”Minimal binary today: vox fmt exits with an error until vox-fmt matches the current AST. Formatting work lives in the vox-fmt crate.
vox fmt app.voxSee ref-cli.md.
vox lsp
Section titled “vox lsp”Launch the Language Server Protocol server:
vox lspSee Language Server below for details.
Package management (vox add / vox sync / vox pm)
Section titled “Package management (vox add / vox sync / vox pm)”vox install is removed (no CLI subcommand). Use vox add, vox lock, vox sync, and vox pm per reference/cli.md; see the full mapping in pm-migration-2026.md.
vox vendor
Section titled “vox vendor”Offline trees: use vox pm vendor. Populate .vox_modules/dl/ with vox sync first.
Language Server (LSP)
Section titled “Language Server (LSP)”The vox-lsp crate provides IDE support via the Language Server Protocol.
Current Features
Section titled “Current Features”| Feature | Status |
|---|---|
| Syntax error diagnostics | ✅ Implemented |
| Type error diagnostics | ✅ Implemented |
| Go to Definition | 🔜 Planned |
| Completion | 🔜 Planned |
| Hover info | 🔜 Planned |
-
Build the LSP server:
Terminal window cargo build --release -p vox-lsp -
Configure your editor:
VS Code (with the
vox-vscodeextension or manual configuration):"vox.lsp.serverPath": "/path/to/target/release/vox-lsp"
The LSP server integrates the full compiler pipeline — when you save a file, it re-runs the lexer, parser, and type checker to provide real-time diagnostics.
Package Manager (vox-package)
Section titled “Package Manager (vox-package)”The Vox package manager uses a Content-Addressable Store (CAS) backed by libSQL/Turso.
How It Works
Section titled “How It Works”store(data) → SHA3-256 hashget(hash) → dataAll artifacts are stored by their content hash:
- Deterministic — same content always produces the same hash
- Deduplication — identical artifacts share a single stored copy
- Integrity — content can be verified against its hash at any time
Database Backends
Section titled “Database Backends”| Mode | Use Case |
|---|---|
| Remote (Turso) | Production — cloud-hosted database |
| Local SQLite | Development — local file storage |
| In-Memory | Testing — ephemeral database |
| Embedded Replica | Hybrid — local cache with cloud sync |
Semantic Code Search
Section titled “Semantic Code Search”The package manager includes a de Bruijn indexing normalizer that strips identifier names from AST nodes and replaces bound variables with positional indices. This enables detection of semantically identical code regardless of naming differences.
bind_name(namespace, name, hash) # Map a name to contentlookup_name(namespace, name) → hash # Resolve a name to contentsearch_code_snippets(query, limit) # Vector-similarity searchAgent Memory
Section titled “Agent Memory”The store also manages agent memory for AI-powered features:
recall_async(agent, type, limit, min_importance) # Query with relevance filteringInstallation
Section titled “Installation”Automated (recommended)
Section titled “Automated (recommended)”# Linux / macOS./scripts/install.sh # End-user install./scripts/install.sh --dev # Full contributor setup./scripts/install.sh plan # JSON install plan (CI/tooling)
# Windows (PowerShell).\scripts\install.ps1 # End-user install.\scripts\install.ps1 -Dev # Full contributor setup.\scripts\install.ps1 plan # JSON install plan (CI/tooling)Manual
Section titled “Manual”Prerequisites: Rust >= 1.75, Node.js >= 18, C compiler (gcc/clang/MSVC). Full workspace + Turso crates: clang on Linux/macOS; clang-cl (LLVM) on Windows — see docs/src/how-to-setup.md.
cargo install --locked --path crates/vox-cliNote: Node.js and npm are required at runtime for
vox bundleandvox run(frontend scaffolding). Copy.env.exampleto.envto configure optional API keys.
Development
Section titled “Development”Building
Section titled “Building”cargo build --workspaceTesting
Section titled “Testing”cargo test --workspaceLinting
Section titled “Linting”cargo fmt --all -- --check # Format checkcargo clippy --workspace # Lint checkNext Steps
Section titled “Next Steps”- Language Guide — Full syntax and feature reference
- Compiler Architecture — Pipeline internals
- Actors & Workflows — Concurrency and durable execution
- Examples — Annotated example programs