Rename G3 -> g3 in docs and comments

Standardize project name to lowercase 'g3' throughout documentation,
comments, and configuration files. Environment variables (G3_*) are
unchanged as they follow the uppercase convention.
This commit is contained in:
Dhanji R. Prasanna
2026-01-13 14:36:33 +05:30
parent 389ed6a554
commit f6b84d864a
15 changed files with 55 additions and 55 deletions

View File

@@ -1,4 +1,4 @@
# AGENTS.md - Machine Instructions for G3
# AGENTS.md - Machine Instructions for g3
**Purpose**: Machine-specific instructions for AI agents working with this codebase.
**For project overview, architecture, and usage**: See [README.md](README.md)

View File

@@ -37,7 +37,7 @@ uuid = { version = "1.0", features = ["v4"] }
name = "g3"
version = "0.1.0"
edition = "2021"
authors = ["G3 Team"]
authors = ["g3 Team"]
description = "A general purpose AI agent that helps you complete tasks by writing code"
license = "MIT"

View File

@@ -1,10 +1,10 @@
# G3 - AI Coding Agent - Design Document
# g3 - AI Coding Agent - Design Document
## Overview
G3 is a **modular, composable AI coding agent** built in Rust that helps you complete tasks by writing and executing code. It provides a flexible architecture for interacting with various Large Language Model (LLM) providers while offering powerful code generation, file manipulation, and task automation capabilities.
g3 is a **modular, composable AI coding agent** built in Rust that helps you complete tasks by writing and executing code. It provides a flexible architecture for interacting with various Large Language Model (LLM) providers while offering powerful code generation, file manipulation, and task automation capabilities.
The agent follows a **tool-first philosophy**: instead of just providing advice, G3 actively uses tools to read files, write code, execute commands, and complete tasks autonomously.
The agent follows a **tool-first philosophy**: instead of just providing advice, g3 actively uses tools to read files, write code, execute commands, and complete tasks autonomously.
## Core Principles
@@ -19,7 +19,7 @@ The agent follows a **tool-first philosophy**: instead of just providing advice,
## Project Structure
G3 is organized as a Rust workspace with the following crates:
g3 is organized as a Rust workspace with the following crates:
```
g3/
@@ -217,7 +217,7 @@ g3/
### Context Window Management
G3 implements sophisticated context window management:
g3 implements sophisticated context window management:
- **Automatic Monitoring**: Tracks token usage with percentage-based thresholds
- **Smart Summarization**: Auto-triggers at 80% capacity to prevent context overflow
@@ -389,7 +389,7 @@ g3 --retro --theme dracula
- **Caching**: Strategic caching of expensive operations
- **Profiling**: Regular performance profiling and optimization
This design document reflects the current state of G3 as a mature, production-ready AI coding agent with sophisticated architecture and comprehensive feature set.
This design document reflects the current state of g3 as a mature, production-ready AI coding agent with sophisticated architecture and comprehensive feature set.
## Current Implementation Status

View File

@@ -1,10 +1,10 @@
# G3 - AI Coding Agent
# g3 - AI Coding Agent
G3 is a coding AI agent designed to help you complete tasks by writing code and executing commands. Built in Rust, it provides a flexible architecture for interacting with various Large Language Model (LLM) providers while offering powerful code generation and task automation capabilities.
g3 is a coding AI agent designed to help you complete tasks by writing code and executing commands. Built in Rust, it provides a flexible architecture for interacting with various Large Language Model (LLM) providers while offering powerful code generation and task automation capabilities.
## Architecture Overview
G3 follows a modular architecture organized as a Rust workspace with multiple crates, each responsible for specific functionality:
g3 follows a modular architecture organized as a Rust workspace with multiple crates, each responsible for specific functionality:
### Core Components
@@ -56,7 +56,7 @@ Command-line interface:
### Error Handling & Resilience
G3 includes robust error handling with automatic retry logic:
g3 includes robust error handling with automatic retry logic:
- **Recoverable Error Detection**: Automatically identifies recoverable errors (rate limits, network issues, server errors, timeouts)
- **Exponential Backoff with Jitter**: Implements intelligent retry delays to avoid overwhelming services
- **Detailed Error Logging**: Captures comprehensive error context including stack traces, request/response data, and session information
@@ -65,7 +65,7 @@ G3 includes robust error handling with automatic retry logic:
### Tool Call Duplicate Detection
G3 includes intelligent duplicate detection to prevent the LLM from accidentally calling the same tool twice in a row:
g3 includes intelligent duplicate detection to prevent the LLM from accidentally calling the same tool twice in a row:
- **Sequential Duplicate Prevention**: Only immediately sequential identical tool calls are blocked
- **Text Separation Allowed**: If there's any text between tool calls, they're not considered duplicates
- **Session-Wide Reuse**: Tools can be called multiple times throughout a session - only back-to-back duplicates are prevented
@@ -74,7 +74,7 @@ This catches cases where the LLM "stutters" and outputs the same tool call twice
### Timing Footer
After each response, G3 displays a timing footer showing elapsed time, time to first token, token usage (from the LLM, not estimated), and current context window usage percentage. The token and context info is displayed dimmed for a clean interface.
After each response, g3 displays a timing footer showing elapsed time, time to first token, token usage (from the LLM, not estimated), and current context window usage percentage. The token and context info is displayed dimmed for a clean interface.
## Key Features
@@ -86,7 +86,7 @@ After each response, G3 displays a timing footer showing elapsed time, time to f
- Dynamic token allocation for different providers (4k to 200k+ tokens)
### Interactive Control Commands
G3's interactive CLI includes control commands for manual context management:
g3's interactive CLI includes control commands for manual context management:
- **`/compact`**: Manually trigger compaction to compact conversation history
- **`/thinnify`**: Manually trigger context thinning to replace large tool results with file references
- **`/skinnify`**: Manually trigger full context thinning (like `/thinnify` but processes the entire context window, not just the first third)
@@ -134,7 +134,7 @@ These commands give you fine-grained control over context management, allowing y
## Use Cases
G3 is designed for:
g3 is designed for:
- Automated code generation and refactoring
- File manipulation and project scaffolding
- System administration tasks
@@ -229,7 +229,7 @@ G3 uses a TOML configuration file for settings. The config file is automatically
### Retry Configuration
G3 includes configurable retry logic for handling recoverable errors (timeouts, rate limits, network issues, server errors):
g3 includes configurable retry logic for handling recoverable errors (timeouts, rate limits, network issues, server errors):
```toml
[agent]
@@ -256,7 +256,7 @@ See `config.example.toml` for a complete configuration example.
## WebDriver Browser Automation
G3 includes WebDriver support for browser automation tasks. Safari is the default, with Chrome headless available as an alternative.
g3 includes WebDriver support for browser automation tasks. Safari is the default, with Chrome headless available as an alternative.
**One-Time Setup** (macOS only):
@@ -305,7 +305,7 @@ chrome_binary = "/Users/yourname/.chrome-for-testing/chrome-mac-arm64/Google Chr
## Computer Control (Experimental)
G3 can interact with your computer's GUI for automation tasks:
g3 can interact with your computer's GUI for automation tasks:
**Available Tools**: `mouse_click`, `type_text`, `find_element`, `take_screenshot`, `list_windows`

