Build

SkillDatabases & data

This skill lets your AI build and compile FalkorDB, a Rust project with native GraphBLAS and RediSearch dependencies. Once added, your AI can handle the build process, set up the native dependencies for the first time, and run formatting and lint checks. It is useful when you need to fix a build, compile, or lint error in the project.

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

After adding the skill, ask your AI to build FalkorDB or run its formatting and lint checks. If it is the first build on your machine, ask it to set up the native dependencies first.

Then ask your AI: use the Build skill

What your AI can do with it

  • Build and compile the FalkorDB Rust project
  • Set up the native GraphBLAS and RediSearch dependencies for the first time
  • Run formatting checks with cargo fmt
  • Run lint checks with cargo clippy
  • Diagnose and fix build, compile, or lint errors

What this skill tells your AI

The instructions your AI receives, as published by falkordb/falkordb in .claude/skills/build/SKILL.md and read by ahel’s review.

FalkorDB-rs is a Redis module: the Rust crates link against two native C libraries (GraphBLAS and RediSearch) that must be compiled and installed before cargo build will succeed.

1. First-time native dependency setup

Only needed once per machine/container (skip if cargo build already works).

./graphblas.sh    # clones, builds (static, PIC) and installs GraphBLAS v10.5.0 + LAGraph
git submodule update --init --recursive   # populates deps/RediSearch (git owns it)
./redisearch.sh   # builds that checkout (static) into deps/RediSearch/bin

If a script fails, read it before retrying by hand — graphblas.sh documents the exact cmake flags it uses (-DGRAPHBLAS_COMPACT=OFF, -DCMAKE_POSITION_INDEPENDENT_CODE=ON, static build, shared install prefix) and has a --skip-graphblas flag to reuse an already-installed libgraphblas.a while iterating on the LAGraph step.

2. Build

cargo build            # debug build -> target/debug/libfalkordb.{so,dylib}
cargo build --release  # release build -> target/release/libfalkordb.{so,dylib}

3. Format & lint

cargo fmt --all -- --check
CXX=clang++ cargo clippy --all-targets
  • CXX=clang++ is required for clippy (and any build invoking the GraphBLAS FFI bindings under graph/src/graph/graphblas/, whose bindgen output is graphblas/mod.rs) — without it, clippy fails trying to compile the C shims.
  • Format check uses the project's rustfmt.toml (vertical function-parameter layout). Run cargo fmt --all (no --check) to auto-fix.
  • Run format + build + clippy together, in that order, for a full check — fail fast on formatting before spending time on a full compile.
  • For a stricter, opt-in clippy pass (pedantic/nursery/cargo lints, plus an auto-fix mode) see the lint skill.

Notes

  • CI (.github/workflows/rust-pr.yml) runs the same cargo fmt --all --check and CXX=clang++ cargo clippy --all-targets (pinned to a specific clang++ version in CI containers; any reasonably recent local clang++ works).
  • Cross-platform release artifacts (Linux .so, macOS .dylib) and multi-arch Docker image publishing are handled entirely in CI — these need GH-hosted secrets/registries and are not meant to be reproduced locally.

If any step fails, report the errors clearly and help fix them.

Signals

GitHub stars
6k
Forks
460
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
build-falkordb
Source
github.com/falkordb/falkordb