mirror of
https://github.com/johndoe6345789/WizardMerge.git
synced 2026-04-24 13:44:55 +00:00
107 lines
2.8 KiB
Markdown
107 lines
2.8 KiB
Markdown
# 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.
|