# Rig – Agentic Workflows in Rust

> Source: <https://github.com/0xplaygrounds/rig>
> Published: 2026-08-29 13:22:03+00:00

[📑 Docs](https://rig.rs/docs)
•
[🌐 Website](https://rig.rs)
•
[🤝 Contribute](https://github.com/0xPlaygrounds/rig/issues/new)
•
[✍🏽 Blogs](https://rig.rs/docs/guides)
•

✨ If you would like to help spread the word about Rig, please consider starring the repo!

Warning

Here be dragons! As we plan to ship a torrent of features in the following months, future updates **will** contain **breaking changes**. With Rig evolving, we'll annotate changes and highlight migration paths as we encounter them.

Rig is a Rust library for building scalable, modular, and ergonomic **LLM-powered** applications.

More information about this crate can be found in the [official](https://rig.rs/docs) and [crate](https://docs.rs/rig/latest/rig/) API reference documentation.

- Agentic workflows that can handle multi-turn streaming and prompting
- A classic agent runtime enabled by default
- Full
[GenAI Semantic Convention](https://opentelemetry.io/docs/specs/semconv/gen-ai/)compatibility - 20+ model providers, all under one singular unified interface
- 10+ vector store integrations, all under one singular unified interface
- Full support for LLM completion and embedding workflows
- Support for transcription, audio generation and image generation model capabilities
- Integrate LLMs in your app with minimal boilerplate
- Browser-WASM (
`wasm32-unknown-unknown`

) support for the portable core and classic runtime — see[target support](/0xPlaygrounds/rig/blob/main/crates/rig-agent/README.md#target-support)for the full matrix (WASI is not supported;`rig-rmcp`

/MCP is native-only)

Rig separates portable provider/backend contracts from agent orchestration:

`rig-core`

contains provider-neutral messages, completion models, portable tools, memory and vector-store contracts, and built-in provider mappings.`rig-agent`

contains the classic builder, prompt/streaming traits, typed hooks, contextual tools, extraction, and the serializable`AgentRun`

state machine. It remains enabled by default.

The root `rig`

facade re-exports both at their familiar paths, so most code
depends only on `rig`

.

Below is a non-exhaustive list of companies and people who are using Rig:

[St Jude](https://www.stjude.org/)- Using Rig for a chatbot utility as part of, a genomics visualisation tool.`proteinpaint`

[Coral Protocol](https://www.coralprotocol.org/)- Using Rig extensively, both internally as well as part of the[Coral Rust SDK.](https://github.com/Coral-Protocol/coral-rs)[VT Code](https://github.com/vinhnx/vtcode)- VT Code is a Rust-based terminal coding agent with semantic code intelligence via Tree-sitter and ast-grep. VT Code uses`rig`

for simplifying LLM calls and implementing the model picker.[Con](https://github.com/nowledge-co/con)- Con is a GPU-accelerated terminal emulator with a built-in AI agent harness. It uses Rig as the provider abstraction layer for its integrated coding agents.[Dria](https://dria.co/)- a decentralised AI network. Currently using Rig as part of their[compute node.](https://github.com/firstbatchxyz/dkn-compute-node)[Nethermind](https://www.nethermind.io/)- Using Rig as part of their[Neural Interconnected Nodes Engine](https://github.com/NethermindEth/nine)framework.[Neon](https://neon.com)- Using Rig for their[app.build](https://github.com/neondatabase/appdotbuild-agent)V2 reboot in Rust.[Listen](https://github.com/piotrostr/listen)- A framework aiming to become the go-to framework for AI portfolio management agents. Powers[the Listen app.](https://app.listen-rs.com/)[Cairnify](https://cairnify.com/)- helps users find documents, links, and information instantly through an intelligent search bar. Rig provides the agentic foundation behind Cairnify’s AI search experience, enabling tool-calling, reasoning, and retrieval workflows.[Ryzome](https://ryzome.ai)- Ryzome is a visual AI workspace that lets you build interconnected canvases of thoughts, research, and AI agents to orchestrate complex knowledge work.[deepwiki-rs](https://github.com/sopaco/deepwiki-rs)- Turn code into clarity. Generate accurate technical docs and AI-ready context in minutes—perfectly structured for human teams and intelligent agents.[Cortex Memory](https://github.com/sopaco/cortex-mem)- The production-ready memory system for intelligent agents. A complete solution for memory management, from extraction and vector search to automated optimization, with a REST API, MCP, CLI, and insights dashboard out-of-the-box.[Ironclaw](https://github.com/nearai/ironclaw)- A secure personal AI assistant[ilert](https://www.ilert.com/)- Incident management & alerting platform. Uses Rig as the multi-provider abstraction in its agentic LLM proxy powering ilert AI.[Archestra](https://github.com/archestra-ai/archestra)- MCP-native secure AI platform. Uses Rig in its agentic benchmark.

For a curated list of Rig projects, libraries, tools, articles, and production users, check out [awesome-rig](https://github.com/0xPlaygrounds/awesome-rig).

Are you also using Rig? [Open an issue](https://www.github.com/0xPlaygrounds/rig/issues) to have your name added!

Use the root `rig`

facade when you want feature-gated access to companion crates,
or use `rig-core`

directly when you only need the core provider abstractions.

```
cargo add rig
# or: cargo add rig-core
use rig::prelude::*;
use rig::providers::openai;

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    // Create OpenAI client
    let client = openai::Client::from_env()?;

    // Create agent with a single context prompt
    let comedian_agent = client
        .agent(openai::GPT_5_2)
        .preamble("You are a comedian here to entertain the user using humour and jokes.")
        .build();

    // Prompt the agent and print the response
    let response = comedian_agent.prompt("Entertain me!").await?;

    println!("{response}");

    Ok(())
}
```

Note using `#[tokio::main]`

requires you enable tokio's `macros`

and `rt-multi-thread`

features
or just `full`

to enable all features (`cargo add tokio --features macros,rt-multi-thread`

).

You can find more examples in each crate's `examples`

directory (for example, [ examples](/0xPlaygrounds/rig/blob/main/examples)). Provider-specific integration coverage lives under

[, with cassette-backed tests that replay offline by default and live-only tests kept separate when real provider APIs are still required. See](/0xPlaygrounds/rig/blob/main/tests/providers)

`tests/providers`

[for test target, replay, record, and cassette safety commands. More detailed use case walkthroughs are regularly published on our](/0xPlaygrounds/rig/blob/main/tests/README.md)

`tests/README.md`

[Dev.to Blog](https://dev.to/0thtachi)and added to Rig's official documentation at

[rig.rs/docs](https://rig.rs/docs).

The root `rig`

facade exposes companion crates behind one feature per integration:

```
rig = { version = "0.36.0", features = ["lancedb", "fastembed"] }
```

| Integration | Crate | Feature | Module path |
|---|---|---|---|
| AWS Bedrock |
`rig-bedrock` |

`bedrock`

`rig::bedrock`

`rig-s3vectors`

`s3vectors`

`rig::s3vectors`

`rig-candle`

`candle`

`rig::candle`

`rig-vectorize`

`vectorize`

`rig::vectorize`

`rig-fastembed`

`fastembed`

`rig::fastembed`

`rig-gemini-grpc`

`gemini-grpc`

`rig::gemini_grpc`

`rig-vertexai`

`vertexai`

`rig::vertexai`

`rig-helixdb`

`helixdb`

`rig::helixdb`

`rig-lancedb`

`lancedb`

`rig::lancedb`

`rig-memory`

`memory`

`rig::memory`

`rig-milvus`

`milvus`

`rig::milvus`

`rig-mongodb`

`mongodb`

`rig::mongodb`

`rig-neo4j`

`neo4j`

`rig::neo4j`

`rig-postgres`

`postgres`

`rig::postgres`

`rig-qdrant`

`qdrant`

`rig::qdrant`

`rig-scylladb`

`scylladb`

`rig::scylladb`

`rig-sqlite`

`sqlite`

`rig::sqlite`

`rig-surrealdb`

`surrealdb`

`rig::surrealdb`

`rig::memory`

is available without the `memory`

feature; it contains the core
conversation memory traits and in-memory backend re-exported from `rig-core`

.
Enabling `features = ["memory"]`

adds reusable history-shaping policy types from
the `rig-memory`

companion crate to the same module.

We also have some other associated crates that have additional functionality you may find helpful when using Rig:

`rig-onchain-kit`

- the[Rig Onchain Kit.](https://github.com/0xPlaygrounds/rig-onchain-kit)Intended to make interactions between Solana/EVM and Rig much easier to implement.
