# Rivox Configuration Manual
Complete reference for `rivox.toml` and `rivox.lock`.
---
## `rivox.toml` Specification
The user-authored manifest at the root of a workspace.
```toml
[project]
name = "my-polyglot-monorepo" # String (required): Monorepo workspace name
version = "1.0.0" # String (required): Workspace version
[ecosystems.python]
path = "services/api" # PathBuf (required): Path to service directory containing pyproject.toml
tool = "uv" # String (required): Native resolver tool ("uv")
[ecosystems.rust]
path = "services/core" # PathBuf (required): Path to service directory containing Cargo.toml
tool = "cargo" # String (required): Native resolver tool ("cargo")
[ecosystems.node]
path = "services/web" # PathBuf (required): Path to service directory containing package.json
tool = "pnpm" # String (required): Native resolver tool ("pnpm")
[[cross_refs]]
consumer = "python:services/api" # String (required): Consumer service identifier
dependency = "rust:services/core" # String (required): Dependency service identifier
type = "native_extension" # String (required): Edge type ("native_extension", "build_dep")
```
---
## `rivox.lock` Specification
Generated deterministic lockfile (manifest of manifests). Never hand-edited.
```toml
version = 1
created_at = "2026-07-27T19:42:00Z"
[[ecosystem]]
name = "python"
tool = "uv"
tool_version = "0.4.15"
lockfile_path = "services/api/uv.lock"
lockfile_hash = "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
[[cross_ref]]
from = "python:services/api"
to = "rust:services/core"
hash = "sha256:8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4"
[provenance]
bundle_path = ".rivox/provenance.json"
signature_ref = "sigstore:rekor"
```