Add a Rust Crate Dependency

SkillDev tools

Add a new Rust crate dependency to a Rust Golem project. Use when the user asks to add a library, crate, or dependency.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Add a Rust Crate Dependency skill

What this skill tells your AI

The instructions your AI receives, as published by golemcloud/golem in golem-skills/skills/rust/golem-add-rust-crate/SKILL.md and read by ahel’s review.

Important constraints

  • The compilation target is wasm32-wasip2 — only crates that support this target will work.
  • Crates that use threads, native system calls, mmap, networking via std::net, or platform-specific C libraries will not compile.
  • Pure Rust crates and crates that support wasm32-wasi generally work.
  • If unsure whether a crate compiles for WASM, add it and run golem build to find out.

Steps

  1. Add the dependency to Cargo.toml

    In the component's Cargo.toml (not a workspace Cargo.toml), add the crate under [dependencies]:

    [dependencies]
    my-crate = "1.0"
    

    If the project has a Cargo workspace with [workspace.dependencies], add the version there and reference it with my-crate = { workspace = true } in the component crate.

  2. Build to verify

    golem build --yes
    

    Do NOT run cargo build directly — always use golem build.

  3. If the build fails

    • Check the error for unsupported target or missing C dependencies — these crates are incompatible with wasm32-wasip1.
    • Try enabling a wasm or wasi feature flag if the crate provides one.
    • Look for an alternative crate that supports WASM.

Already available crates

These crates are already in the project's Cargo.toml — do NOT add them again:

  • golem-rust — Golem agent framework, durability, transactions
  • wstd — WASI standard library (HTTP client, async I/O)
  • log — logging
  • serde / serde_json — serialization

HTTP and networking

Use wstd::http for HTTP requests. The standard std::net module is not available on WASM.

AI / LLM features

To add AI capabilities, add the relevant golem-ai-* provider crate (e.g., golem-ai-llm-openai) and configure the provider in the component's golem.yaml dependencies section.

Signals

GitHub stars
2k
Forks
212
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
golem-add-rust-crate
Source
github.com/golemcloud/golem