Installation

This guide covers adding Paladin to an existing Rust project or setting up the Paladin workspace for development.

Prerequisites

Required

RequirementMinimumRecommended
Rust1.85.0Latest stable (1.95+)
CargoIncluded with Rust-
Edition20242024
LLM API KeyAt least one-

Why Rust >= 1.85? Paladin uses edition 2024 features. Verify your toolchain:

rustc --version   # should print >= 1.85.0

Update with rustup update stable.

Optional (for Docker-based services)

  • Docker + Docker Compose v2 -- required for the built-in Redis, MinIO, and MySQL services (see Docker Guide)

Installing Rust

# Install rustup and the stable toolchain
curl --proto =https --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

# Build tools -- Linux (Ubuntu/Debian)
sudo apt-get install -y build-essential pkg-config libssl-dev

# Build tools -- macOS (via Homebrew)
brew install openssl pkg-config

Windows users should use rustup-init.exe or WSL 2.

Adding Paladin to a Rust Project

Cargo.toml -- choose your crates

Paladin v0.5.0 is published as a workspace of focused crates. Add only what you need:

[dependencies]
# Core framework -- always required
paladin-ai-core   = "0.5.0"
paladin-ports     = "0.5.0"

# LLM providers (pick one or more)
paladin-llm       = { version = "0.5.0", features = ["llm-openai"] }

# Multi-agent orchestration (optional)
paladin-battalion = "0.5.0"

# Memory / Garrison (optional)
paladin-memory    = "0.5.0"

# Storage adapters (optional)
paladin-storage   = "0.5.0"

# Async runtime (required)
tokio = { version = "1", features = ["full"] }

Umbrella crate

The paladin-ai umbrella crate (v0.5.0) re-exports everything and accepts workspace feature flags:

[dependencies]
paladin-ai = { version = "0.5.0", features = ["redis-queue", "s3-storage"] }
tokio      = { version = "1", features = ["full"] }

Feature Flag Profiles

FlagDefaultDescription
llm-openaiyesOpenAI GPT adapter
redis-queuenoRedis async task queue
s3-storagenoMinIO / AWS S3 file storage
openai-embeddingsnoOpenAI embedding API
qdrantnoQdrant vector database for Sanctum

Verification

cargo check

No errors means all selected features resolved correctly.

Cloning the Source for Development

# 1. Clone
git clone https://github.com/DF3NDR/paladin-dev-env.git
cd paladin-dev-env

# 2. Build the workspace
cargo build

# 3. Run unit tests
cargo test --workspace --lib

# 4. (Optional) Start backing services
make services-up   # Redis, MinIO, MySQL via Docker Compose

See Development Setup for the full contributor workflow.

Environment Variables for LLM Keys

Paladin reads API keys exclusively from environment variables -- never put keys in config files.

# Set at least one provider key before running
export OPENAI_API_KEY="sk-..."       # OpenAI
export DEEPSEEK_API_KEY="sk-..."     # DeepSeek
export ANTHROPIC_API_KEY="sk-..."    # Anthropic

Copy .env.example to .env for local development (.env is git-ignored).

Next Steps