eject¶
Description¶
Eject a component and its dependencies to a new fork.
This command allows you to fork an existing component (skill, contract, connection, or protocol) to a new author and name while preserving its functionality. It handles dependency management and configuration updates automatically.
Component Types:
- skill: Agent skills (e.g., price_estimation, nft_trading)
- contract: Smart contracts (e.g., token_bridge, amm_contract)
- connection: Network connections (e.g., http_client, websocket)
- protocol: Communication protocols (e.g., fipa, http)
Usage:
# Eject a skill:
adev eject skill eightballer/metrics new_author/better_metrics
# Eject a contract without its dependencies:
adev eject contract valory/gnosis_safe new_author/safe --skip-dependencies
# Eject a connection:
adev eject connection valory/http_client new_author/custom_http
# Eject a protocol:
adev eject protocol open_aea/signing new_author/custom_signing
Args:¶
component_type: Type of the component (skill, contract, connection, protocol)
public_id: Public ID of the component to eject (author/name)
fork_id: New public ID for the ejected component (author/name)
skip_dependencies: Skip ejecting dependencies (they must already be ejected)