ygg
A local-first Rust coding agent with explicit tool control.
Why I built it
I wanted to use local models for real repository work, but most coding agents treated them as a compatibility mode. They carried large hidden prompts, assumed cloud-quality tool calling, and made it hard to see exactly what context or authority the agent had.
The approach
ygg keeps the agent surface narrow and inspectable. Model traffic goes straight to the selected endpoint. Tools can be enabled or removed explicitly. Project instructions load only from trusted workspaces, and conversations are stored as append-only, branchable JSONL on disk.
What I built
I built the Rust workspace across four crates: a provider-independent inference layer, the agent runtime, the coding-agent product, and a terminal renderer. The current release supports OpenAI Responses, OpenAI Chat Completions, and Anthropic Messages; streaming tool use; reasoning controls; image and audio input; session repair and export; prompt templates; skills; extensions; and ten bundled themes.
Engineering focus
Typed cross-provider request and streaming models; capability-aware validation; bounded file and process tools; crash-safe sessions; deterministic configuration precedence; terminal sanitization; differential rendering; release, security, and compatibility tests.
See it
Next
Keep using the pre-1.0 release on real work, tighten the local-model path, publish reproducible performance measurements, and reduce the rough edges before calling the interfaces stable.