GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • structuredmerge
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles

This view

  • Original page
  • New address

GeezerVison is showing github.com — Structured Merge

README.md

Structured Merge

StructuredMerge logo by Aboling0, CC BY-SA 4.0

Ruby Users Forum Live Chat on Discord

Structured Merge defines a common language for semantic merge rules, with implementations and fixtures across multiple languages.

  • Specification-first merge vocabulary and compatibility fixtures
  • Parser-backed template merges and git merges
  • Tooling for AST-aware templating and project maintenance
  • Find out more at StructuredMerge.org

Community And Support

We welcome implementation feedback, prior art, bug reports, and release coordination in Ruby Users Forum and Discord.

Prior/Contemporaneous Art

Things we've heard about that are similar in some ways:

  • difftastic - structural diff tool, parses with tree-sitter, compares syntax aware structure, and renders human oriented diffs. Does not generate patches, or perform merges.
  • mergiraf - syntax-aware git merge driver implemented in Rust. Uses tree-sitter, and implements a fine-grained, 3DM-inspired, 3-way merge.
  • spork - AST-based merges in Java, based on the research paper arXiv-2202.05329v1. 3DM-derived merge over PCS/change-set structures, with custom conflict handling, formatting-aware printing, and git compatibility mode.
  • weave - entity-level semantic merge driver implemented in Rust, based on tree-sitter, which falls back to line-merge within multi-line entity spans.

Financial Support

Support StructuredMerge through Open Collective, GitHub Sponsors, or Liberapay.

Projects

Project Description Downloads Current CI Funding
structuredmerge-go Go implementation of the Structured Merge rules contract. - Current Open Collective / GitHub Sponsors / Liberapay
structuredmerge-ruby Ruby implementation and gem workspace. - Current Open Collective / GitHub Sponsors / Liberapay
structuredmerge-rust Rust implementation of the Structured Merge rules contract. - Current Open Collective / GitHub Sponsors / Liberapay
structuredmerge-typescript TypeScript implementation of the Structured Merge rules contract. - Current Open Collective / GitHub Sponsors / Liberapay
structuredmerge-spec Merge rules draft and shared specification material. - Current Open Collective / GitHub Sponsors / Liberapay
structuredmerge-fixtures Cross-implementation fixture corpus. - Current Open Collective / GitHub Sponsors / Liberapay
ast-crispr AST-aware structural editing primitives. ast-crispr Current Open Collective / GitHub Sponsors / Liberapay
ast-merge Structural merge tools for AST-backed documents. ast-merge Current Open Collective / GitHub Sponsors / Liberapay
tree_haver Tree and node helper APIs for structured documents. tree_haver Current Open Collective / GitHub Sponsors / Liberapay
smorg-rb Ruby CLI and orchestration helpers for Structured Merge. smorg-rb Current Open Collective / GitHub Sponsors / Liberapay
kettle-jem Template and maintenance engine for Ruby gem workspaces. kettle-jem Current Open Collective / GitHub Sponsors / Liberapay

Contribution Guidelines

  • ILO Fundamental Principles
  • Contributor Covenant

This project is dual-licensed under AGPL-3.0-only and PolyForm-Small-Business-1.0.0, so pick whichever suits you best, or contact [email protected] to request a license exception.

Pinned Loading

  1. structuredmerge-fixtures structuredmerge-fixtures Public

    Shared StructuredMerge conformance fixtures for peer language implementations

    Python 1

  2. structuredmerge-go structuredmerge-go Public

    Go implementation of the StructuredMerge contract

    Go 1

  3. structuredmerge-rust structuredmerge-rust Public

    Rust implementation of the StructuredMerge contract

    Rust 1

  4. structuredmerge-typescript structuredmerge-typescript Public

    TypeScript implementation of the StructuredMerge contract

    TypeScript 1

  5. structuredmerge-ruby structuredmerge-ruby Public

    ☯️ Ruby implementation of the StructuredMerge contract

    HTML 20 1

  6. structuredmerge-spec structuredmerge-spec Public

    ☯️ Specifications for the StructuredMerge contract; Draft RFCs for merge ruleset vocabulary

    Python 19

Repositories

Loading
Type
Language
Sort
Showing 10 of 25 repositories
  • structuredmerge-ruby Public

    ☯️ Ruby implementation of the StructuredMerge contract

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-ruby's past year of commit activity
    HTML 20 1 5 0 Updated Nov 11, 2026
  • structuredmerge Public

    StructuredMerge core: the Rust kernel plus alef-generated bindings and packages for every supported language

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge's past year of commit activity
    Rust 3 0 4 0 Updated Nov 8, 2026
  • structuredmerge-fixtures Public

    Shared StructuredMerge conformance fixtures for peer language implementations

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-fixtures's past year of commit activity
    Python 1 0 0 0 Updated Nov 1, 2026
  • structuredmerge-rust Public

    Rust implementation of the StructuredMerge contract

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-rust's past year of commit activity
    Rust 1 0 1 0 Updated Nov 1, 2026
  • structuredmerge-go Public

    Go implementation of the StructuredMerge contract

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-go's past year of commit activity
    Go 1 0 1 0 Updated Nov 1, 2026
  • structuredmerge-typescript Public

    TypeScript implementation of the StructuredMerge contract

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-typescript's past year of commit activity
    TypeScript 1 0 1 0 Updated Nov 1, 2026
  • structuredmerge-python Public

    Python native layer for StructuredMerge: best-in-class Python parser providers and developer tooling over the StructuredMerge core

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-python's past year of commit activity
    Python 0 0 1 0 Updated Nov 1, 2026
  • structuredmerge-spec Public

    ☯️ Specifications for the StructuredMerge contract; Draft RFCs for merge ruleset vocabulary

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/structuredmerge-spec's past year of commit activity
    Python 19 0 0 0 Updated Oct 28, 2026
  • alef Public Forked from xberg-io/alef

    Generate fully-typed, lint-clean language bindings for Rust libraries across 16 languages

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/alef's past year of commit activity
    Rust 0 MIT 18 0 0 Updated Oct 27, 2026
  • tree-sitter-language-pack Public Forked from xberg-io/tree-sitter-language-pack

    Comprehensive tree-sitter grammar compilation with polyglot bindings — Rust, Python, Node.js, Go, Java, Ruby, Elixir, PHP, C#, WASM, and CLI. 305+ languages.

    Uh oh!

    There was an error while loading. Please reload this page.

    structuredmerge/tree-sitter-language-pack's past year of commit activity
    Rust 0 MIT 73 0 0 Updated Oct 18, 2026
View all repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Uh oh!

There was an error while loading. Please reload this page.

Most used topics

Loading…

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.