Back to directory

weave

An entity-level git merge driver that parses code into functions, classes, and keys with tree-sitter and merges those entities instead of lines, resolving conflicts that plain line-based git merging invents.

weave

weave replaces git's line-based three-way merge with an entity-level merge for cases such as two branches each adding a different function to the same file, which git sees as an overlapping line range and flags as a conflict even though the changes are completely independent. It parses the base, ours, and theirs versions of a file into semantic entities, functions, classes, JSON keys, and so on, using tree-sitter, matches entities across versions by name, type, and scope including renames, and then merges at the entity level: different entities changed by each side resolve automatically, the same entity changed by both sides attempts an intra-entity merge and only conflicts if truly incompatible, and one side deleting an entity the other modified is flagged as a real conflict.

It ships as a CLI and an MCP server for agent-framework integration, installable with a global or local setup, and is part of a small stack of agent-native developer tools from the same team, alongside a semantic version-control tool and a semantic code-review tool.

It is written in Rust and Apache-2.0 licensed.

More in Git

See all 52
  • gat

    github.com

    Versioned large-file storage for Git that needs no dedicated LFS server: point it at an object store such as S3 or a plain directory, then keep using ordinary Git commands.

  • Critic

    critic.run

    A code-change viewer, backed by Y Combinator, built for reviewing work written by coding agents, presenting a plain-language narrative of each change alongside the diff and a running conversation with the agent.

  • Anchorpoint for Lore

    anchorpoint.app

    A free desktop client for Epic's Lore version control system, aimed at artists and other non-programmers working on Unreal Engine and other large content-creation projects.