@rness/cli 0.7.0 → 0.8.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 +63 -11
- package/dist/bin/rness.js +1 -1
- package/dist/{chunk-VYP4L7BQ.js → chunk-ONLF4VFA.js} +419 -127
- package/dist/chunk-ONLF4VFA.js.map +1 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-VYP4L7BQ.js.map +0 -1
package/README.md
CHANGED
|
@@ -138,7 +138,8 @@ dependency does this: `util.styleText`, and a banner kept as a constant.
|
|
|
138
138
|
### Upgrade
|
|
139
139
|
|
|
140
140
|
rness upgrade # the latest release; `rness upgrade 0.5.0` for another
|
|
141
|
-
npx @rness/cli@latest upgrade #
|
|
141
|
+
npx @rness/cli@latest upgrade # your global rness is below 0.8.0, or the pin is below 0.5.0
|
|
142
|
+
pnpm rness upgrade # inside .rness: the pinned copy merges its own scaffold
|
|
142
143
|
|
|
143
144
|
The version is written in one place, `.rness/package.json`. `upgrade` pins it
|
|
144
145
|
there (exact, the rest of the file untouched), installs with the workspace's
|
|
@@ -156,18 +157,45 @@ or later, which checks for itself whatever launched it. With an older global
|
|
|
156
157
|
and a workspace below 0.5.3, a pin that moved is neither installed nor
|
|
157
158
|
announced: `npm i -g @rness/cli@latest` once.
|
|
158
159
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
160
|
+
A workspace ships `.github/dependabot.yml`, so each release opens a pull
|
|
161
|
+
request on the organization's `.rness`: the pin and the lockfile in the diff,
|
|
162
|
+
`validate` running on the new version, review, merge. The pull request
|
|
163
|
+
arrives 3 to 10 days after a release: the check is weekly, and Dependabot
|
|
164
|
+
holds any new version back for 3 days by default, a guard against a
|
|
165
|
+
compromised release. The file's header says how to lift that delay for
|
|
166
|
+
`@rness/cli`.
|
|
167
|
+
|
|
168
|
+
`upgrade` also merges the scaffold of the target version into `.rness`, with
|
|
169
|
+
git: the CI workflow, the hooks, the starter documents. After a Dependabot
|
|
170
|
+
pull request, run it once more to merge the scaffold of the version the pin
|
|
171
|
+
now names; `rness validate` warns while it is behind.
|
|
172
|
+
|
|
173
|
+
rness upgrade
|
|
174
|
+
merging the @rness/cli 0.8.0 scaffold
|
|
175
|
+
added .github/workflows/validate.yml
|
|
176
|
+
updated .githooks/pre-commit
|
|
177
|
+
merged AGENTS.md
|
|
178
|
+
|
|
179
|
+
- The base is the last scaffold commit of `.rness`: the commit `create` made,
|
|
180
|
+
or the previous `chore: rness scaffold <version>`. A file the team never
|
|
181
|
+
touched takes the new version; an edited one keeps its edits where the
|
|
182
|
+
scaffold did not change; overlapping lines conflict, and `upgrade` stops
|
|
183
|
+
before installing — resolve with git (`git checkout --ours <file>` keeps
|
|
184
|
+
yours, `--theirs` takes the scaffold's), commit, run `upgrade` again.
|
|
185
|
+
- `.rness` must be a clean git repository. The merge is staged, not
|
|
186
|
+
committed: the next steps end in one commit.
|
|
187
|
+
- A workspace with no scaffold commit (made by hand, or older than
|
|
188
|
+
`create`) is adopted: identical files merge silently, a differing one
|
|
189
|
+
conflicts once.
|
|
190
|
+
- Merge an upgrade pull request with a merge commit, not a squash: a squash
|
|
191
|
+
drops the scaffold commit, and the next upgrade falls back to an older base.
|
|
167
192
|
|
|
168
193
|
`upgrade` is never delegated to the pinned copy, which is what it replaces
|
|
169
|
-
— so
|
|
170
|
-
|
|
194
|
+
— so it runs the copy you typed. From 0.8.0, a global `rness` older than the
|
|
195
|
+
pin merges the scaffold of the copy installed in `.rness`. A global below
|
|
196
|
+
0.8.0 knows no scaffold: it answers "already at" and merges nothing — use the
|
|
197
|
+
`npx` form, or the pinned copy from inside `.rness`. A workspace pinned below 0.5.0, whose copy has no such
|
|
198
|
+
command, starts with the `npx` form.
|
|
171
199
|
|
|
172
200
|
An upgrade touches `.rness` only: a generated block is current when its hash
|
|
173
201
|
is, whatever wrote it, so no `AGENTS.md` of the organization changes unless
|
|
@@ -176,6 +204,30 @@ its content does.
|
|
|
176
204
|
Exit codes: 0 success, 1 failure, 2 usage — or a refusal without a TTY.
|
|
177
205
|
`RNESS_DEBUG=1` adds stack traces; `RNESS_NO_DELEGATE=1` skips the delegation.
|
|
178
206
|
|
|
207
|
+
## 0.8.1 — adoption without placeholders
|
|
208
|
+
|
|
209
|
+
- Adopting the scaffold no longer adds a `.gitkeep` to a directory that
|
|
210
|
+
already holds files (`specs/`, `plans/` of a workspace older than
|
|
211
|
+
`create`).
|
|
212
|
+
- In a terminal, `upgrade` says "Merging the @rness/cli 0.8.0 scaffold"
|
|
213
|
+
instead of "the @rness/cli 0.8.0 scaffold merging".
|
|
214
|
+
- A test now pins what 0.8.0 already did: a global `rness` older than the pin
|
|
215
|
+
merges the scaffold of the copy installed in `.rness`.
|
|
216
|
+
|
|
217
|
+
## 0.8.0 — upgrade merges the scaffold
|
|
218
|
+
|
|
219
|
+
- `rness upgrade` merges the target version's scaffold into `.rness` with
|
|
220
|
+
git, three-way, from the last scaffold commit: files the team never
|
|
221
|
+
touched are updated, edits are kept, overlaps conflict and stop the
|
|
222
|
+
upgrade before the install. See "Upgrade". After a Dependabot pull request,
|
|
223
|
+
run `rness upgrade` once to merge the scaffold; nothing is installed.
|
|
224
|
+
- `rness validate` warns while the merged scaffold is behind the pin.
|
|
225
|
+
- The commit `create` makes carries `Rness-Scaffold: <version>`.
|
|
226
|
+
- Breaking: `upgrade` refuses a `.rness` that is not a clean git repository.
|
|
227
|
+
The two migrations it carried (an old `validate.yml` line, a missing
|
|
228
|
+
`dependabot.yml`) are what the merge does now.
|
|
229
|
+
- Blocks are unchanged: no `rness sync` is needed after upgrading.
|
|
230
|
+
|
|
179
231
|
## 0.7.0 — agent targets: Claude Code
|
|
180
232
|
|
|
181
233
|
- `rness.json` may declare the team's agents: `"agents": ["claude"]`. It is
|