behaviortree/behaviortree.cpp

Behavior Trees Library in C++. Batteries included.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 31 minutes ago
Added to GitGenius on September 16th, 2026
Created on October 16th, 2018
Open Issues & Pull Requests: 41 (+0)
GitHub issues: Enabled
Number of forks: 857
Total Stargazers: 4,213 (+0)
Total Subscribers: 74 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.7 days
Mean response time: 71.4 days
90th percentile: 233.8 days
Tracked items: 144

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 16% of issues opened in the past year have never received a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 6 hours, while "enhancement" waits about 4 days. 73% of issues opened in the past year have been closed, leaving a working backlog. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 28
New in 7 days: 0
Closed in 7 days: 5
Avg open age: 498 days
Stale 30+ days: 26
Stale 90+ days: 25

Recent activity

Opened in 7 days: 0
Closed in 7 days: 5
Comments in 7 days: 2
Events in 7 days: 10

Top labels

  • bug (28)
  • enhancement (16)
  • BT.CPP-5 (12)
  • documentation (9)
  • brainstorming (3)
  • need more info (3)
  • wontfix (2)
  • question (1)

Detailed Description

BehaviorTree.cpp is a C++ library for implementing behavior trees, a hierarchical decision-making structure used in robotics, game AI, and autonomous systems coordination.

Behavior trees solve the problem of organizing complex agent behavior into modular, reusable components that are easier to understand and maintain than traditional state machines or monolithic control logic. The library provides a framework where developers define nodes representing actions, conditions, and control flow, then compose them into tree structures that execute top-down, evaluating and running nodes based on their return status. The approach separates behavior logic from the underlying system, making it straightforward to test, debug, and iterate on agent decision-making without modifying core application code.

The tool suits projects where agents need to respond to dynamic environments with behavior that can be visualized and modified without recompilation. It is particularly valuable in robotics applications, game development, and systems requiring ROS integration. Developers working on autonomous systems or multi-agent coordination will find the library's support for parallel execution, dynamic tree modification, and introspection capabilities useful. The project explicitly positions itself as a complete solution with batteries included, meaning it provides not just the core tree execution engine but also supporting tools and patterns needed for practical deployment.

The project maintains active development with regular commits addressing bug fixes, feature additions, and documentation improvements. The maintainers respond to issues and pull requests, indicating ongoing engagement with the user community. The codebase shows consistent refinement of the API and internal implementation, suggesting the developers are responsive to real-world usage patterns. Documentation is actively maintained alongside code changes, keeping examples and guides aligned with the current implementation.