Skip to main content

Production-ready agentic AI assistant for GitHub repositories with multi-LLM support and visual workflow insights

Project description

GitPilot

GitPilot

Your AI coding companion. Ask. Plan. Code. Ship.

Version Python 3.11+ License: MIT VS Code

Get StartedVS Code ExtensionWeb AppHow It WorksContributing


What is GitPilot?

GitPilot is an AI assistant that helps you code faster. It reads your project, understands the structure, creates a plan, writes the code, and runs your tests.

Works with any language. Runs on any LLM (OpenAI, Claude, Ollama, Watsonx, OllaBridge).

You: "Add input validation to the login form"

GitPilot:
  1. Reading src/auth/login.ts...
  2. Planning 3 changes...
  3. Editing login.ts (Allow? [Yes] [No])
  4. Running npm test... 3 passed
  5. Done.

Get Started

Option 1: VS Code Extension (recommended)

Install the extension, configure your LLM, and start chatting:

1. Open VS Code
2. Install "GitPilot Workspace" from Extensions
3. Click the GitPilot icon in the sidebar
4. Choose your AI provider (OpenAI, Claude, Ollama...)
5. Start asking questions about your code

Option 2: Web App

Run the full web interface with Docker:

git clone https://github.com/ruslanmv/gitpilot.git
cd gitpilot
docker compose up

Open http://localhost:3000 in your browser.

Option 3: Python CLI

pip install gitcopilot
gitpilot serve

Open http://localhost:8000.

Note: The PyPI package is named gitcopilot, but the command-line tool is gitpilot. Requires Python 3.11 or 3.12.


VS Code Extension

The sidebar panel gives you everything in one place:

Feature What it does
Chat Ask questions, request changes, review code
Plan View See the step-by-step plan before changes are made
Diff Preview Review proposed edits in VS Code's native diff viewer
Apply / Revert One click to apply changes, one click to undo
Quick Actions Explain, Review, Fix, Generate Tests, Security Scan
Smart Commit AI-generated commit messages
Code Lens Inline "Explain / Review" hints on functions

Supported AI Providers

Provider Setup Free?
Ollama Install Ollama, run ollama pull llama3 Yes
OllaBridge Works out of the box (cloud Ollama) Yes
OpenAI Add your API key in settings Paid
Claude Add your Anthropic API key Paid
Watsonx Add IBM credentials Paid

Web App

The web interface includes:

  • Chat with real-time responses
  • GitHub integration (connect your repos)
  • File tree browser
  • Diff viewer with line-by-line changes
  • Pull request creation
  • Session history with checkpoints
  • Multi-repo support

How It Works

          You ask a question
                 |
                 v
        +--------+--------+
        |  GitPilot Server |
        |  (FastAPI + AI)  |
        +--------+--------+
                 |
     +-----------+-----------+
     |           |           |
     v           v           v
  Explore     Plan       Execute
  (read       (create     (write files,
   files,      steps,      run tests,
   git log)    diffs)      commit)

GitPilot uses a multi-agent system powered by CrewAI:

  1. Explorer reads your repo structure
  2. Planner creates a safe step-by-step plan
  3. Executor writes code and runs tests
  4. Reviewer checks the results

You approve every change before it's applied.


Project Structure

gitpilot/
  gitpilot/           Python backend (FastAPI)
  frontend/           React web app
  extensions/vscode/  VS Code extension
  docs/               Documentation and assets
  tests/              Test suite

Configuration

GitPilot works with environment variables or the settings UI.

Minimal setup (Ollama, free, local):

# .env
GITPILOT_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
GITPILOT_OLLAMA_MODEL=llama3

Cloud setup (OpenAI):

# .env
GITPILOT_PROVIDER=openai
OPENAI_API_KEY=sk-...
GITPILOT_OPENAI_MODEL=gpt-4o-mini

Cloud setup (Claude):

# .env
GITPILOT_PROVIDER=claude
ANTHROPIC_API_KEY=sk-ant-...
GITPILOT_CLAUDE_MODEL=claude-sonnet-4-5

All settings can also be changed from the VS Code extension or web UI without editing files.


API

GitPilot exposes a REST + WebSocket API:

Endpoint What it does
GET /api/status Server health check
POST /api/chat/send Send a message, get a response
POST /api/v2/chat/stream Stream agent events (SSE)
WS /ws/v2/sessions/{id} Real-time WebSocket streaming
POST /api/chat/plan Generate an execution plan
POST /api/chat/execute Execute a plan
GET /api/repos List connected repositories
GET /api/sessions List chat sessions

Full API docs at http://localhost:8000/docs (Swagger UI).


Deployment

Hugging Face Spaces

GitPilot runs on Hugging Face Spaces with OllaBridge (free):

Runtime: Docker
Port: 7860
Provider: OllaBridge (cloud Ollama)

Docker Compose

docker compose up -d
# Backend: http://localhost:8000
# Frontend: http://localhost:3000

Vercel

The frontend deploys to Vercel. Set VITE_BACKEND_URL to your backend.


Contributing

# Backend
cd gitpilot
pip install -e ".[dev]"
pytest

# Frontend
cd frontend
npm install
npm run dev

# VS Code Extension
cd extensions/vscode
npm install
make compile
# Press F5 in VS Code to launch debug host

License

MIT License. See LICENSE.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitcopilot-0.2.5.tar.gz (262.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitcopilot-0.2.5-py3-none-any.whl (223.0 kB view details)

Uploaded Python 3

File details

Details for the file gitcopilot-0.2.5.tar.gz.

File metadata

  • Download URL: gitcopilot-0.2.5.tar.gz
  • Upload date:
  • Size: 262.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitcopilot-0.2.5.tar.gz
Algorithm Hash digest
SHA256 af59d6d3454188fb42afdf67e15ae3fc955991ada522f1f34fe3c605d1f5a8d4
MD5 f81ff7d8e23481ee2b38d2184287f6fe
BLAKE2b-256 dafac93abcee7e00d82c92ab564df9e9740e24bd6a991641e594077651022c37

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitcopilot-0.2.5.tar.gz:

Publisher: release.yml on ruslanmv/gitpilot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gitcopilot-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: gitcopilot-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 223.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitcopilot-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5f2ca165771f7319278564e89cd729a4dfa22e49afd01991c0d00fa911f7e75a
MD5 010eea5f834407170997d4421f3012c3
BLAKE2b-256 75ca0822b135b549843f6443385a82e34b6c2f2ddc911d61bbc62c4007aac7f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitcopilot-0.2.5-py3-none-any.whl:

Publisher: release.yml on ruslanmv/gitpilot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page