Skip to content

Installation

Spikard ships a Rust core plus bindings for Python, TypeScript/Node, Ruby, PHP, and Elixir. Install only what you need; every binding shares the same runtime behavior.

Install by binding

pip install spikard
npm install @spikard/node
# or
pnpm add @spikard/node
gem install spikard
composer require spikard/spikard

For CI or other non-interactive Composer runs, allow the package plugin first:

composer config allow-plugins.spikard/spikard true
composer require spikard/spikard

Add to your mix.exs dependencies:

{:spikard, "~> 0.10"}

Normal installs use precompiled NIFs. You only need a Rust toolchain when forcing a source build, for example with SPIKARD_BUILD=1.

cargo add spikard

CLI

Install the CLI for code generation and schema validation:

cargo install spikard-cli

Local repo setup

The repo uses uv to manage Python deps and pnpm for JavaScript:

# install all languages + hooks
task setup

# or only the Python/Node deps needed for docs
uv sync --group docs --group doc --no-install-workspace
pnpm install --frozen-lockfile

When working on docs locally, run task docs:serve to launch MkDocs Material with live reload.