Peteosdocs

RoleManager

A class-method-only manager for registering and loading roles.

register_role

RoleManager.register_role(role)

Registers a role by name.

load_from_dir

RoleManager.load_from_dir(directory)list[str]

Loads all roles from a directory where each subdirectory is a role name. Returns a list of successfully loaded role names.

Each subdirectory may contain a description.md and/or system_prompt.md along with an optional config.json:

my-role/
  description.md          # Optional
  system_prompt.md        # Optional
  config.json             # Optional

Raises: FileNotFoundError if the directory does not exist.

get_role

RoleManager.get_role(name) → Role | None

Looks up a role by name. Returns None if not found.

list_roles

RoleManager.list_roles()list[tuple[str, Role]]

Lists all registered roles. Returns a list of (name, Role) tuples.