An AI assistant for git operations using FastMCP.
Project description
Git Flash: Barry Allen of the CLI
This tool uses FastMCP and the Google Gemini API to provide an AI-powered git assistant. It can function as an agent to execute a series of git commands based on natural language, or it can be used to simply generate a commit message for your staged changes.
Setup
-
Set Your API Key: This tool requires a Gemini API key. The first time you run it, it will prompt you to enter your key and offer to save it to
~/.config/git-flash/.env. Alternatively, you can set it as an environment variable:export GEMINI_API_KEY="your-gemini-api-key"
-
Install the Package: Navigate to the
git-flashdirectory and install it usingpip. Using the-eflag (editable mode) is recommended for development.pip install git-flash
This command installs the
git-flashcommand into your system's PATH.
Usage
You can run the assistant from within any git repository directory.
Mode 1: Agentic Flow (Natural Language)
Provide an instruction in plain English, and the agent will determine the necessary git commands and execute them one by one.
Examples:
# Create a new branch and switch to it
git flash "create a new feature branch called 'login-flow' and check it out"
# Stash changes, switch branches, and pop the stash
git flash "stash my current work, switch to the 'main' branch, and then apply my stash"
# List all branches, local and remote
git flash "show me all the branches"
# File and directory creation/deletion
git flash "create a file named 'docs/plan.md' and write a to-do list for the new feature"
# File and directory manipulation
git flash "reorganize files as production"
Mode 2: Manual Commit Message
If you know what you want to commit, use the -m or --message option. This will stage all current changes and commit with your message.
git flash -m "feat: add user authentication endpoint"
Dry Run
For any of the modes, you can add the --dry-run flag to see what commands the agent would run without actually executing them. This is great for safety and testing.
git flash "create a hotfix branch and merge it into main" --dry-run
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_flash-0.2.4.tar.gz.
File metadata
- Download URL: git_flash-0.2.4.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08e6299604ac478ff582981c00c241206065559ecbf47e2d023de9d5250f0d79
|
|
| MD5 |
b00b44d4379f438271daecf29a71f24f
|
|
| BLAKE2b-256 |
c74ab5ba7accdae8fd92aee244e5dd24c74c8830763d4cc22cb890f86c5607fe
|
File details
Details for the file git_flash-0.2.4-py3-none-any.whl.
File metadata
- Download URL: git_flash-0.2.4-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
176f9de86999a1d653a5fe30ea0c3e12d966a75dfbc6a3bcf07b51d422182c5a
|
|
| MD5 |
1a396917b72726103c87fff61842b90a
|
|
| BLAKE2b-256 |
2aba54a75587f781ccfb4306ff01404e3709efa241fdcb4d4f8d81edfe245963
|