Semamerge
@vineethwilson15
MCP server that detects semantic (non-textual) merge conflicts between Git branches using AST-level analysis. Catches incompatible changes that Git merges cleanly but break at runtime — like signature changes, removed exports, interface breaks, and cross-file dependency conflicts
Overview
What is Semamerge?
Semamerge is a tool that detects semantic merge conflicts across branches, including type signature changes, removed exports, parameter changes, interface breaks, enum/constant changes, and cross-file dependency breaks. It is aimed at developers who want to identify breaking changes before merging branches.
How to use Semamerge?
Install with npm install -g semamerge. Use the provided CLI tools: check_merge_safety for a quick risk score, analyze_branches for deep per-file analysis, list_semantic_changes to list all semantic changes on a branch, and analyze_file_pair for a single-file deep dive between two branches.
Key features of Semamerge
- Detects type signature changes between branches
- Identifies removed or renamed exports
- Catches parameter changes in function calls
- Flags interface/contract breaks
- Alerts on enum/constant member changes
- Detects cross-file import/export dependency breaks
Use cases of Semamerge
- Pre-merge safety check before integrating feature branches
- Reviewing all semantic changes on a branch before review
- Deep-diving into a specific file’s conflict between two branches
- Analyzing cross-file dependency breaks that standard diff tools miss