@zerwiz/ymir 0.1.0 → 0.1.1
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 +68 -22
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,41 +1,87 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @zerwiz/ymir
|
|
2
2
|
|
|
3
|
-
The
|
|
4
|
-
|
|
3
|
+
> **The front door to Ymir** — a local, self-hosted, multi-agent AI runtime.
|
|
4
|
+
> One command to stand it up on your own machine.
|
|
5
5
|
|
|
6
6
|
```bash
|
|
7
7
|
# curl
|
|
8
|
-
curl -fsSL https://
|
|
8
|
+
curl -fsSL https://raw.githubusercontent.com/zerwiz/ymir-release/main/install.sh | bash
|
|
9
9
|
|
|
10
10
|
# npm
|
|
11
|
-
npx ymir
|
|
11
|
+
npx @zerwiz/ymir
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Both
|
|
15
|
-
|
|
14
|
+
Both do the same thing: fetch the Ymir distro, then run its installer — which
|
|
15
|
+
provisions, self-heals, and **validates** what it claims is running.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## What is Ymir?
|
|
20
|
+
|
|
21
|
+
A **brutal multi-agent AI runtime** where autonomous smiths forge code inside
|
|
22
|
+
sealed sandboxes and persistent vector-memory wells. It is one program, carved
|
|
23
|
+
into realms: a fleet of named agents, isolated git worktrees, an append-only
|
|
24
|
+
audit ledger, and an anti-hallucination gate — all on hardware you own.
|
|
25
|
+
|
|
26
|
+
Norse myth is **structural allegory**, not decoration. Every name explains a job:
|
|
27
|
+
|
|
28
|
+
| Name | What it is |
|
|
29
|
+
|---|---|
|
|
30
|
+
| **Ymir** | the substrate — one program, one machine, all realms carved from it |
|
|
31
|
+
| **Brokk** | the primary agent — the bellows that drives the forge |
|
|
32
|
+
| **Eindri** | isolated worker agents — smiths in sealed sandboxes |
|
|
33
|
+
| **Utgard** | the sandbox — untrusted code runs there, never in the halls |
|
|
34
|
+
| **Yggdrasil** | git worktrees — parallel branches, zero collision |
|
|
35
|
+
| **Mimirsbrunn** | the memory well — vector + full-text + local embeddings |
|
|
36
|
+
| **Ratatoskr** | the message bus — the agent-to-agent backbone (A2A 1.0) |
|
|
37
|
+
| **Runes** | the append-only audit ledger — a rune once carved is never un-carved |
|
|
38
|
+
| **Hlidskjalf** | the control plane — the high seat that sees every realm |
|
|
39
|
+
| **Sessrúmnir** | the seat-hall — where you converse with the fleet |
|
|
40
|
+
|
|
41
|
+
## Install
|
|
18
42
|
|
|
19
43
|
```
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
3. the installer is idempotent: it asks before it writes, self-heals what it can,
|
|
23
|
-
and reports honestly what it cannot
|
|
44
|
+
Requirements: git · curl · node ≥ 18 (for the npm route) · bun/docker (the
|
|
45
|
+
installer provisions what it can, and reports honestly what it cannot)
|
|
24
46
|
```
|
|
25
47
|
|
|
26
|
-
## Environment
|
|
27
|
-
|
|
28
48
|
```
|
|
29
|
-
YMIR_HOME where the distro lives
|
|
30
|
-
YMIR_REPO the distro git remote
|
|
31
|
-
YMIR_BRANCH the branch to track
|
|
49
|
+
YMIR_HOME where the distro lives (default ~/.ymir)
|
|
50
|
+
YMIR_REPO the distro git remote (default https://github.com/zerwiz/ymir.git)
|
|
51
|
+
YMIR_BRANCH the branch to track (default main)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Run it non-interactively, or just ask what it would do:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx @zerwiz/ymir --check # report only — no writes, no prompt
|
|
58
|
+
npx @zerwiz/ymir --yes # non-interactive
|
|
32
59
|
```
|
|
33
60
|
|
|
34
|
-
|
|
61
|
+
The installer is **idempotent**: run it again and it heals forward rather than
|
|
62
|
+
duplicating. It asks before it writes and validates at the end.
|
|
63
|
+
|
|
64
|
+
## It is early
|
|
65
|
+
|
|
66
|
+
Ymir is in **alpha**. The forge is hot and the anvil works, but expect rough
|
|
67
|
+
edges — and do not run it as a public service yet (auth hardens with Heimdall).
|
|
68
|
+
|
|
69
|
+
## This package
|
|
70
|
+
|
|
71
|
+
This npm package is only the **bootstrap** — `install.sh` plus a thin
|
|
72
|
+
`ymir` bin. The system itself lives in the distro repo. This package carries no
|
|
73
|
+
secrets and no private material.
|
|
74
|
+
|
|
75
|
+
## Open source, with gratitude
|
|
76
|
+
|
|
77
|
+
Ymir is **Apache-2.0**. It is a Norse shell over other people's excellent work —
|
|
78
|
+
we did not build the engines, we built the hall around them, and we name them
|
|
79
|
+
proudly: **treehouse · sandcastle · no-mistakes · pi · oh-my-pi · hermes-agent ·
|
|
80
|
+
pi-desktop · A2A**, and the kunchenguid family (**firstmate · axi · lavish-axi**).
|
|
35
81
|
|
|
36
|
-
|
|
37
|
-
system itself lives in [`zerwiz/ymir`](https://github.com/zerwiz/ymir).
|
|
82
|
+
Their licences are honoured in full in `NOTICE` and `THIRD-PARTY-LICENSES`.
|
|
38
83
|
|
|
39
|
-
|
|
84
|
+
---
|
|
40
85
|
|
|
41
|
-
|
|
86
|
+
<p align="center"><em>Hammered steel, raw iron, and obsidian runes.
|
|
87
|
+
Step up to the forge and carve your own worlds from Ymir's frame.</em></p>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerwiz/ymir",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Ymir
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Ymir — the official local installer (curl | bash, or npx ymir)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"ymir": "bin/ymir.js"
|