An interactive opencode-like CLI assistant that demonstrates the verdict Rust agent framework.
Every user message is processed through a real verdict Pipeline — with AgentSteps, Guards, Verdicts, registered Tools, and Skills.
- 3-step pipeline per message: classify intent (Haiku) → generate response (Sonnet) → safety check
- 4 custom tools registered in a
ToolRegistryviaFunctionTool:word_count,char_count,reverse_string,to_uppercase - 5 built-in skills registered in a
SkillRegistry:code_review,test_writing,refactoring,rust_debugging,api_design - Tool-assisted pipeline: type "count", "reverse", or "uppercase" to trigger a 4th
ToolCallstep automatically - Readline input with history (rustyline)
- Colored output (colored)
| Command | Description |
|---|---|
/tools |
Run a demo pipeline with all 4 tools and print results |
/skills |
List registered skills and run a code_review demo |
/model <haiku|sonnet> |
Switch the active model |
/clear |
Clear conversation history |
/help |
Show all commands |
/quit |
Exit |
Requires an OpenAI-compatible LLM endpoint. Edit the constants in src/main.rs:
const BASE_URL: &str = "http://your-endpoint/v1";
const API_KEY: &str = "your-api-key";Then:
cargo runThis demo shows how verdict is meant to be used:
StepAction::LlmCallwith per-stepProviderSpecmodel routingStepAction::Customwithtokio::task::block_in_placefor async LLM callsStepAction::ToolCallwithToolSet::AllowscopingStepAction::UseSkillwithSkillMode::PipelineGuard::AllOf,Guard::NonEmptyOutput,Guard::NoSecretsInOutputVerdict::AutomatedPipelineRunnerwith wiredToolRegistryandSkillRegistry
- verdict — the framework library
- verdict-micro-agent — TDD micro-agent demo