autonomy scaffold
Tools for scaffolding agent components.
This command group consists of a number of functionalities that generate boilerplate code that acts as a template to speed up the development of agent components. See the appropriate subcommands for more information.
Important
This command group extends the Open AEA command scaffold
with the subcommand fsm
to generate boilerplate code for FSM App skills. We refer to the Open AEA documentation for more information related the subcommands connection
, contract
, decision-maker-handler
, error-handler
, protocol
and skill
.
Usage
autonomy scaffold [OPTIONS] COMMAND [ARGS]
Options
-tlr, --to-local-registry
- Scaffold skill inside a local registry.
--with-symlinks
- Add symlinks from vendor to non-vendor and packages to vendor folders.
--help
- Show the help message and exit.
autonomy scaffold fsm
Scaffold FSM App skills based on an FSM App specification file (YAML).
This command produces the necessary boilerplate code to create an empty, but functional, FSM App skill. The command needs an initialized local registry to work, and it must be called in the folder containing the registry, or one of its direct subfolders.
The command will produce the following files under <local_repository>/<vendor>/skills/<fsm_app_skill_name>
:
__init__.py
: Python package definition file.behaviours.py
: Boilerplate for behaviours and theRoundBehaviour
class.dialogues.py
: Boilerplate for dialogues.fsm_specification.yaml
: FSM App specification file.handlers.py
: Boilerplate for handlers.models.py
: Boilerplate for models.payloads.py
: Boilerplate for payloads.rounds.py
: Boilerplate for rounds and theAbciApp
class.skill.yaml
: Skill configuration file.tests/
: Directory containing boilerplate for tests.
Usage
autonomy scaffold fsm [OPTIONS] SKILL_NAME
Options
--remote
- To use a remote registry.
--local
- To use a local registry.
--spec FILE
- FSM App specification file (YAML).
--help
- Show the help message and exit.
Example
scaffold -tlr fsm --spec fsm_specification.yaml my_fsm_app_skill
Generates an FSM App skill named "my_fsm_app_skill" according to the specification described in the file fsm_specification.yaml
, and stores it to the local registry.