Files
WizardMerge/README.md
2025-12-26 04:10:33 +00:00

2.8 KiB

WizardMerge

Intelligent Merge Conflict Resolution

SEE ALSO: https://github.com/JohnDoe6345789/mergebot

WizardMerge is a powerful tool for resolving merge conflicts using intelligent algorithms based on research from The University of Hong Kong. It combines dependency analysis at both text and LLVM-IR levels to provide smart merge suggestions.

Architecture

WizardMerge uses a multi-frontend architecture with a high-performance C++ backend and multiple frontend options:

Backend (C++)

  • Location: backend/
  • Build System: CMake + Ninja
  • Package Manager: Conan
  • Web Framework: Drogon
  • Features: Three-way merge algorithm, conflict detection, auto-resolution, HTTP API

Frontends

WizardMerge provides three frontend options to suit different workflows:

Qt6 Native Desktop (C++)

  • Location: frontends/qt6/
  • Framework: Qt6 with QML
  • Features: Native desktop application, offline capability, high performance
  • Platforms: Linux, Windows, macOS

Next.js Web UI (TypeScript)

  • Location: frontends/nextjs/
  • Runtime: bun
  • Framework: Next.js 14
  • Features: Web-based UI, real-time collaboration, cross-platform access

CLI (C++)

  • Location: frontends/cli/
  • Features: Command-line interface, automation support, scripting integration
  • Use Cases: Batch processing, CI/CD pipelines, terminal workflows

Roadmap

See ROADMAP.md for our vision and development plan. The roadmap covers:

  • Enhanced merge algorithms (three-way merge, conflict detection) ✓
  • Smart semantic merging for different file types
  • Advanced visualization and UI improvements
  • Git workflow integration
  • AI-assisted conflict resolution

Getting Started

C++ Backend

cd backend
./build.sh
./build/wizardmerge-cli

The backend server will start on port 8080. See backend/README.md for details.

Frontends

Choose the frontend that best fits your workflow:

Qt6 Desktop Application

cd frontends/qt6
mkdir build && cd build
cmake .. -G Ninja
ninja
./wizardmerge-qt6

See frontends/qt6/README.md for details.

Next.js Web UI

cd frontends/nextjs
bun install
bun run dev

Visit http://localhost:3000. See frontends/nextjs/README.md for details.

CLI

cd frontends/cli
mkdir build && cd build
cmake .. -G Ninja
ninja
./wizardmerge-cli-frontend --help

See frontends/cli/README.md for details.

Research Foundation

WizardMerge is based on research from The University of Hong Kong achieving:

  • 28.85% reduction in conflict resolution time
  • Merge suggestions for over 70% of code blocks affected by conflicts
  • Dependency analysis at text and LLVM-IR levels

See docs/PAPER.md for the complete research paper.