3 unstable releases

0.1.0 Feb 6, 2024
0.0.1 Dec 23, 2023
0.0.1-beta.1 Dec 1, 2023

#51 in Machine learning

Download history 3/week @ 2024-01-31 1/week @ 2024-02-07 2/week @ 2024-02-14 22/week @ 2024-02-21 23/week @ 2024-02-28 21/week @ 2024-03-27 47/week @ 2024-04-03

68 downloads per month

MIT license

61KB
672 lines

giton

AI augmentation for Git

Build Tests Crates.io MIT License

giton is an AI augmentation program for git. It uses OpenAI GPT-4, and your local git context to make command suggestions. giton is a passthrough for git commands, so you can already use it as a replacement for git.

Table of Contents

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.

Dependencies

~21–38MB
~625K SLoC