Gi is a Rust-first terminal coding-agent harness. It drives an LLM through a
tool loop with explicit permissions and a workspace jail, and adds a few things on
top of its base: interactive ask_user questions the model can ask mid-turn,
expressive terminal themes, stronger project-instruction discovery, and richer
SKILL.md capabilities. Local and OpenAI-compatible providers (Ollama, llama.cpp,
vLLM, …) are first-class, not an afterthought.
The binary is gi. Config lives in ~/.gi/; environment variables use the GI_
prefix.
Gi is a fork of
ultraworkers/claw-code(MIT). It keeps that workspace as its implementation base and rebrands it togi. See the ownership disclaimer below.
ask_userruntime tool — the model can pause and ask a structured question (choices, free text) and continue the same turn with your answer. Non-TTY runs reportinteractive_requiredinstead of blocking; timeouts are enforced without leaking reader threads.- Terminal themes —
gi-dark/gi-light, selected withGI_THEMEor the/themeslash command and persisted to~/.gi/settings.json. Reported bygi status --output-format jsonandgi doctor; JSON output stays ANSI-free. SKILL.mdextensions — optionalversion,tags,required_tools,provider_hints, andreferencesfrontmatter, with missing-reference diagnostics surfaced ingi skills list --output-format json.- Provider/model discovery —
gi models(and a first-run prompt) scans your environment for configured providers (Anthropic, OpenAI, xAI, DashScope, Sakana, Kimi, GLM, Ollama), live-queries their model lists, and persists your pick. - Operating principles baked into the system prompt: compare approaches, prefer the smallest verifiable change, stay provider-agnostic, and keep risky actions behind explicit approval.
The canonical roadmap is docs/gi-harness-plan.md.
# 1. Clone and build
git clone https://github.com/danmaxis/gi
cd gi/rust
cargo build --workspace
# 2. Set your API key (an Anthropic API key — not a Claude subscription)
export ANTHROPIC_API_KEY="sk-ant-..."
# 3. Verify everything is wired up
./target/debug/gi doctor
# 4. Run a one-shot prompt
./target/debug/gi prompt "say hello"
# 5. Start an interactive session
./target/debug/giOn Windows (PowerShell) the binary is gi.exe: use .\target\debug\gi.exe or
cargo run -- prompt "say hello".
Local / OpenAI-compatible providers (Ollama, llama.cpp, vLLM) are supported via
ANTHROPIC_BASE_URL / OLLAMA_HOST; see
docs/local-openai-compatible-providers.md.
rust/— the Rust workspace and thegiCLI binary (crategi-cli).USAGE.md— task-oriented usage guide (commands, auth, sessions, config, themes).docs/— design notes;gi-harness-plan.mdis the roadmap.PHILOSOPHY.md/ROADMAP.md/PARITY.md— intent, backlog, and Rust-port parity.
From the rust/ directory:
../scripts/fmt.sh --check
cargo build --workspace
cargo clippy --workspace
cargo test --workspaceUSAGE.md— commands, auth, sessions, config, terminal themesdocs/gi-harness-plan.md— roadmap and designdocs/local-openai-compatible-providers.md— Ollama / llama.cpp / vLLM setupdocs/windows-install-release.md— Windows / PowerShell install notesrust/README.md— crate map and CLI surfaceCONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.mdLICENSE— MIT
- Gi is a fork of
ultraworkers/claw-code(MIT), which is itself part of the broader agent-code / Claude Code lineage. Upstream attributions are preserved. - This repository does not claim ownership of the original source material and is not affiliated with, endorsed by, or maintained by Anthropic.
- Distributed under the MIT License.