register_tool

Function register_tool 

Source
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(())
}