Corbusier provides a slash-command orchestration service that parses commands,
validates typed parameters, renders templates using minijinja, and produces
deterministic tool-call plans with auditable metadata.
Supported command grammar:
/<command> key=value key2="quoted value"- Required parameters are enforced per command schema.
- Unknown parameters are rejected with typed errors.
- Boolean parameter values are case-insensitive (
true/false). numberparameters currently accept integer values only.
The default in-memory registry includes /task and /review command
definitions.
use std::sync::Arc;
use corbusier::message::{
adapters::memory::InMemorySlashCommandRegistry,
services::SlashCommandService,
};
fn execute_command() -> Result<(), Box<dyn std::error::Error>> {
let service = SlashCommandService::new(Arc::new(InMemorySlashCommandRegistry::new()));
let result = service.execute("/task action=start issue=123")?;
assert_eq!(result.expansion().command, "/task");
assert!(!result.planned_tool_calls().is_empty());
assert_eq!(result.planned_tool_calls().len(), result.tool_call_audits().len());
Ok(())
}
Repeated execution with the same command string and parameter values produces the same ordered tool-call sequence and call identifiers.