@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 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 # from a workspace pinned below 0.5.0
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
- Usually nobody runs `upgrade` at all. A workspace ships
160
- `.github/dependabot.yml`, so each release opens a pull request on the
161
- organization's `.rness`: the pin and the lockfile in the diff, `validate`
162
- running on the new version, review, merge. `upgrade` writes that file into
163
- workspaces created before 0.5.1. The pull request arrives 3 to 10 days after
164
- a release: the check is weekly, and Dependabot holds any new version back for
165
- 3 days by default, a guard against a compromised release. The file's header
166
- says how to lift that delay for `@rness/cli`.
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 a workspace pinned below 0.5.0, whose copy has no such command, starts
170
- with the `npx` form.
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
package/dist/bin/rness.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  findDelegate,
7
7
  reportError,
8
8
  run
9
- } from "../chunk-VYP4L7BQ.js";
9
+ } from "../chunk-ONLF4VFA.js";
10
10
 
11
11
  // src/bin/rness.ts
12
12
  import { pathToFileURL } from "url";