Skip to content

Zillowe/GCT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZDS Logo

GCT

An intelligent, AI-powered Git assistant.

Go beyond simple commits. Let GCT explain, create, and conversationally refine your code changes with the power of AI.


✨ Features

  • Conversational AI Commits: Generate a commit message and then "chat" with the AI to refine it until it's perfect.
  • Multi-Provider Support: Works with over 10 AI providers, including OpenAI, Anthropic, Google (AI Studio & Vertex AI), Mistral, Amazon Bedrock, and any OpenAI-compatible endpoint.
  • AI-Generated Changelogs: Automatically create user-facing changelogs from any set of git changes (gct ai log).
  • AI-Powered Diff Analysis: Get a high-level explanation of any commit, branch, or staged changes (gct ai diff).
  • Guided Setup: An interactive wizard (gct init) makes setup for any provider simple and fast.
  • Custom Guidelines: Enforce project-specific styles for commits and changelogs by providing your own guide files.

🚀 Getting Started

The easiest way to get started is with the model preset wizard. It provides a curated list of popular, high-performance models and configures the provider for you. In your project directory, run:

gct init model

For a fully manual setup where you enter the provider and model name yourself, run gct init.

⚙️ Configuration

GCT is highly flexible. You can configure it using a local gct.yaml file, a global config file (e.g. ~/.config/gct/config.yaml), or with environment variables. This allows you to set project-specific guidelines while keeping your API keys global or managed by your shell.

For a detailed guide on the configuration hierarchy and all available options, please see the Configuration Reference.

Security Note: When using file-based configuration, your API key is stored in plain text. The gct init command will automatically add gct.yaml to your .gitignore file to prevent accidentally committing secrets.

Supported Providers

GCT supports a wide range of providers: Google AI Studio, Google Vertex AI, OpenAI, OpenAI Compatible, Azure OpenAI, Anthropic, OpenRouter, DeepSeek, Mistral, Alibaba, Hugging Face, Amazon Bedrock, and xAI.

Configuration Fields

  • provider: The AI service you want to use.
  • model: The specific model/deployment name from your chosen provider.
  • api: Your secret API key.
  • commits.guides & changelogs.guides: Lists of local files containing formatting rules.
  • endpoint: (Optional) The base URL, only for the "OpenAI Compatible" provider.
  • gcp_project_id, gcp_region: (Optional) Required only for "Google Vertex AI".
  • aws_region, aws_access_key_id, aws_secret_access_key: (Optional) Required only for "Amazon Bedrock".
  • azure_resource_name: (Optional) Required only for "Azure OpenAI".
  • cache.enabled: (Optional) To store generated responses locally and reduce costs.

🤖 Model Recommendations

Choosing a model can be tough. Here are some recommended starting points for GCT's use case:

Recommendation Model ID Best For...
Best Overall gpt-5-mini (OpenAI) Top-tier reasoning, speed, and instruction following.
Best Balance claude-3-5-haiku-latest (Anthropic) Excellent performance at a great price point.
Fastest & Best Value gemini-2.5-flash (Google) High-speed, low-cost tasks like ai log & chat.
Best Open Model openai/gpt-oss-120b (via OpenRouter) State-of-the-art open-source performance.

✨ Commands

GCT is a command-line tool. Here are the available commands, grouped by category:

Core Commands

Command Description
gct init model Starts a wizard with recommended models for easy setup.
gct init Interactively creates a gct.yaml config file with manual input.
gct version Shows GCT version information.
gct help Shows the detailed help message.

Manual Git Commands

Command Description
gct commit Creates a new git commit using an interactive TUI form.
gct commit edit Edits the previous commit's message using the same TUI.

AI Git Commands

Command Description
gct ai commit [context] Generates and conversationally refines a commit message from staged changes.
gct ai diff [args] Asks AI to explain a set of code changes in a readable format.
gct ai log [args] Generates a user-facing changelog entry from code changes.

💾 Installation

GCT must be built from source. To do so, you need to have go installed.

# For Linux/macOS
./build/build-all.sh

# For Windows
./build/build-all.ps1

📚 Documentation

For more detailed guides, please refer to the GCT Docs.

Footer

GCT is developed by Zusty < Zillowe Foundation, part of the Zillowe Development Suite (ZDS).