View File

@@ -1,4 +1,4 @@
# G3 Configuration Example - Coach/Player Mode
# g3 Configuration Example - Coach/Player Mode
#
# This configuration demonstrates using different providers for coach and player
# roles in autonomous mode. The coach reviews code while the player implements.

View File

@@ -1,4 +1,4 @@
# G3 Configuration Example
# g3 Configuration Example
#
# This file demonstrates the new provider configuration format.
# Provider references use the format: "<provider_type>.<config_name>"

View File

@@ -2,7 +2,7 @@
name = "studio"
version = "0.1.0"
edition = "2021"
description = "Multi-agent workspace manager for G3"
description = "Multi-agent workspace manager for g3"
[[bin]]
name = "studio"

View File

@@ -13,10 +13,10 @@ mod session;
use git::GitWorktree;
use session::{Session, SessionStatus};
/// Studio - Multi-agent workspace manager for G3
/// Studio - Multi-agent workspace manager for g3
#[derive(Parser)]
#[command(name = "studio")]
#[command(about = "Manage multiple G3 agent sessions using git worktrees")]
#[command(about = "Manage multiple g3 agent sessions using git worktrees")]
struct Cli {
#[command(subcommand)]
command: Commands,
@@ -24,7 +24,7 @@ struct Cli {
#[derive(Subcommand)]
enum Commands {
/// Run a new G3 agent session (tails output until complete)
/// Run a new g3 agent session (tails output until complete)
Run {
/// Agent name (e.g., carmack, torvalds)
#[arg(long)]
@@ -35,7 +35,7 @@ enum Commands {
g3_args: Vec<String>,
},
/// Execute a G3 agent session in detached mode (for future use)
/// Execute a g3 agent session in detached mode (for future use)
Exec {
/// Agent name (e.g., carmack, torvalds)
#[arg(long)]
@@ -118,7 +118,7 @@ fn get_repo_root() -> Result<PathBuf> {
Ok(PathBuf::from(path))
}
/// Run a new G3 session (foreground, tails output)
/// Run a new g3 session (foreground, tails output)
fn cmd_run(agent: &str, g3_args: &[String]) -> Result<()> {
let g3_binary = get_g3_binary_path()?;
let repo_root = get_repo_root()?;
@@ -200,7 +200,7 @@ fn cmd_run(agent: &str, g3_args: &[String]) -> Result<()> {
Ok(())
}
/// Execute a G3 session in detached mode (placeholder for future)
/// Execute a g3 session in detached mode (placeholder for future)
fn cmd_exec(agent: &str, g3_args: &[String]) -> Result<()> {
// For now, just print what would happen
println!("exec command not yet implemented");

View File

@@ -1,11 +1,11 @@
# G3 Code Search Guide
# g3 Code Search Guide
**Last updated**: January 2025
**Source of truth**: `crates/g3-core/src/code_search/`, `crates/g3-core/src/tool_definitions.rs`
## Purpose
G3 includes a syntax-aware code search tool powered by tree-sitter. Unlike text-based search (grep), it understands code structure and finds actual functions, classes, methods, and other constructs—ignoring matches in comments and strings.
g3 includes a syntax-aware code search tool powered by tree-sitter. Unlike text-based search (grep), it understands code structure and finds actual functions, classes, methods, and other constructs—ignoring matches in comments and strings.
## Why Use Code Search?

View File

@@ -1,11 +1,11 @@
# G3 Control Commands
# g3 Control Commands
**Last updated**: January 2025
**Source of truth**: `crates/g3-cli/src/lib.rs`
## Purpose
Control commands are special commands you can use during an interactive G3 session to manage context, refresh documentation, and view statistics. They start with `/` and are processed by the CLI, not sent to the LLM.
Control commands are special commands you can use during an interactive g3 session to manage context, refresh documentation, and view statistics. They start with `/` and are processed by the CLI, not sent to the LLM.
## Available Commands
@@ -255,7 +255,7 @@ g3> /help
## Context Management Strategy
G3 automatically manages context, but manual intervention can help:
g3 automatically manages context, but manual intervention can help:
### Proactive Management
@@ -283,7 +283,7 @@ When context gets high:
## Automatic Context Management
G3 performs automatic context management:
g3 performs automatic context management:
| Threshold | Action |
|-----------|--------|

View File

@@ -1,11 +1,11 @@
# G3 Flock Mode Guide
# g3 Flock Mode Guide
**Last updated**: January 2025
**Source of truth**: `crates/g3-ensembles/src/flock.rs`
## Purpose
Flock mode enables parallel multi-agent development by spawning multiple G3 agent instances that work on different parts of a project simultaneously. This is useful for large projects with modular architectures where independent components can be developed in parallel.
Flock mode enables parallel multi-agent development by spawning multiple g3 agent instances that work on different parts of a project simultaneously. This is useful for large projects with modular architectures where independent components can be developed in parallel.
## Overview

View File

@@ -1,15 +1,15 @@
# G3 Architecture
# g3 Architecture
**Last updated**: January 2025
**Source of truth**: Crate structure in `crates/`, `Cargo.toml`, `DESIGN.md`
## Purpose
This document describes the internal architecture of G3, a modular AI coding agent built in Rust. It is intended for developers who want to understand, extend, or maintain the codebase.
This document describes the internal architecture of g3, a modular AI coding agent built in Rust. It is intended for developers who want to understand, extend, or maintain the codebase.
## High-Level Overview
G3 follows a **tool-first philosophy**: instead of just providing advice, it actively uses tools to read files, write code, execute commands, and complete tasks autonomously.
g3 follows a **tool-first philosophy**: instead of just providing advice, it actively uses tools to read files, write code, execute commands, and complete tasks autonomously.
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
@@ -58,7 +58,7 @@ G3 follows a **tool-first philosophy**: instead of just providing advice, it act
## Workspace Structure
G3 is organized as a Rust workspace with 9 crates:
g3 is organized as a Rust workspace with 9 crates:
```
g3/
@@ -234,7 +234,7 @@ Flock mode enables parallel development by spawning multiple agent instances wor
### studio (Multi-Agent Workspace Manager)
**Location**: `crates/studio/`
**Purpose**: Manage multiple G3 agent sessions using git worktrees
**Purpose**: Manage multiple g3 agent sessions using git worktrees
Key modules:
- `main.rs` - CLI commands (run, exec, list, status, accept, discard)
@@ -297,7 +297,7 @@ The `ContextWindow` struct manages conversation history with intelligent token t
## Error Handling
G3 implements comprehensive error handling:
g3 implements comprehensive error handling:
1. **Error Classification**: Distinguishes recoverable vs non-recoverable errors
2. **Automatic Retry**: Exponential backoff with jitter for:

View File

@@ -1,15 +1,15 @@
# G3 Configuration Guide
# g3 Configuration Guide
**Last updated**: January 2025
**Source of truth**: `crates/g3-config/src/lib.rs`, `config.example.toml`
## Purpose
This document explains how to configure G3, including provider setup, agent behavior, and optional features like WebDriver and computer control.
This document explains how to configure g3, including provider setup, agent behavior, and optional features like WebDriver and computer control.
## Configuration File Location
G3 looks for configuration files in this order:
g3 looks for configuration files in this order:
1. Path specified via `--config` CLI argument
2. `./g3.toml` (current directory)
@@ -20,7 +20,7 @@ If no configuration file exists, G3 creates a default one at `~/.config/g3/confi
## Configuration Format
G3 uses TOML format. The configuration is organized into sections:
g3 uses TOML format. The configuration is organized into sections:
```toml
[providers] # LLM provider settings
@@ -165,7 +165,7 @@ check_todo_staleness = true # Warn about stale TODO items
### Retry Behavior
G3 automatically retries on recoverable errors:
g3 automatically retries on recoverable errors:
- Rate limits (HTTP 429)
- Network errors
- Server errors (HTTP 5xx)

View File

@@ -1,11 +1,11 @@
# G3 LLM Providers Guide
# g3 LLM Providers Guide
**Last updated**: January 2025
**Source of truth**: `crates/g3-providers/src/`
## Purpose
This document describes the LLM providers supported by G3, their capabilities, and how to choose between them.
This document describes the LLM providers supported by g3, their capabilities, and how to choose between them.
## Provider Overview
@@ -269,10 +269,10 @@ threads = 8 # Use more threads
### Tool Calling
Embedded models don't have native tool calling. G3 uses JSON fallback:
Embedded models don't have native tool calling. g3 uses JSON fallback:
1. System prompt includes tool definitions as JSON
2. Model outputs tool calls as JSON in response
3. G3 parses JSON and executes tools
3. g3 parses JSON and executes tools
This works but is less reliable than native tool calling.
@@ -376,7 +376,7 @@ pub trait LLMProvider: Send + Sync {
### Rate Limits
G3 automatically retries on rate limits with exponential backoff.
g3 automatically retries on rate limits with exponential backoff.
To reduce rate limit issues:
- Use prompt caching (Anthropic)

View File

@@ -1,11 +1,11 @@
# G3 Tools Reference
# g3 Tools Reference
**Last updated**: January 2025
**Source of truth**: `crates/g3-core/src/tool_definitions.rs`, `crates/g3-core/src/tools/`
## Purpose
This document describes all tools available to the G3 agent. Tools are the primary mechanism by which G3 interacts with the filesystem, executes commands, and automates tasks.
This document describes all tools available to the g3 agent. Tools are the primary mechanism by which g3 interacts with the filesystem, executes commands, and automates tasks.
## Tool Categories
@@ -445,7 +445,7 @@ List all open windows with IDs and titles.
### Duplicate Detection
G3 prevents accidental duplicate tool calls:
g3 prevents accidental duplicate tool calls:
- Only immediately sequential identical calls are blocked
- Text between tool calls resets detection
- Tools can be reused throughout a session