Artifact handling — Files, patches, logs, export to Markdown/JSON
Safety & permissions — Read/write/exec/network/dangerous levels with policy modes
Quick Start
bash
1# Install dependencies2pnpminstall34# Build5pnpm build
67# Interactive chat8pnpm chat
910# Autonomous task11node dist/cli/index.js run "refactor the auth module to use JWT"1213# List providers/models14node dist/cli/index.js providers
1516# List tools17node dist/cli/index.js tools
1819# List skills20node dist/cli/index.js skills
Everything flows through EventBus. Rendering, logging, metrics collection, and export all subscribe to the same event stream. This means you can add a new consumer (e.g., a web dashboard) without touching core logic.
Provider normalization
All providers implement ProviderAdapter with invoke() and stream(). Message format, tool calling conventions, and response parsing are handled per-provider so the runtime never sees vendor-specific shapes.
Typed tools with Zod
Every tool declares its input/output schemas with Zod. The runtime validates inputs before execution and can generate JSON Schema for model function-calling automatically.
Policy enforcement
The PolicyEngine checks permission levels against the current policy mode before executing any tool. Denied tools return structured error messages to the model so it can adapt.
Evaluation loop
After task completion, the Evaluator runs all registered checks. Failed checks can trigger remediation (retry with error context), preventing premature success declarations.