Crate miyabi_modes

Crate miyabi_modes 

Source
Expand description

Adaptive mode system for Miyabi - inspired by Roo-Code

This crate provides a flexible mode system that allows users to define custom AI agent behaviors through YAML configuration files, similar to Roo-Code’s .roomodes system.

§Architecture

  • MiyabiMode: Core mode definition with role, tools, and instructions
  • ModeLoader: Loads modes from .miyabi/modes/ directory
  • ModeRegistry: Thread-safe registry for managing modes
  • ModeValidator: Validates mode definitions

§Example Usage

use miyabi_modes::{ModeLoader, ModeRegistry};
use std::path::Path;

let loader = ModeLoader::new(Path::new("."));
let registry = ModeRegistry::new();

// Load all modes
let modes = loader.load_all()?;
registry.register_all(modes)?;

// Get a specific mode
if let Some(mode) = registry.get("codegen") {
    println!("Found mode: {} ({})", mode.name, mode.character);
}

Re-exports§

pub use error::ModeError;
pub use error::ModeResult;
pub use loader::ModeLoader;
pub use mode::MiyabiMode;
pub use mode::ToolGroup;
pub use registry::ModeRegistry;
pub use template::TemplateRenderer;
pub use tool_config::ToolConfig;
pub use tool_config::ToolConfigSet;
pub use validator::ModeValidator;

Modules§

error
loader
mode
registry
template
Template variable rendering system for Miyabi modes
tool_config
Tool configuration system for Miyabi modes
validator