GIT Pilot
Provides a comprehensive API wrapper for GitHub operations through a FastMCP-based server, simplifying repository management, pull requests, issues, and other GitHub interactions with secure authentication.
Provides a comprehensive API wrapper for GitHub operations through a FastMCP-based server, simplifying repository management, pull requests, issues, and other GitHub interactions with secure authentication.
GIT-Pilot is a powerful GitHub automation and management tool that provides a comprehensive API wrapper for GitHub operations. It simplifies GitHub interactions through a FastMCP-based server, making it easy to manage repositories, pull requests, issues, and more.
Clone the repository:
git clone https://github.com/yourusername/GIT-Pilot.git
cd GIT-Pilot
Install uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh
Create and activate a virtual environment:
uv venv
source .venv/bin/activate # On Windows: .venvScriptsactivate
Install the package using uv:
uv pip install -e .
Set up environment variables:
Create a .env
file in the project root:
GITHUB_TOKEN=your_github_token_here
# Create a repository
await call_tool("create_repository",
name="my-repo",
description="My awesome repository",
private=True,
has_issues=True,
has_wiki=True,
has_projects=True,
auto_init=True
)
# Create a pull request
await call_tool("create_pull_request",
repo_path="owner/repo",
title="New feature",
head="feature-branch",
base="main",
body="Description of changes",
draft=False
)
# List commits with filtering
await call_tool("list_commits",
repo_path="owner/repo",
branch="main",
author="username",
since="2024-01-01",
until="2024-04-21",
max_results=30
)
The service can be configured through the Config
class:
@dataclass
class Config:
TOKEN_TTL_HOURS: int = 24
MAX_STORED_TOKENS: int = 1000
CLEANUP_INTERVAL_SECONDS: int = 3600
MAX_RETRIES: int = 3
RETRY_DELAY_SECONDS: int = 5
MAX_RESULTS_PER_PAGE: int = 100
ENCRYPTION_KEY: bytes = Fernet.generate_key()
The service includes built-in rate limit handling: - Automatic retry on rate limit - Configurable retry attempts - Delay between retries - Rate limit status logging - Exponential backoff
Comprehensive error handling for: - Authentication failures - API errors - Rate limits - Invalid inputs - Resource conflicts - Network issues - Token validation - File operations
Detailed logging with: - Timestamp - Log level - Function name - Line number - Error details - Stack traces - Rate limit information - Token operations
We welcome contributions! Please follow these steps:
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Stay updated with the latest changes: - Follow our release notes - Subscribe to our newsletter - Star the repository for updates
Made with ❤️ by the GIT-Pilot team