CLI
The Goblin Speaks software uses typer to provide a command-line interface. The CLI is the primary way to interact with the machine.
Commands
run
Starts the machine and begins the main play loop.
goblin-speaks run
menu
Launches an interactive test menu that lets you test individual components without running a full play sequence. The menu dynamically lists all components and sequences loaded from your config and allows you to:
- Play each sequence defined in
sequences - Test each animatronic
- Test each dispenser
- Test audio playback
goblin-speaks menu
update
Pulls the latest release of Goblin Speaks from GitHub and runs the installer script. After a successful update, the process exits so that systemd can restart it with the new version.
goblin-speaks update
plugin
Generates a skeleton plugin file for a given component type. This creates a new Python file in the plugins directory with stub implementations of all required abstract methods.
goblin-speaks plugin <component_type> <name>
Arguments:
| Argument | Description |
|---|---|
component_type |
The type of component to create. One of: dispenser, activator, animatronic |
name |
The name for the plugin in snake_case (e.g. my_dispenser) |
Example:
goblin-speaks plugin dispenser my_card_dispenser
This creates a file at ~/.goblin-speaks/plugins/dispenser/my_card_dispenser.py with a MyCardDispenser class that extends Dispenser and includes stubs for all required methods.