Crate pforge_config

Crate pforge_config 

Source
Expand description

§pforge-config

Configuration parsing and validation for pforge MCP servers.

This crate provides YAML-based configuration with compile-time type safety and comprehensive validation.

§Quick Start

use pforge_config::{parse_config_from_str, validate_config};

let yaml = r#"
forge:
  name: my-server
  version: 0.1.0
  transport: stdio

tools:
  - type: native
    name: greet
    description: "Greet a person"
    handler:
      path: "handlers::greet"
    params: {}
"#;

let config = parse_config_from_str(yaml).expect("valid config");
validate_config(&config).expect("validation passes");

assert_eq!(config.forge.name, "my-server");
assert_eq!(config.tools.len(), 1);

§Validation Rules

  • Tool names must be unique
  • Native handlers must have valid handler paths (format: module::function)
  • All required fields must be present
  • Transport type must be valid (stdio, sse, websocket)

Re-exports§

pub use error::ConfigError;
pub use error::Result;
pub use parser::parse_config;
pub use parser::parse_config_from_str;
pub use validator::validate_config;
pub use types::*;

Modules§

error
parser
types
validator