{"slug": "mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains", "title": "MergeForge: Resolve Git Conflicts in VS Code or Cursor Like in JetBrains", "summary": "MergeForge, an open-source VS Code and Cursor extension, brings a JetBrains-style three-pane conflict resolver to the editors, paired with an AI assistant that reads the repository context before suggesting fixes. Built by developer Ognjen Marcheta, the tool aims to match git byte-for-byte on clean merges and includes features like word-level diffs, authorship signals, and a replay eval for AI regression testing.", "body_md": "Tired of squinting at VS Code’s stacked merge editor?\n\n** MergeForge** brings a JetBrains-style three-pane conflict resolver to VS Code and Cursor — and pairs it with an AI assistant that actually reads your repository before it suggests a fix.\n\nWe’ve all been there.\n\nYou’re halfway through a rebase. Git stops. Twelve files are conflicted. You open one in VS Code… and get that familiar stacked layout: Incoming, Current, and a result pane that somehow still feels like a puzzle with half the pieces missing.\n\nIf you ever used WebStorm or IntelliJ, you know how good merge tools *can* feel:\n\nIn VS Code land, that flow never quite arrived. You click Accept Current, Accept Incoming, Accept Both, and hope nothing important got flattened. Word-level diffs? Authorship? A clear “who wrote this chunk?” signal? Often missing when you need them most.\n\nAnd when AI entered the chat, a lot of tools treated conflicts like isolated text blobs:\n\n“Here are the\n\n`<<<<<<<`\n\nmarkers. Good luck.”\n\nBut real merges need context. What was the branch trying to do? What does the surrounding file look like? Who touched this last? Without that, “AI resolve” is just confident guessing.\n\nI wanted the JetBrains merge experience — inside VS Code and Cursor — with an assistant that behaves more like a careful teammate than a slot machine.\n\nSo I built it.\n\n** MergeForge** is an open-source VS Code / Cursor extension that turns conflicted files into a proper three-pane visual merge.\n\nLayout:\n\n| Left | Center | Right |\n|---|---|---|\nYours (local) |\nResult (editable, seeded from the merge base) |\nTheirs (incoming) |\n\nPanes scroll together. Chunks connect with bands. Gutter controls let you accept, ignore, or blend sides without fighting the UI. When you’re done, **Apply** writes the result and stages it with git.\n\nIf you prefer Cursor, you’re covered too. The editor works the same; for AI features you plug in your own provider key (Cursor doesn’t expose its built-in models to extensions).\n\nInstall it from the marketplace or Open VSX:\n\n```\n# VS Code Marketplace\n# https://marketplace.visualstudio.com/items?itemName=byte-forge.merge-forge\n\n# Open VSX (Cursor / VSCodium-friendly)\n# https://open-vsx.org/extension/byte-forge/merge-forge\n```\n\nOr search **“MergeForge”** in the Extensions view.\n\nThen, on a conflicted file:\n\nYour version, the editable result, and theirs — side by side, scroll-synced, with `»`\n\n/ `«`\n\naccept, `×`\n\nignore, connector bands, word-level diffs, and full Cmd/Ctrl+Z undo.\n\nHandy extras:\n\nExplain conflicts, resolve them into the result pane, or **Fix all** (safe mechanical merges first, model only on the red chunks). The model can use read-only tools — open files, search code, inspect history, look up symbols — and you see live `⚙`\n\nactivity so nothing is a black box.\n\nWorks with:\n\nKeys live in VS Code secret storage. Nothing hits git until you hit **Apply**. Unhappy with an AI edit? Undo that chunk like any other change.\n\nEvery conflict side can show who last shaped it (GitHub avatars when available, offline-safe initials otherwise). Flip to a two-lane **history timeline** of the commits that produced the merge. Around the editor: a Conflicts dialog with progress, status-bar merge cluster, next-file loop after Apply, crash-safety snapshots, and correct left/right mapping during rebases and cherry-picks.\n\nMergeForge is TypeScript end to end:\n\n`git merge-file`\n\noutputThe correctness bar matters: where git merges cleanly, MergeForge aims to match git **byte for byte**. There’s also a replay eval for the AI pipeline so prompt changes can be regression-checked against real historical merges.\n\n```\ngit clone https://github.com/ognjenmarcheta/merge-forge.git\ncd merge-forge\npnpm install\npnpm test\npnpm run watch   # then F5 to launch the Extension Development Host\n```\n\nMergeForge is **MIT-licensed** and fully open source.\n\nRepo: [github.com/ognjenmarcheta/merge-forge](https://github.com/ognjenmarcheta/merge-forge)\n\nIf it saves you even one painful rebase:\n\nFirst-time contributors: the README has a harness (`dev/harness.html`\n\n) so you can poke the UI in a browser without launching a full extension host. There’s also a script that spins up throwaway conflicted repos for every conflict shape.\n\n```\nnode scripts/make-conflict-repo.mjs\nnode scripts/make-conflict-repo.mjs --rebase\n```\n\n| Link | For |\n|---|---|\n|\n\nNext time git yells `CONFLICT (content)`\n\n, open the file and forge the branches back into one piece.\n\nWhat’s the *worst* merge conflict you’ve ever had to untangle — and what should MergeForge add next: better multi-file orchestration, more keyboard power-user flows, or deeper AI “why did this conflict?” narratives?\n\nDrop a comment. I read them all.", "url": "https://wpnews.pro/news/mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains", "canonical_source": "https://dev.to/ognjenmarcheta/mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains-3oj1", "published_at": "2026-07-22 21:47:48+00:00", "updated_at": "2026-07-22 22:00:59.874687+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence"], "entities": ["MergeForge", "VS Code", "Cursor", "JetBrains", "Ognjen Marcheta", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains", "markdown": "https://wpnews.pro/news/mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains.md", "text": "https://wpnews.pro/news/mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains.txt", "jsonld": "https://wpnews.pro/news/mergeforge-resolve-git-conflicts-in-vs-code-or-cursor-like-in-jetbrains.jsonld"}}