KonradZaremba

KonradZaremba / betta

Public

ZeroTouch for Grasshopper: write plain C# functions, get real Grasshopper components — no GH_Component subclass, no manual wiring.

10
0
89% credibility
Found May 31, 2026 at 10 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
C#
AI Summary

Betta is a plugin for Grasshopper (the visual programming environment for Rhino 3D) that automatically generates Grasshopper components from simple C# methods — instead of writing dozens of lines of boilerplate code, developers add simple markers to their functions and Betta creates the components automatically.

How It Works

1
💬 You discover Betta

You hear about Betta from a colleague or online — a tool that promises to end the repetitive coding in Grasshopper.

2
You learn the simple approach

You read that instead of writing dozens of lines of setup code, you just write your actual function and add a simple marker.

3
✍️ You write your first method

You write a plain C# method with a small marker above it — that's all it takes to create a component.

4
📁 You place your file in the right spot

You drop your compiled file into a special folder on your computer. Betta notices it automatically.

5
🎨 Your components appear in the toolbar

You open Rhino and Grasshopper. Your new components appear on the toolbar, ready to use.

🎉 Everything works beautifully

You drag your components onto the canvas, connect some inputs, and everything works exactly as you wrote it — without any of the usual setup headaches.

Sign up to see the full architecture

4 more

Sign Up Free

Star Growth

See how this repo grew from 10 to 10 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 betta?

Betta brings the Dynamo ZeroTouch concept to Grasshopper. You write plain C# methods decorated with attributes, and at runtime the framework generates real Grasshopper components with inputs, outputs, icons, and deterministic GUIDs. No subclassing GH_Component, no RegisterInputParams, no GUID babysitting. Drop a DLL into a watched folder and the components appear on the canvas without restarting Rhino. Services stay free of Grasshopper types, so they unit-test without Rhino in sight.

Why is it gaining traction?

The hook is eliminating forty lines of boilerplate per component. A method body is the entire component. Output types map automatically: primitives, tuples named by element, custom classes fanned out by property, async Task methods cached by input hash. Each component wears one of six embedded betta fish silhouettes picked from its GUID, so the family reads as cohesive while each library keeps its own character. The MPL-2.0 license is file-level only—plugins ship under any license you want.

Who should use this?

Grasshopper plugin authors who are tired of writing the same plumbing for every component. Researchers prototyping geometry pipelines who want to keep their logic in plain C#. Teams building internal component libraries where the same service code needs to run headless in tests. Tool developers who want to author components via AI coding agents without hallucinated GUID conflicts.

Verdict

Betta solves a real pain point for Grasshopper C# developers, but the project is early—10 stars and a credibility score of 0.8999999761581421% signal a small, unproven user base. The API surface is small (three attributes), the documentation is clear, and the async support plus hot-reload are thoughtful touches. If you live in Grasshopper and write C#, this is worth a weekend evaluation. Just budget time for the Rhino 8 Windows requirement and keep expectations calibrated for a v0.x project.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.