Skip to main content
Documentation

Installation

Run the CLI with npm or Python tooling, or build the current source.

Sidex’s command line tool checks schemas, formats them, and generates code. The executable is named sidex; npm and Python packages also provide sidex-cli as an alias.

Run without Installing

With Node.js and npm:

npx sidex-cli --help

With uv:

uvx sidex-cli --help

These runners download a CLI package on first use. They do not require a Rust toolchain on supported platforms.

Install for Repeated Use

Choose one package manager:

npm install --global sidex-cli
uv tool install sidex-cli
pipx install sidex-cli

Verify the installation:

sidex --version
sidex --help

Prebuilt packages support Linux and macOS on x64 and ARM64. Keep npm’s optional dependencies enabled: the main npm package selects the matching platform package. It does not need installation scripts.

Pin a CLI Version

Use one version across developer machines and CI so generated output stays reproducible:

npx sidex-cli@0.2.8 check
uvx --from sidex-cli==0.2.8 sidex check

The version above illustrates pinning. Choose a release that supports the features your schemas use. These docs follow the main branch and may include features added after a release.

Build from Source

To use the code described by these docs, clone the repository and build the CLI. Install the Rust toolchain selected by rust-toolchain.toml, including Rustfmt.

git clone https://github.com/silitics/sidex.git
cd sidex
cargo build --bin sidex
./target/debug/sidex --help

For an installation into Cargo’s binary directory:

cargo install --path crates/sidex-cli

Editor Support

The repository contains a VS Code extension for syntax highlighting. To build a VSIX package from a source checkout:

mise run build:vscode-extension

Install the resulting .vsix with VS Code’s Extensions: Install from VSIX command. The extension provides highlighting; it does not provide a language server or editor diagnostics. Use sidex check for diagnostics and sidex fmt for formatting.