pub fn register_tool(tool: Box<dyn DxTool>) -> Result<String>Expand description
Every dx-tool must call this exactly once during startup
Registers a tool with the forge orchestrator. Tools are indexed by name and version for dependency resolution and execution ordering.
§Arguments
tool- The tool implementation to register
§Returns
A unique tool ID for subsequent operations
§Example
use dx_forge::{register_tool, DxTool};
struct MyTool;
impl DxTool for MyTool {
fn name(&self) -> &str { "my-tool" }
fn version(&self) -> &str { "1.0.0" }
fn priority(&self) -> u32 { 50 }
fn execute(&mut self, _ctx: &dx_forge::ExecutionContext) -> anyhow::Result<dx_forge::ToolOutput> {
Ok(dx_forge::ToolOutput::success())
}
}
fn main() -> anyhow::Result<()> {
dx_forge::initialize_forge()?;
register_tool(Box::new(MyTool))?;
Ok(())
}