aura-merge 0.1.0

Structured 3-way merge engine: deep-merge for JSON/YAML/TOML, line-level 3-way for text, scaffold extraction for code.
Documentation
  • Coverage
  • 37.93%
    11 out of 29 items documented0 out of 10 items with examples
  • Size
  • Source code size: 43.73 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.46 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 1m 11s Average build duration of successful builds.
  • all releases: 1m 11s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Naridon-Inc/aura-merge
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • MHASK

aura-merge

Crates.io docs.rs License: Apache-2.0

Structured 3-way merge for the files Git pretends are all the same. JSON, YAML, TOML, code scaffolds, plain text — each gets the right strategy. Pure stdlib, zero dependencies.

[dependencies]
aura-merge = "0.1"

Why

git merge-file treats every file as a wall of lines. That's fine for prose, terrible for package.json, hostile to Cargo.toml, and actively dangerous for .env. aura-merge detects the file type and runs a strategy that respects its structure:

File type Strategy
.json Key-level deep merge
.yaml, .yml Key-level deep merge
.toml Key-level deep merge
.env, .env.* Key-level merge
.md, .txt, .csv, .html, .css Line-level 3-way
.rs, .py, .ts, .js, .go, .java, … Scaffold extraction (non-function regions)
Binary, lockfiles, node_modules/ Skipped — never sync

Comparison

git merge-file aura-merge
Treats package.json as text
Conflict on reordered keys
Skips lockfiles automatically
Pure Rust, no shell-out
Zero deps

Status

  • ✅ File type detection
  • ✅ JSON deep merge
  • ✅ Text 3-way merge
  • ✅ Scaffold extraction
  • ⏳ YAML / TOML parsers (currently use generic key-level path; PRs welcome)
  • ⏳ Builder API for custom strategies

Origin

Extracted from Aura — the semantic version control engine for AI-generated code. Aura uses aura-merge to reconcile concurrent edits from multiple AI agents and human developers without manufacturing fake conflicts.

License

Apache-2.0