slave 0.13.1

CLI for slave, a Laravel-inspired Rust framework for MCP-first apps: scaffold an MCP backend with auth, roles, teams and SurrealDB migrations, add server-rendered web apps, and route them by domain or path
//! Business domains.
//!
//! Every domain exposes its operations as MCP tools through
//! `pub fn tools() -> ToolRouter<McpServer>`; register it below. Domains keep
//! their internals private and share only what they re-export from their
//! `mod.rs` (for example, `user::User`).

use rmcp::handler::server::router::tool::ToolRouter;

use crate::base::mcp::McpServer;

pub mod app;
pub mod auth;
pub mod role;
pub mod team;
pub mod user;

/// Tools of every registered domain.
pub fn tools() -> ToolRouter<McpServer> {
    [
        app::tools(),
        auth::tools(),
        role::tools(),
        team::tools(),
        user::tools(),
        // slave:tools (new domains are registered above this line)
    ]
    .into_iter()
    .fold(ToolRouter::new(), |all, tools| all + tools)
}