Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
e7db610
Add README family section template helpers
pboling May 14, 2026
12b0db9
Apply README family sections from ast-template
pboling May 14, 2026
2f20eb0
Sync README family sections across packages
pboling May 14, 2026
52abe27
Add TypeScript README style generation
pboling May 14, 2026
b280562
Add README to TypeScript template inventory
pboling May 14, 2026
18657e8
Add README family command profile
pboling May 14, 2026
c444a0a
Render README family backend matrix
pboling May 14, 2026
1a4b7df
Generate package READMEs
pboling May 14, 2026
01b2e07
Render backend compatibility reconciliation
pboling May 14, 2026
98fdd48
Render reusable README examples
pboling May 14, 2026
72cdc22
Render JSONC migration note
pboling May 14, 2026
ba8c856
Render YAML provider note
pboling May 14, 2026
3987da2
Render Markdown provider note
pboling May 14, 2026
ec8dd1e
Support draft 02 compact ruleset directives
pboling May 14, 2026
22250c7
Add compact ruleset profile extraction
pboling May 14, 2026
847039f
Add normalized tree node contract
pboling May 14, 2026
5d69706
Add backend capability contract
pboling May 14, 2026
bfff40c
Add source fragment extraction contract
pboling May 14, 2026
a382924
Add parse error tolerance contract
pboling May 14, 2026
180fed1
Add progressive node metadata contract
pboling May 14, 2026
e3ac3a5
Add native parser adapter contract
pboling May 14, 2026
15ddef0
Add tree-haver profile contract
pboling May 14, 2026
1b654b3
Add ordered tree primitives contract
pboling May 14, 2026
ca87d6e
Add generic merge IR contract
pboling May 14, 2026
ea83bd1
Add pairwise matching contract
pboling May 14, 2026
d918034
Add class mapping contract
pboling May 14, 2026
cf12482
Add PCS change-set contract
pboling May 14, 2026
b2644c7
Add raw merge union contract
pboling May 14, 2026
b303806
Add inconsistency detection contract
pboling May 14, 2026
c8e5f4a
Add merge IR comparison contract
pboling May 14, 2026
0ca1cbc
Add structural matching baseline contract
pboling May 15, 2026
b136125
Add signature matching commutative parent contract
pboling May 15, 2026
c728257
Add source text normalized matching contract
pboling May 15, 2026
a63cc6f
Add move detection opt-in contract
pboling May 15, 2026
29976a8
Add rename-aware matching gated contract
pboling May 15, 2026
6ab6123
Add ambiguity diagnostics contract
pboling May 15, 2026
d28d718
Add duplicate signature tie-break contract
pboling May 15, 2026
3368938
Add matching debug artifacts contract
pboling May 15, 2026
807f934
Add fallback scopes contract
pboling May 15, 2026
b3193f8
Add conflict categories contract
pboling May 15, 2026
6c7bf24
Add local line fallback contract
pboling May 15, 2026
e972e2d
Add conflict marker rendering contract
pboling May 15, 2026
a43f36f
Add typed conflict handler contract
pboling May 15, 2026
988a640
Add generic conflict handler execution
pboling May 15, 2026
c3b46da
Add language profile handler registration contract
pboling May 15, 2026
2370baa
Add fallback usage machine output contract
pboling May 15, 2026
8a6fe22
Add render strategy metadata contract
pboling May 15, 2026
f29fadc
Add reparse after render contract
pboling May 15, 2026
2ce2ea7
Add formatting preservation metrics contract
pboling May 15, 2026
daa2cb1
Add formatting recommendation gate contract
pboling May 15, 2026
6a251ed
Add formatting hard gates contract
pboling May 15, 2026
8d46d4f
Add secondary formatting metrics contract
pboling May 15, 2026
1b3fa94
Add token span preservation metrics contract
pboling May 15, 2026
1de28b5
Add formatting edge fixture contract
pboling May 15, 2026
5fd1e5d
Add unsafe render fallback contract
pboling May 15, 2026
f45752a
Add native provider metadata contracts
pboling May 15, 2026
b37ac9c
Add host language native provider contracts
pboling May 15, 2026
6818a74
Add Go native proving ground contract
pboling May 15, 2026
ed835c9
Add go-dst provider stack contract
pboling May 15, 2026
9f59a3a
Add Go provider comparison contract
pboling May 15, 2026
2c1ef04
Add backend parity fixture contract
pboling May 15, 2026
3af2084
Add provider richness projection contract
pboling May 15, 2026
1bf0fc5
Add backend gap conformance contract
pboling May 15, 2026
0a74346
Add false textual conflict fixture contract
pboling May 15, 2026
88089d8
Add git driver smoke fixture contract
pboling May 15, 2026
1081c3f
Add diff driver smoke fixture contract
pboling May 15, 2026
843babf
Add performance guardrails contract
pboling May 15, 2026
7ab65f9
Add profile conformance report contract
pboling May 15, 2026
8bf222c
Add merge engine suite setting contract
pboling May 15, 2026
713604b
Evaluate merge IR change sets behind engine flag
pboling May 15, 2026
a7863e9
Add smorg-ts git command surface
pboling May 15, 2026
639b55c
Document smorg-ts symlink guidance
pboling May 15, 2026
2c2033f
Add language backend profile schema
pboling May 15, 2026
4780a97
Validate language backend profiles
pboling May 15, 2026
4e7cb6e
Expose active profile reporting contracts
pboling May 15, 2026
f51fa2b
Add profile promotion reporting contracts
pboling May 15, 2026
411ddd9
Add profile promotion policy contracts
pboling May 15, 2026
c3ebc26
Evaluate profile promotion policies
pboling May 15, 2026
2dbaf5f
Use canonical promotion policy profile ids
pboling May 15, 2026
aadec88
Expose canonical promotion profile ids
pboling May 15, 2026
50f5afa
Expose initial profile promotion policy
pboling May 15, 2026
6126ea7
Add profile selection enforcement contract
pboling May 15, 2026
cd644a7
Expose profile promotion transport fields
pboling May 15, 2026
4920679
Add profile promotion CLI flags
pboling May 15, 2026
9f47943
Support profile promotion git attributes
pboling May 15, 2026
fd2f2c8
Add ast-crispr package scaffold
pboling May 15, 2026
f444900
Add ast-crispr limit helpers
pboling May 15, 2026
db38552
Add ast-crispr match profile helpers
pboling May 15, 2026
6a585cc
Add ast-crispr selection profile helpers
pboling May 15, 2026
c304205
Add ast-crispr destination profile helpers
pboling May 15, 2026
6e5b1e7
Add ast-crispr operation profile helpers
pboling May 15, 2026
b1cff16
Add ast-crispr operation helpers
pboling May 15, 2026
a0ae509
Add ast-crispr batch operation helpers
pboling May 15, 2026
fbfaec1
Add tree-haver edit projection support
pboling May 15, 2026
dce3e9b
Add tree-haver path validation
pboling May 15, 2026
4d45a5e
Add tree-haver backend availability reports
pboling May 15, 2026
567274f
Add tree-haver provider diagnostics reports
pboling May 15, 2026
8505334
Add tree-haver edit projection execution contracts
pboling May 15, 2026
1a4ad73
Add insert-child edit projection contract fixture
pboling May 15, 2026
2364f53
Add delete-node edit projection contract fixture
pboling May 16, 2026
4e34ca3
Add go-parser edit projection contract fixture
pboling May 16, 2026
c412597
Add edit projection provider operation matrix
pboling May 16, 2026
c83e8aa
Add go-parser insert child edit projection contract fixture
pboling May 16, 2026
b63dca5
Add go-parser delete node edit projection contract fixture
pboling May 16, 2026
06ea243
Add TypeScript ast merge git merge3
pboling May 17, 2026
ba15b4a
Add TypeScript git driver JSON integration test
pboling May 17, 2026
0e604d5
Clarify merge driver semantic coverage
pboling May 17, 2026
9e76a19
Write conflicted merge output in smorg-ts
pboling May 17, 2026
7a6c70f
Write full-file fallback conflicts in smorg-ts
pboling May 17, 2026
9f372ea
Exercise fallback fixture in smorg-ts
pboling May 17, 2026
d54ca37
Port comment trivia attachment contract to TypeScript
pboling May 17, 2026
b22e0b9
Conform to merge result decision fixture
pboling May 17, 2026
f0886d5
Conform to freeze directive execution fixture
pboling May 18, 2026
66cd51b
Add git comment delta primitive
pboling May 18, 2026
b72da66
Report merge3 render identity
pboling May 18, 2026
80475c5
Assert merge3 formatting preservation reports
pboling May 18, 2026
55bf6d5
Report merge3 secondary formatting metrics
pboling May 18, 2026
c0a5040
Report merge3 default driver evaluation
pboling May 18, 2026
e2e547e
Report smorg-ts fallback use
pboling May 18, 2026
2d9b138
Assert smorg-ts fallback stderr stays concise
pboling May 18, 2026
0e7de28
Report JSON owned regions in TypeScript
pboling May 18, 2026
546d48e
Report smorg-ts owned regions
pboling May 18, 2026
3076ef6
Render TypeScript JSON owned-region conflicts
pboling May 18, 2026
d1c4f6f
Fail closed for unsafe TypeScript JSON regions
pboling May 18, 2026
6420a3c
Report smorg-ts active profile
pboling May 18, 2026
91a47a2
Report smorg-ts merge3 gate metrics
pboling May 18, 2026
91cbed8
Assert smorg-ts fallback report fields
pboling May 18, 2026
3b0aca0
Classify JSON merge3 changes in TypeScript
pboling May 18, 2026
3bfe039
Report smorg-ts change classifications
pboling May 18, 2026
8a53d09
Pass smorg-ts fallback policy to merge3
pboling May 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,36 @@ pnpm add @structuredmerge/ast-merge @structuredmerge/json-merge

