@git-stunts/git-warp 10.1.2 → 10.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -3
- package/bin/warp-graph.js +967 -14
- package/package.json +7 -2
- package/src/domain/WarpGraph.js +232 -1
- package/src/domain/utils/RefLayout.js +87 -15
- package/src/domain/utils/parseCursorBlob.js +51 -0
- package/src/visualization/layouts/elkAdapter.js +7 -7
- package/src/visualization/renderers/ascii/graph.js +30 -15
- package/src/visualization/renderers/ascii/history.js +2 -65
- package/src/visualization/renderers/ascii/index.js +1 -1
- package/src/visualization/renderers/ascii/opSummary.js +73 -0
- package/src/visualization/renderers/ascii/seek.js +330 -0
package/README.md
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
5
5
|
[](https://www.npmjs.com/package/@git-stunts/git-warp)
|
|
6
6
|
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="hero.gif" alt="git-warp CLI demo" width="600">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
7
11
|
A multi-writer graph database that uses Git commits as its storage substrate. Graph state is stored as commits pointing to the empty tree (`4b825dc...`), making the data invisible to normal Git workflows while inheriting Git's content-addressing, cryptographic integrity, and distributed replication.
|
|
8
12
|
|
|
9
13
|
Writers collaborate without coordination using CRDTs (OR-Set for nodes/edges, LWW registers for properties). Every writer maintains an independent patch chain; materialization deterministically merges all writers into a single consistent view.
|
|
@@ -403,12 +407,26 @@ git warp history --writer alice
|
|
|
403
407
|
# Check graph health, status, and GC metrics
|
|
404
408
|
git warp check
|
|
405
409
|
|
|
410
|
+
# Time-travel: step through graph history
|
|
411
|
+
git warp seek --tick 3 # jump to Lamport tick 3
|
|
412
|
+
git warp seek --tick=+1 # step forward one tick
|
|
413
|
+
git warp seek --tick=-1 # step backward one tick
|
|
414
|
+
git warp seek --save before-refactor # bookmark current position
|
|
415
|
+
git warp seek --load before-refactor # restore bookmark
|
|
416
|
+
git warp seek --latest # return to present
|
|
417
|
+
|
|
406
418
|
# Visualize query results (ascii output by default)
|
|
407
419
|
git warp query --match 'user:*' --outgoing manages --view
|
|
408
420
|
```
|
|
409
421
|
|
|
410
422
|
All commands accept `--repo <path>` to target a specific Git repository, `--json` for machine-readable output, and `--view [mode]` for visual output (ascii by default, or browser, svg:FILE, html:FILE).
|
|
411
423
|
|
|
424
|
+
When a seek cursor is active, `query`, `info`, `materialize`, and `history` automatically show state at the selected tick.
|
|
425
|
+
|
|
426
|
+
<p align="center">
|
|
427
|
+
<img src="docs/seek-demo.gif" alt="git warp seek time-travel demo" width="600">
|
|
428
|
+
</p>
|
|
429
|
+
|
|
412
430
|
## Architecture
|
|
413
431
|
|
|
414
432
|
The codebase follows hexagonal architecture with ports and adapters:
|
|
@@ -459,10 +477,16 @@ The codebase follows hexagonal architecture with ports and adapters:
|
|
|
459
477
|
## Testing
|
|
460
478
|
|
|
461
479
|
```bash
|
|
462
|
-
npm test # unit tests (vitest)
|
|
480
|
+
npm test # unit tests (vitest, Docker)
|
|
481
|
+
npm run test:local # unit tests without Docker
|
|
463
482
|
npm run lint # eslint
|
|
464
|
-
|
|
465
|
-
|
|
483
|
+
|
|
484
|
+
# Multi-runtime test matrix (Docker)
|
|
485
|
+
npm run test:node22 # Node 22: unit + integration + BATS CLI
|
|
486
|
+
npm run test:node20 # Node 20: unit + integration + BATS CLI
|
|
487
|
+
npm run test:bun # Bun: API integration tests
|
|
488
|
+
npm run test:deno # Deno: API integration tests
|
|
489
|
+
npm run test:matrix # All four runtimes in parallel
|
|
466
490
|
```
|
|
467
491
|
|
|
468
492
|
## AIΩN Foundations Series
|