@marktiderman/genesis 0.4.0 → 0.4.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.
Files changed (2) hide show
  1. package/README.md +39 -0
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -81,3 +81,42 @@ A child that runs `genesis-sync.sh` during that window stamps the new harness co
81
81
  with that previous version number. Nothing is silently lost: `GENESIS_SOURCE_SHA` (git
82
82
  HEAD) is always exact and is the precise pointer; only the human-readable coordinate can
83
83
  lag by one release until the "version packages" PR merges.
84
+
85
+ ## Installing the harness alongside the umbrella
86
+
87
+ Installing `@marktiderman/genesis` gives you the DS packages over npm. The **agent harness**
88
+ (hooks, skills, the belt CLI, the plugin) is a git-native surface that rides your repo's own
89
+ history rather than `node_modules` — so it is *vendored*, not imported. Because the umbrella's
90
+ version is the single coordinate, you bootstrap the matching harness in one command, keyed to the
91
+ umbrella you just pinned:
92
+
93
+ ```bash
94
+ npm i @marktiderman/genesis # (or pnpm/bun/yarn add) — the version you pin is the coordinate
95
+
96
+ # `@marktiderman/genesis`'s published tarball ships only `dist/` + this README (see `files` in
97
+ # package.json) — the bootstrapper script itself is NOT vendored by npm yet, so
98
+ # `node_modules/@marktiderman/genesis/scripts/harness/genesis-sync.sh` does not exist. Today, fetch
99
+ # that one script straight from the source repo and run it against your repo (it only needs your
100
+ # repo root + the installed umbrella manifest — where the script itself lives doesn't matter):
101
+ git clone --depth 1 https://github.com/marktiderman/genesis.git /tmp/genesis-src
102
+ bash /tmp/genesis-src/scripts/harness/genesis-sync.sh # BOOTSTRAPS: reads the installed umbrella,
103
+ # vendors the matching harness + scaffolds
104
+ # the Git Data System trellis
105
+ rm -rf /tmp/genesis-src
106
+
107
+ bash tools/genesis-harness/scripts/harness/genesis roller validate --ci # validate the trellis
108
+ ```
109
+
110
+ The bootstrap reads the source repo + version straight out of the installed umbrella manifest,
111
+ prefers the release tag matching that version (falling back to the branch tip), and writes a
112
+ `.genesis/source` stamp recording the vendored version **and** the exact SHA. Re-running the same
113
+ script later re-vendors (upgrades) the stamped tree — and once vendored, `tools/genesis-harness/
114
+ scripts/harness/genesis sync` is the one-liner for that (see the `sync` skill). One pinned umbrella
115
+ version therefore really does mean every sub-component **and** the harness land together, versioned
116
+ by one coordinate.
117
+
118
+ **Known gap.** The `git clone` step above is a stand-in for a real `npx`-invokable bootstrapper
119
+ (e.g. a `bin` entry shipping `genesis-sync.sh` in the umbrella's own tarball, mirroring the
120
+ `npx genesis-data init` pattern `@marktiderman/genesis-data` already ships). That packaging work is
121
+ tracked as follow-up, not done in this change — don't let this doc drift back to claiming the script
122
+ ships with the npm install until it actually does.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marktiderman/genesis",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -76,7 +76,7 @@
76
76
  "@marktiderman/genesis-ui": "1.2.0",
77
77
  "@marktiderman/genesis-design-system": "1.1.1",
78
78
  "@marktiderman/genesis-switchboard": "1.0.0",
79
- "@marktiderman/genesis-data": "0.3.0",
79
+ "@marktiderman/genesis-data": "0.3.2",
80
80
  "@marktiderman/genesis-ui-native": "2.0.1"
81
81
  },
82
82
  "peerDependencies": {