rvitorper

rvitorper / go-bt

Public

Minimalist BT implementation in Go

48
1
100% credibility
Found Apr 08, 2026 at 48 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Go
AI Summary

go-bt is a Go library providing building blocks for behavior trees to manage asynchronous logic, task automation, and simple AI behaviors in a stateless, testable manner.

How It Works

1
📚 Discover go-bt

You hear about a simple tool for organizing smart task flows, like a decision tree for automations in games or background jobs.

2
📝 Plan your shared notes

You jot down the key facts your tasks need to track, such as whether connected or how many jobs left.

3
🌳 Assemble your task tree

You connect ready-made pieces for steps in order, try options until one works, add retries or waits to build reliable logic.

4
▶️ Start the background runner

You launch a quiet helper that keeps checking and running your task tree every few moments without slowing anything else.

5
đź§Ş Test waits and timings

You speed up time in tests to instantly see if delays, timeouts, or repeats behave just right.

🎉 Automation works perfectly

Your tasks handle connections, failures, and waits smoothly, running forever or until done.

Sign up to see the full architecture

4 more

Sign Up Free

Star Growth

See how this repo grew from 48 to 48 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 go-bt?

go-bt is a minimalist BT implementation in Go for building behavior trees that handle async logic like background workers, game AI, or task automation. It replaces blocking loops and sleeps with a tick-based supervisor that runs composable nodes—sequences for ordered tasks, selectors for fallbacks, decorators like retry or timeout, and leaves for actions or conditions—returning success (1), running (0), or failure (-1) instantly. Users get a generic blackboard for state, stdlib context integration for cancellation, and a background daemon to drive trees without tying up main threads.

Why is it gaining traction?

It stands out with stateless nodes keeping all runtime in a shared context, plus clock injection for instant "time-travel" testing of sleeps or timeouts—no flaky CI waits. The panic-safe supervisor and reset-on-complete logic make it dead simple to daemonize workflows, while Go generics let any struct be your blackboard. Developers dig the zero-boilerplate async flows over raw goroutines or channels.

Who should use this?

Go backend devs building resilient workers—like queue processors with retries or connection checks—or game devs scripting NPC behaviors without game engines. Ideal for ops folks automating mundane tasks with timeouts, or anyone ditching polling loops in services.

Verdict

Grab it if you need a lean Go BT lib for async trees—solid docs, examples, and test coverage make prototyping fast, despite 48 stars and 1.0% credibility signaling early maturity. Skip for production unless you vet and extend it yourself.

(198 words)

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.