GitPilot Documentation

Visual Git workflow management and execution platform.

What is GitPilot?

GitPilot transforms complex, multi-step Git operations into a visual drag-and-drop interface. Place branch nodes on a canvas, connect them with operations (merge, rebase, push, pull, etc.), preview every command before it runs, and execute the whole workflow in real-time with live terminal feedback.

Visual Drag-and-Drop

Design branch networks and connect operations on an interactive canvas.

Real-time Execution

Live terminal logs, progress tracking, and instant feedback.

Risk Analysis

Dry-run preview with risk ratings before anything runs.

Smart Dependencies

Automatic ordering with parallel execution of independent steps.

Try the Playground

GitPilot Playground

Explore the workflow editor directly in your browser — no installation, no backend, no Git repository needed.

Open Playground

Installation

Requires Node.js v18+, npm v9+, and Git v2.25+.

Quick Install (one command)

curl -fsSL https://raw.githubusercontent.com/himalaya0035/GitPilot/main/install.sh | bash

This clones the repo, creates the env file, installs all dependencies, and tells you how to start. Or follow the manual steps below:

Manual Setup

  1. Clone the repository

    Using HTTPS:

    git clone https://github.com/himalaya0035/GitPilot.git
    cd GitPilot

    Or using SSH:

    git clone git@github.com:himalaya0035/GitPilot.git
    cd GitPilot
  2. Create the environment file
    cp backend/.env.example backend/.env

    By default GitPilot uses in-memory storage (workflows are lost on restart). To persist data, open backend/.env and set USE_MONGODB=true with your MongoDB connection string.

  3. Run the startup script

    Installs all dependencies automatically and starts both servers:

    chmod +x start-dev.sh
    ./start-dev.sh
  4. Open GitPilot at http://localhost:3000

Connecting a Repository

Click "Connect Repository" in the top bar and enter the absolute path to any Git repository on your machine. GitPilot validates the path, detects your current branch, checks for uncommitted changes, and lists all branches. Recently connected repos are saved for quick switching.

Note: GitPilot prevents connecting to its own directory as a safety measure.

Workflow Editor

The editor is a visual canvas where you place branch nodes and connect them with operation edges. Each branch is color-coded by type (production, feature, develop, release, hotfix, staging, integration) and can be configured with auto-pull/push, remote settings, and tags. Click any edge to configure the operation's options. Use the Beautify button to auto-arrange the layout.

Operations

Seven fully configurable Git operations:

OperationWhat it does
CheckoutCreate, switch, or reset branches. Force checkout supported.
MergeStandard, squash, or fast-forward merge with custom commit messages.
RebaseRebase onto another branch. Interactive and --onto supported.
PushPush to remote with standard, --force-with-lease, or --force options.
PullFetch and merge from remote. Optional --rebase mode.
Delete BranchDelete local, remote, or both. Force delete for unmerged branches.
TagCreate lightweight or annotated tags, push/delete remote tags.

Features

Preview & Risk Analysis

Run a dry-run preview before executing. Every command is shown with a risk level (low / medium / high), warnings for dangerous operations, estimated duration, and conflict predictions.

Execution Engine

Hit Run and watch a live terminal feed of every Git command. The engine resolves dependencies automatically, runs independent operations in parallel, and lets you abort at any time. Configure abort-on-error or continue-on-error per workflow.

Workflow Management

Save, load, duplicate, import/export (JSON), and search workflows. Browse execution history with full logs and timestamps. Auto-save keeps your work safe with Ctrl + S.

Architecture

React frontend communicating with a Node.js/Express backend over REST and WebSockets (Socket.IO).

Browser (React + React Flow) | |── REST API ──> Express Server (port 5000) | ├── Workflow CRUD | ├── Git Service (executes commands) | ├── Workflow Executor (dependency resolution) | └── Preview Service (dry-run) | └── Socket.IO ──> Real-time execution logs & progress

Frontend

React 18, React Flow, Dagre, Lucide, Socket.IO Client

Backend

Express, Socket.IO, child_process, In-memory or MongoDB storage