# bb_jido v0.1.2 - Table of Contents

> Autonomous agents for Beam Bots.

## Pages

- [README](readme.md)
- [Change Log](changelog.md)

- Tutorials
  - [Your First Agent](01-your-first-agent.md)
  - [Reacting to PubSub](02-reacting-to-pubsub.md)
  - [Running Workflows](03-running-workflows.md)

- How-to Guides
  - [How to bridge additional PubSub topics](bridge-additional-pubsub-topics.md)
  - [How to emit signals from an action](emit-directives-from-actions.md)
  - [How to scaffold bb_jido modules with Igniter](scaffold-with-igniter.md)
  - [How to throttle high-volume signals](throttle-high-volume-signals.md)
  - [How to wait for a robot state](wait-for-robot-state.md)
  - [How to write a safety-aware action](write-safety-aware-action.md)

- Explanation
  - [The Layered Architecture](layered-architecture.md)
  - [Plugin Lifecycle](plugin-lifecycle.md)
  - [Signals and PubSub](signals-and-pubsub.md)

- Reference
  - [Error Taxonomy](error-taxonomy.md)
  - [Plugin &amp; Action Configuration Reference](plugin-config.md)
  - [Signal Types Reference](signal-types.md)
  - [Telemetry Events Reference](telemetry-events.md)

## Modules

- [BB.Jido](BB.Jido.md): Autonomous agents for [Beam Bots](https://github.com/beam-bots/bb), built
on the [Jido](https://hex.pm/packages/jido) agent framework.
- [BB.Jido.Action.Command](BB.Jido.Action.Command.md): Jido action that executes a Beam Bots command.
- [BB.Jido.Action.GetJointState](BB.Jido.Action.GetJointState.md): Jido action that reads the current joint positions and velocities for a
Beam Bots robot.
- [BB.Jido.Action.Reactor](BB.Jido.Action.Reactor.md): Jido action that runs a `bb_reactor` workflow.
- [BB.Jido.Action.SafetyAware](BB.Jido.Action.SafetyAware.md): Mixin for actions that should refuse to run unless the robot's safety
controller is `:armed`.
- [BB.Jido.Action.WaitForState](BB.Jido.Action.WaitForState.md): Jido action that waits for a Beam Bots robot to enter a target state.
- [BB.Jido.Igniter](BB.Jido.Igniter.md): Helpers for `bb_jido`'s Igniter installer and generator tasks.
- [BB.Jido.Plugin.Robot](BB.Jido.Plugin.Robot.md): Jido v2 plugin that gives an agent the ability to control a Beam Bots robot.
- [BB.Jido.PubSubBridge](BB.Jido.PubSubBridge.md): GenServer that bridges `BB.PubSub` messages into a Jido agent as signals.
- [BB.Jido.Signal](BB.Jido.Signal.md): Canonical mapping from `BB.PubSub` messages to `Jido.Signal` structs.
- [BB.Jido.Telemetry](BB.Jido.Telemetry.md): Telemetry events emitted by `bb_jido`.
- [BB.Jido.TestRobot](BB.Jido.TestRobot.md): A minimal robot for testing bb_jido.

## Mix Tasks

- [mix bb_jido.add_action](Mix.Tasks.BbJido.AddAction.md): Scaffolds a Jido action module
- [mix bb_jido.add_agent](Mix.Tasks.BbJido.AddAgent.md): Scaffolds a Jido agent that controls a BB robot
- [mix bb_jido.add_jido_instance](Mix.Tasks.BbJido.AddJidoInstance.md): Adds a Jido supervisor instance module and wires it into the application
- [mix bb_jido.install](Mix.Tasks.BbJido.Install.md): Installs bb_jido into a project

