Skip to content

Installation

  • Rust 1.70+ with cargo
  • Docker for the local stack
  • OpenSSL development libraries
  • Node.js 22.12+ for the docs/site workspace
Terminal window
git clone https://github.com/southwest-ai-labs/xavier.git
cd xavier
Terminal window
# Debug build
cargo build
# Main runtime binary
cargo build --bin xavier
Terminal window
cargo test --workspace --features ci-safe --exclude xavier-web
npm run build --workspace panel-ui
npm run build --workspace docs/site

Xavier now treats config/xavier.config.json as the canonical location for non-secret runtime settings. Secrets and credentials belong in .env.

Variable Default Description
XAVIER_TOKEN no safe default API authentication token
XAVIER_CONFIG_PATH config/xavier.config.json Optional override for the canonical runtime config file
provider API keys unset External API credentials

The current server still contains environment-based code paths internally, but the repository standard is now:

  • config/xavier.config.json for non-secret operational settings
  • .env for credentials and secrets
Terminal window
cargo run --bin xavier
Terminal window
cargo build --release --bin xavier
./target/release/xavier
Terminal window
cp .env.example .env
docker compose build xavier
docker compose up -d
Terminal window
curl http://localhost:8003/health
curl http://localhost:8003/readiness
  • The current validated deployment uses FileMemoryStore.
  • SurrealDB is present in the repo and Docker setup, but it is not the default validated backend for current production-style documentation.
  • If you need broader hosted persistence work, treat SurrealDB as an explicit follow-up track rather than an assumed default.