g3 CLI

A Rust coding agent with a coach and player mode, context management and Agent Skills support.

  • 521 ★ on the repository
  • Last commit
CLI

Broad access

Why this level

  • The agent autonomously writes and runs shell commands and edits files, without confirming each step in autonomous mode.
  • Experimental mouse and keyboard control acts on the whole desktop.
  • Project code and context go to the chosen model provider.
All reasons and checks

dhanji/g3

Install

Manual install

cargo build --release

README source build: then `./target/release/g3`. On macOS also copy `libVisionBridge.dylib` beside it.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent autonomously writes and runs shell commands and edits files, without confirming each step in autonomous mode.
  • Experimental mouse and keyboard control acts on the whole desktop.
  • Project code and context go to the chosen model provider.

This is third-party code. Review the repository files before installing.

What it does

g3 is a terminal agent that writes code and runs commands, built in Rust as a set of crates. It works with Anthropic, Databricks and local models through llama.cpp. The default is an accumulative autonomous mode: each requirement is added to a list and a coach and player loop implements it iteratively. The agent watches the context window, thins tool results as it goes and auto-compacts history at 80 percent. Built-in tools cover file read and edit, shell, a to-do list, tree-sitter code search, WebDriver for the browser and experimental mouse and keyboard control. It supports the Agent Skills specification and a named-agent mode such as `carmack` and `hopper`.

Who it is for. Developers who want an experimental Rust coding agent with a tunable autonomous loop and local model support.

Good fit when

  • Requirements pile up in the dialog and the agent should replan and refine code each time.
  • Context swells fast and you want to manage compaction with `/compact` and `/thinnify`.
  • A test task goes to the `hopper` agent and a readability task to `carmack`.
  • You need an agent that works with a local model through llama.cpp on Mac.
  • Agent Skills are attached to an agent not tied to one vendor.

Not a fit when

  • You need a polished product with support and a stable API: the repository is called "experiments in goose".
  • The repository has no license, so commercial use is unclear.
  • You do not want to build a Rust project from source: the README describes only a source build.

Example request

Run g3 in the project folder and state the requirement: add a `/health` endpoint that returns JSON and cover it with a test.

Limitations

The repository is an experiment around goose and carries no license. Install means `cargo build --release`, and on macOS `libVisionBridge.dylib` must sit beside it. Mouse and keyboard control is experimental and needs accessibility permissions. WebDriver needs Chrome with a matching ChromeDriver and Safari is enabled separately. The model ratings in the README refer to the author tasks and are not universal.

How to disable. Delete the `g3` and `libVisionBridge.dylib` binaries from `~/.local/bin`, the `~/.config/g3/` config and local `.g3/` session folders.

FAQ

How do I install g3?

Build from source with `cargo build --release` and run `./target/release/g3` or copy the binary into `PATH`.

Which models are supported?

Anthropic Claude, Databricks and local models through llama.cpp with Metal acceleration on macOS. Providers switch without code changes.

What do the context commands do?

`/compact` compresses history, `/thinnify` swaps large tool results for file references, `/skinnify` does it across the whole window and `/stats` shows usage.

Where does g3 load skills from?

From embedded skills, `~/.g3/skills/`, config paths, `.g3/skills/` and the repo `skills/` folder, the last having top priority.

What are carmack and hopper?

Built-in roles: `carmack` simplifies code and improves naming, `hopper` writes tests and finds edge cases. Run `g3 --agent carmack`.

Discussion

No questions or reviews yet.

CLI tools

A terminal coding agent in one Rust binary that reads code, edits files and runs tests with any model of your choice.

CLIBroad access115Repository stars

Viden is a terminal cockpit for a coding agent: chat with a model, approve edits and supervise Codex and Claude in one window.

CLIBroad access86Repository stars

A Rust terminal coding agent with a web interface, subagents, memory, skills and MCP, running on GPT and Claude models.

CLIBroad access106Repository stars

A terminal coding agent built on Codex, tuned for low-cost open models like Kimi K3, DeepSeek and Qwen

CLIExtended access68.9KRepository stars

Octomind is a coding agent in one Rust binary: safety rules in TOML instead of approval prompts, with a supervisor model on top

CLIBroad access657Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
g3 (this card)no521
gooseno56,497the mature Block agent with MCP extensions; g3 stays an experiment with a coach and player loop
Aiderno50,089terminal pair programming in Python; g3 in Rust runs an autonomous loop and can control the computer

README in short

The README covers the crate architecture, context management, tools, Agent Skills, named agents, WebDriver, computer control and building from source.

README badge

Report a problem