Skip to content
Unverified: This page has not yet been anchored to automated code tests.

Build profiles

Vox supports named build profiles — distinct cargo build invocations targeting specific deployment contexts.

ProfileCargo invocationNotes
leancargo build -p vox-cli --no-default-features --features script-executionMinimal CLI: parsing, eval, LSP. No gamification, no GUI.
fullcargo build -p vox-cli --features extras-ludusFull language + orchestrator.
mobilePlanned — cargo build -p vox-cli --target aarch64-linux-androidNo ARM CI target yet.
raspberry-piPlanned — cargo build -p vox-cli --target aarch64-unknown-linux-gnuSee cross-platform audit.

The lean profile explicitly forbids the following crates, enforced by Rule 20 in vox-arch-check and by the vox ci profile-parity gate:

CrateReason
vox-gamifyGame mechanics (quests/battles/XP) — future: loads dynamically via vox-plugin-gamify
vox-guiTauri desktop frontend — separate process, not a CLI dep
  • Rule 20 (vox-arch-check): reads [profiles.lean] from docs/src/architecture/layers.toml, runs cargo tree -p vox-cli --no-default-features, and errors if any forbidden crate appears.
  • vox ci profile-parity: reads contracts/reports/lean-cli-profile.v1.json for the crate-count ceiling and forbidden list. Run as an advisory CI step (continue-on-error: true) until gamify/gui leave the lean graph.
WhatWhere
Forbidden-crate listsdocs/src/architecture/layers.toml [profiles.*]
Crate-count budgetcontracts/reports/lean-cli-profile.v1.json
arch-check enforcementcrates/vox-arch-check/src/main.rs Rule 20
CI gate.github/workflows/ci.yml Profile parity step