giton is AI-powered tool for Git.
Initialize your repo
$ giton init
Run some commands
$ giton add file.txt
Undo the previous command
$ giton undo
⣷ Communicating with Open AI
+---+------------------------------------------+
| # | Command |
+==============================================+
| 0 | git restore --staged file.txt |
+---+------------------------------------------+
:: Prooced with Command(s)?: [Y/n]
Table of Content
# Installation
You need git installed and accessible from your commandline.
# Pre-built Binaries
You can download the relevant binary from the latest release. Linux, macOS and Windows binaries are available for x86_64.
# Compilation with Cargo
If you have the rust toolchain installed, you can install giton
with cargo
$ cargo install giton
# Configuration
You need an OpenAI API Key to be able to use giton
. After creating an account with OpenAI, you can generate an API key. Then, you need to set this API key in your shell environment.
For Linux/macOS
export GITON_OPENAI_KEY=your_api_key
For Windows/Powershell
$env:GITON_OPENAI_KEY = "your_api_key"
# Commands
# History
giton
stores your commands history in the file .giton
in the root of your directory. It is recommended to track this file as it improves the accuracy of the undo
and helpme
commands.
Usage
giton history
Output
2023-12-13 20:01:45: status
2023-12-20 00:56:03: add .
2023-12-20 00:56:20: commit -m imp(display): add spinners
# Helpme
helpme
uses your current repository context to suggest possible commands.
Usage
giton helpme
Output
⣷ Communicating with Open AI
+---+----------------------------------------------+
| # | Command |
+==================================================+
| 0 | git add README.md |
|---+----------------------------------------------|
| 1 | git commit -m "chore(readme): update README" |
+---+----------------------------------------------+
:: Prooced with Command(s)?: [Y/n]
# Undo
undo
uses giton
stored history to suggest a command (or set of commands) that cancels out your previous command.
Usage
giton undo
Output
⣷ Communicating with Open AI
+---+------------------------------------------+
| # | Command |
+==============================================+
| 0 | git restore --staged core/src/command.rs |
+---+------------------------------------------+
:: Prooced with Command(s)?: [Y/n]
# GPT-4 Costs
GPT-4 is not free and can actually be pricey. Only the helpme
and undo
commands make calls to GPT-4; all other commands (including git
passthrough commands) do not make calls to GPT-4.
It is hard to estimate the cost of GPT-4 calls. I recommend you frequently check the usage tab in the Open AI dashboard to get an idea of the cost; and adjust your consumption accordingly.
# Vulnerability reporting
For reporting a security vulnerability, you can directly send me an email.
# License
giton is distributed under the MIT License.
See LICENSE for details.