tenderworks

tenderworks / roost

Public

Generate FFI bindings from Rust extensions

11
0
100% credibility
Found Apr 19, 2026 at 11 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Rust
AI Summary

Roost is a tool that automatically generates the code needed to call annotated Rust functions and structures from Ruby using the FFI library.

How It Works

1
🕵️ Discover Roost

You find Roost while looking for an easy way to make your Ruby projects run faster using powerful Rust code.

2
📁 Set up your project folders

You create a simple folder structure for your Ruby gem and put your Rust code in the right spot.

3
🔖 Mark your Rust pieces

You add friendly tags to the functions and data groups in your Rust code that you want to use from Ruby.

4
⚙️ Prepare the connection list

You add a quick setup line to start a special list that tracks what needs connecting.

5
🚀 Generate Ruby links automatically

You run a simple build, and Roost magically creates ready-to-use Ruby connections from your list.

6
📝 Wrap in Ruby helpers

You write short, easy Ruby methods that call your fast Rust functions through the new links.

🎉 Enjoy your speedy gem

You build and install your gem, now supercharged with Rust speed, and everything works seamlessly.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 11 to 11 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is roost?

Roost auto-generates Ruby FFI bindings from your annotated Rust code, making it dead simple to build high-performance Ruby gems powered by Rust. Slap `#[ffi_export]` on functions and `#[ffi_struct]` on structs, call a build init in your Rust build script, and run the `roost-bindgen` CLI during gem compilation to output FFI `attach_function` and `Struct` declarations. No more hand-cranking bindings or compiling C extensions—just pure Rust speed in Ruby via the `ffi` gem.

Why is it gaining traction?

It skips the boilerplate of manual FFI generation, with solid type mapping for primitives, pointers, and custom structs, plus built-in memory management hints for strings. The CLI handles module nesting and platform-specific dylibs, fitting neatly into `extconf.rb` for gem installs. Devs dig the zero-config flow after setup, beating verbose alternatives like raw FFI or full Ruby wrappers.

Who should use this?

Ruby gem maintainers accelerating compute-heavy tasks like math or crypto with Rust. Backend teams at startups building gems for data processing or simulations, tired of slow pure-Ruby or fragile C bindings. Anyone shipping cross-platform gems needing ffi generate without the hassle.

Verdict

Promising for Rust-Ruby hybrids, with clear docs and a full example gem, but at 11 stars and 1.0% credibility, it's raw—expect bugs in edge cases. Try for prototypes if you're comfy debugging build scripts; skip for production until more adoption. (187 words)

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.