The packages are published under the `@structuredmerge` npm scope.

## Command

The TypeScript implementation ships the implementation-specific `smorg-ts`
command. Use that name in git configuration unless a package manager or local
install has provided a `smorg` symlink.

Package-manager formulas may expose the selected implementation as `smorg`.
For a local user-created symlink:

```sh
ln -s "$(command -v smorg-ts)" ~/.local/bin/smorg
```

```sh
git config merge.smorg-ts.driver 'smorg-ts merge-driver %O %A %B %P'
git config diff.smorg-ts.command 'smorg-ts diff-driver'
smorg-ts conflicts diff path/to/file-with-conflicts.go
smorg-ts languages --gitattributes
```

`merge-driver` updates Git's `%A` file by default, or writes to `--output` when
used outside git. `diff-driver` accepts both the two-argument local form and the
seven- or nine-argument forms Git passes to external diff commands.
`conflicts diff` reports conflict-marker regions in a file that already contains
Git conflict markers.

Current semantic merge-driver coverage is fixture-backed for JSON. Other
language and format paths should be treated as git-compatible command surfaces
until their `ast-merge-git` coverage is promoted.

## Packages

Core:
Expand Down
20 changes: 20 additions & 0 deletions packages/ast-crispr/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "@structuredmerge/ast-crispr",
"version": "0.2.0",
"private": false,
"type": "module",
"main": "./src/index.ts",
"author": "Peter H. Boling",
"homepage": "https://structuredmerge.org",
"repository": {
"type": "git",
"url": "git+https://github.com/structuredmerge/structuredmerge-typescript.git"
},
"bugs": {
"url": "https://github.com/structuredmerge/structuredmerge-typescript/issues"
},
"dependencies": {
"@structuredmerge/ast-merge": "workspace:*"
}
}

Loading
Loading