# 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](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 ```sh cd backend ./build.sh ./build/wizardmerge-cli ``` The backend server will start on port 8080. See [backend/README.md](backend/README.md) for details. ### Frontends Choose the frontend that best fits your workflow: #### Qt6 Desktop Application ```sh cd frontends/qt6 mkdir build && cd build cmake .. -G Ninja ninja ./wizardmerge-qt6 ``` See [frontends/qt6/README.md](frontends/qt6/README.md) for details. #### Next.js Web UI ```sh cd frontends/nextjs bun install bun run dev ``` Visit http://localhost:3000. See [frontends/nextjs/README.md](frontends/nextjs/README.md) for details. #### CLI ```sh cd frontends/cli mkdir build && cd build cmake .. -G Ninja ninja ./wizardmerge-cli-frontend --help ``` See [frontends/cli/README.md](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](docs/PAPER.md) for the complete research paper.