@rainy-updates/cli 0.5.6 → 0.6.0
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/CHANGELOG.md +133 -0
- package/README.md +90 -31
- package/dist/bin/cli.js +24 -482
- package/dist/bin/dispatch.d.ts +16 -0
- package/dist/bin/dispatch.js +147 -0
- package/dist/bin/help.d.ts +1 -0
- package/dist/bin/help.js +314 -0
- package/dist/cache/cache.js +13 -11
- package/dist/commands/audit/parser.js +2 -2
- package/dist/commands/audit/runner.js +27 -46
- package/dist/commands/audit/targets.js +13 -13
- package/dist/commands/bisect/oracle.js +28 -11
- package/dist/commands/bisect/parser.js +3 -3
- package/dist/commands/bisect/runner.js +15 -8
- package/dist/commands/changelog/fetcher.js +11 -5
- package/dist/commands/dashboard/parser.js +103 -1
- package/dist/commands/dashboard/runner.d.ts +2 -2
- package/dist/commands/dashboard/runner.js +67 -37
- package/dist/commands/doctor/parser.js +15 -4
- package/dist/commands/doctor/runner.js +6 -3
- package/dist/commands/ga/parser.js +4 -4
- package/dist/commands/ga/runner.js +13 -7
- package/dist/commands/health/parser.js +2 -2
- package/dist/commands/licenses/runner.js +4 -4
- package/dist/commands/resolve/runner.js +9 -4
- package/dist/commands/review/parser.js +57 -4
- package/dist/commands/review/runner.js +31 -5
- package/dist/commands/snapshot/runner.js +17 -17
- package/dist/commands/snapshot/store.d.ts +0 -12
- package/dist/commands/snapshot/store.js +26 -38
- package/dist/commands/unused/runner.js +6 -7
- package/dist/commands/unused/scanner.js +17 -20
- package/dist/config/loader.d.ts +2 -2
- package/dist/config/loader.js +2 -5
- package/dist/config/policy.js +20 -11
- package/dist/core/analysis/options.d.ts +6 -0
- package/dist/core/analysis/options.js +69 -0
- package/dist/core/analysis/review-items.d.ts +4 -0
- package/dist/core/analysis/review-items.js +128 -0
- package/dist/core/analysis/run-silenced.d.ts +1 -0
- package/dist/core/analysis/run-silenced.js +13 -0
- package/dist/core/analysis-bundle.js +3 -211
- package/dist/core/artifacts.js +6 -5
- package/dist/core/baseline.js +3 -5
- package/dist/core/check.js +2 -2
- package/dist/core/ci.js +52 -1
- package/dist/core/decision-plan.d.ts +14 -0
- package/dist/core/decision-plan.js +107 -0
- package/dist/core/doctor/findings.d.ts +2 -0
- package/dist/core/doctor/findings.js +166 -0
- package/dist/core/doctor/render.d.ts +3 -0
- package/dist/core/doctor/render.js +44 -0
- package/dist/core/doctor/result.d.ts +2 -0
- package/dist/core/doctor/result.js +58 -0
- package/dist/core/doctor/score.d.ts +5 -0
- package/dist/core/doctor/score.js +28 -0
- package/dist/core/fix-pr-batch.js +38 -28
- package/dist/core/fix-pr.js +27 -24
- package/dist/core/init-ci.js +25 -21
- package/dist/core/options.js +95 -4
- package/dist/core/review-model.d.ts +3 -3
- package/dist/core/review-model.js +6 -67
- package/dist/core/review-verdict.d.ts +2 -0
- package/dist/core/review-verdict.js +14 -0
- package/dist/core/summary.js +12 -0
- package/dist/core/upgrade.js +64 -2
- package/dist/core/verification.d.ts +2 -0
- package/dist/core/verification.js +106 -0
- package/dist/core/warm-cache.js +2 -2
- package/dist/output/format.js +22 -0
- package/dist/output/github.js +10 -0
- package/dist/output/sarif.js +16 -12
- package/dist/parsers/package-json.js +2 -4
- package/dist/pm/detect.d.ts +3 -1
- package/dist/pm/detect.js +24 -12
- package/dist/pm/install.d.ts +2 -1
- package/dist/pm/install.js +15 -16
- package/dist/registry/npm.js +34 -76
- package/dist/rup +0 -0
- package/dist/types/index.d.ts +104 -5
- package/dist/ui/tui.d.ts +4 -1
- package/dist/ui/tui.js +5 -4
- package/dist/utils/io.js +5 -6
- package/dist/utils/lockfile.js +24 -19
- package/dist/utils/runtime-paths.d.ts +4 -0
- package/dist/utils/runtime-paths.js +35 -0
- package/dist/utils/runtime.d.ts +7 -0
- package/dist/utils/runtime.js +32 -0
- package/dist/workspace/discover.js +55 -51
- package/package.json +16 -16
- package/dist/ui/dashboard/DashboardTUI.d.ts +0 -6
- package/dist/ui/dashboard/DashboardTUI.js +0 -34
- package/dist/ui/dashboard/components/DetailPanel.d.ts +0 -4
- package/dist/ui/dashboard/components/DetailPanel.js +0 -30
- package/dist/ui/dashboard/components/Footer.d.ts +0 -4
- package/dist/ui/dashboard/components/Footer.js +0 -9
- package/dist/ui/dashboard/components/Header.d.ts +0 -4
- package/dist/ui/dashboard/components/Header.js +0 -12
- package/dist/ui/dashboard/components/Sidebar.d.ts +0 -4
- package/dist/ui/dashboard/components/Sidebar.js +0 -23
- package/dist/ui/dashboard/store.d.ts +0 -34
- package/dist/ui/dashboard/store.js +0 -148
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,139 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.6.0] - 2026-03-01
|
|
6
|
+
|
|
7
|
+
Dashboard-first release candidate for the `v0.6` series, focused on unifying the interactive surface, introducing replayable decision plans, tightening CI/apply verification flows, and undergoing a complete native Bun performance optimization.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **Decision plan artifact flow**:
|
|
12
|
+
- new deterministic decision plan model for reviewed update sets,
|
|
13
|
+
- reusable `.artifacts/decision-plan.json` workflow,
|
|
14
|
+
- `upgrade --from-plan <path>` replay support,
|
|
15
|
+
- additive summary/output metadata for:
|
|
16
|
+
- `suggestedCommand`,
|
|
17
|
+
- `decisionPlan`,
|
|
18
|
+
- `interactiveSurface`,
|
|
19
|
+
- `queueFocus`.
|
|
20
|
+
- **Verification flow for applied plans and upgrades**:
|
|
21
|
+
- `--verify none|install|test|install,test`,
|
|
22
|
+
- `--test-command "<cmd>"`,
|
|
23
|
+
- `--verification-report-file <path>`,
|
|
24
|
+
- additive verification metadata in summary and GitHub/metrics outputs:
|
|
25
|
+
- `verificationState`,
|
|
26
|
+
- `verificationFailures`.
|
|
27
|
+
- **New CI gate model**:
|
|
28
|
+
- `ci --gate check|doctor|review|upgrade`,
|
|
29
|
+
- review gate emits a decision plan artifact without mutating manifests,
|
|
30
|
+
- upgrade gate replays a prior decision plan and can run verification.
|
|
31
|
+
- **New verification core** under `src/core/verification.ts`.
|
|
32
|
+
- **New decision plan core** under `src/core/decision-plan.ts`.
|
|
33
|
+
- **New test coverage** for:
|
|
34
|
+
- decision plan serialization and replay,
|
|
35
|
+
- CI upgrade gate plan replay,
|
|
36
|
+
- verification report generation.
|
|
37
|
+
|
|
38
|
+
- **Native Bun Optimizations**:
|
|
39
|
+
- Bun is now the primary Rainy runtime path for local execution, CI templates, and release verification flows.
|
|
40
|
+
- Added a shared Bun-first runtime layer for cwd/env/stdout/stderr/exit handling across the CLI command surface.
|
|
41
|
+
- Migrated verification and package-manager-aware test execution onto `Bun.spawn`, while keeping npm, pnpm, Bun, and yarn target-repo support intact.
|
|
42
|
+
- Migrated internal hot-path file operations onto `Bun.file()`, `Bun.write()`, `Bun.Glob`, and `Bun.CryptoHasher` across workspace discovery, lockfile hashing, snapshot persistence, audit target resolution, changelog cache reads, and CLI/package metadata loading.
|
|
43
|
+
- Added real atomic file writes for Rainy-managed artifacts, reports, caches, baselines, and snapshot restore paths.
|
|
44
|
+
- Added native `build:exe` target compilation for standalone Bun-first distributions using `bun build --compile`.
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- `dashboard` is now the primary interactive dependency decision surface.
|
|
49
|
+
- `review --interactive` now routes into the shared dashboard flow instead of maintaining a separate interactive implementation path.
|
|
50
|
+
- `doctor` now recommends dashboard-first next steps:
|
|
51
|
+
- `rup dashboard --mode review`
|
|
52
|
+
- `rup dashboard --mode review --focus security`
|
|
53
|
+
- `rup dashboard --mode review --focus blocked`
|
|
54
|
+
- CLI help and README now document:
|
|
55
|
+
- `dashboard` as the primary interactive workflow,
|
|
56
|
+
- `upgrade --from-plan`,
|
|
57
|
+
- `ci --gate ...`,
|
|
58
|
+
- verification and verification-report flows,
|
|
59
|
+
- Bun as the preferred Rainy runtime via `bunx --bun` and compiled Bun artifacts.
|
|
60
|
+
- `init-ci` generated workflows now:
|
|
61
|
+
- use Bun as the Rainy runtime by default,
|
|
62
|
+
- use explicit CI gates,
|
|
63
|
+
- emit a decision plan artifact in strict and enterprise modes,
|
|
64
|
+
- replay approved plans with verification in enterprise mode,
|
|
65
|
+
- align install and test commands with detected npm, pnpm, or Bun target repos.
|
|
66
|
+
- Artifact manifests now include verification report output paths when configured.
|
|
67
|
+
- Package-manager detection and verification defaults now treat Bun as a first-class package ecosystem instead of falling back to npm/pnpm-only assumptions.
|
|
68
|
+
- GA readiness checks now validate both the JS dist CLI and the compiled Bun runtime artifact.
|
|
69
|
+
|
|
70
|
+
### Removed
|
|
71
|
+
|
|
72
|
+
- Removed the legacy standalone dashboard Ink/store implementation under `src/ui/dashboard/` in favor of a single shared interactive path.
|
|
73
|
+
- Removed the remaining explicit `node:process` imports from the main CLI command surface in favor of the shared runtime layer.
|
|
74
|
+
- Removed manual recursive workspace directory walking in favor of Bun-native glob expansion.
|
|
75
|
+
|
|
76
|
+
### Tests
|
|
77
|
+
|
|
78
|
+
- Added coverage for:
|
|
79
|
+
- `dashboard` parser support for mode/focus/plan/verification flags,
|
|
80
|
+
- additive GitHub output fields for decision-plan and verification metadata,
|
|
81
|
+
- updated CI bootstrap templates for review/upgrade gates,
|
|
82
|
+
- Bun-aware package-manager detection and verification defaults,
|
|
83
|
+
- GA runtime-artifact readiness checks,
|
|
84
|
+
- Bun-glob workspace discovery with hidden-directory and `node_modules` exclusions.
|
|
85
|
+
|
|
86
|
+
## [0.5.7] - 2026-03-01
|
|
87
|
+
|
|
88
|
+
Final stabilization release for the `v0.5` series, focused on modularization, doctor scan quality, and maintainability.
|
|
89
|
+
|
|
90
|
+
### Added
|
|
91
|
+
|
|
92
|
+
- **Doctor scan upgrades inspired by high-level audit CLIs**:
|
|
93
|
+
- normalized doctor findings with categories and severities,
|
|
94
|
+
- deterministic dependency health score (`0-100`),
|
|
95
|
+
- score labels and next-action reasoning,
|
|
96
|
+
- agent-oriented doctor output via `doctor --agent-report`.
|
|
97
|
+
- **New modular doctor core** under `src/core/doctor/`:
|
|
98
|
+
- findings derivation,
|
|
99
|
+
- score calculation,
|
|
100
|
+
- result assembly,
|
|
101
|
+
- rendering.
|
|
102
|
+
- **New modular analysis helpers** under `src/core/analysis/`:
|
|
103
|
+
- analysis option adapters,
|
|
104
|
+
- review item enrichment,
|
|
105
|
+
- silenced runner wrapper.
|
|
106
|
+
- **New CLI seam modules**:
|
|
107
|
+
- `src/bin/dispatch.ts`
|
|
108
|
+
- `src/bin/help.ts`
|
|
109
|
+
- `src/core/review-verdict.ts`
|
|
110
|
+
- **New help coverage** in `tests/help.test.ts`.
|
|
111
|
+
|
|
112
|
+
### Changed
|
|
113
|
+
|
|
114
|
+
- `doctor` now behaves as a stronger high-level scan surface:
|
|
115
|
+
- `State`
|
|
116
|
+
- `Score`
|
|
117
|
+
- `PrimaryRisk`
|
|
118
|
+
- `NextAction`
|
|
119
|
+
- `NextActionReason`
|
|
120
|
+
- Summary and machine outputs now carry additive doctor metadata:
|
|
121
|
+
- `dependencyHealthScore`,
|
|
122
|
+
- `findingCountsByCategory`,
|
|
123
|
+
- `findingCountsBySeverity`,
|
|
124
|
+
- `primaryFindingCode`,
|
|
125
|
+
- `primaryFindingCategory`,
|
|
126
|
+
- `nextActionReason`.
|
|
127
|
+
- GitHub output, SARIF, and human-readable metrics/table output now expose the new doctor summary fields additively.
|
|
128
|
+
- `src/core/review-model.ts` was reduced to review aggregation responsibilities, with doctor logic extracted into focused modules.
|
|
129
|
+
- `src/core/analysis-bundle.ts` was reduced to a thin coordinator, with item enrichment and option adaptation moved into dedicated modules.
|
|
130
|
+
- `src/bin/cli.ts` was simplified by extracting command dispatch and help rendering into standalone modules.
|
|
131
|
+
|
|
132
|
+
### Tests
|
|
133
|
+
|
|
134
|
+
- Added coverage for doctor score/findings behavior and agent report rendering.
|
|
135
|
+
- Added coverage for new GitHub output and SARIF fields.
|
|
136
|
+
- Added help rendering coverage after extracting CLI help into its own module.
|
|
137
|
+
|
|
5
138
|
## [0.5.6] - 2026-03-01
|
|
6
139
|
|
|
7
140
|
GA readiness, shared analysis plumbing, and richer review operations.
|
package/README.md
CHANGED
|
@@ -29,6 +29,7 @@ Rainy Updates gives teams one dependency lifecycle:
|
|
|
29
29
|
- `check` detects candidate updates.
|
|
30
30
|
- `doctor` summarizes the current situation.
|
|
31
31
|
- `review` decides what should happen.
|
|
32
|
+
- `dashboard` is the primary interactive decision surface.
|
|
32
33
|
- `upgrade` applies the approved change set.
|
|
33
34
|
|
|
34
35
|
Everything else supports that lifecycle: CI orchestration, advisory lookup, peer resolution, licenses, snapshots, baselines, and fix-PR automation.
|
|
@@ -43,16 +44,16 @@ Everything else supports that lifecycle: CI orchestration, advisory lookup, peer
|
|
|
43
44
|
|
|
44
45
|
```bash
|
|
45
46
|
# 1) Detect what changed
|
|
46
|
-
|
|
47
|
+
bunx --bun @rainy-updates/cli check --workspace --show-impact
|
|
47
48
|
|
|
48
49
|
# 2) Summarize what matters
|
|
49
|
-
|
|
50
|
+
bunx --bun @rainy-updates/cli doctor --workspace
|
|
50
51
|
|
|
51
|
-
# 3) Decide in the
|
|
52
|
-
|
|
52
|
+
# 3) Decide in the dashboard
|
|
53
|
+
bunx --bun @rainy-updates/cli dashboard --mode review --plan-file .artifacts/decision-plan.json
|
|
53
54
|
|
|
54
|
-
# 4) Apply the approved
|
|
55
|
-
|
|
55
|
+
# 4) Apply the approved plan
|
|
56
|
+
bunx --bun @rainy-updates/cli upgrade --from-plan .artifacts/decision-plan.json
|
|
56
57
|
```
|
|
57
58
|
|
|
58
59
|
## Why teams use it
|
|
@@ -67,10 +68,15 @@ npx @rainy-updates/cli upgrade --interactive
|
|
|
67
68
|
## Install
|
|
68
69
|
|
|
69
70
|
```bash
|
|
71
|
+
# Preferred: run with Bun's runtime directly
|
|
72
|
+
bunx --bun @rainy-updates/cli check
|
|
73
|
+
|
|
70
74
|
# As a project dev dependency (recommended for teams)
|
|
71
75
|
npm install --save-dev @rainy-updates/cli
|
|
72
76
|
# or
|
|
73
77
|
pnpm add -D @rainy-updates/cli
|
|
78
|
+
# or
|
|
79
|
+
bun add -d @rainy-updates/cli
|
|
74
80
|
```
|
|
75
81
|
|
|
76
82
|
Once installed, three binary aliases are available in your `node_modules/.bin/`:
|
|
@@ -88,16 +94,25 @@ rainy-up check
|
|
|
88
94
|
rainy-updates check
|
|
89
95
|
```
|
|
90
96
|
|
|
91
|
-
###
|
|
97
|
+
### Bun-first runtime
|
|
92
98
|
|
|
93
99
|
```bash
|
|
94
|
-
#
|
|
100
|
+
# Preferred no-install path:
|
|
101
|
+
bunx --bun @rainy-updates/cli check
|
|
102
|
+
bunx --bun @rainy-updates/cli audit --severity high
|
|
103
|
+
bunx --bun @rainy-updates/cli ci --workspace --mode strict
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### One-off usage with npx (compatibility path)
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Compatibility path when Bun is not available:
|
|
95
110
|
npx @rainy-updates/cli check
|
|
96
111
|
npx @rainy-updates/cli audit --severity high
|
|
97
112
|
npx @rainy-updates/cli ci --workspace --mode strict
|
|
98
113
|
```
|
|
99
114
|
|
|
100
|
-
> **Note:**
|
|
115
|
+
> **Note:** Rainy is Bun-first at runtime. `bunx --bun @rainy-updates/cli ...` is the fastest no-install path. The npm package and `npx` remain supported compatibility paths.
|
|
101
116
|
|
|
102
117
|
## Commands
|
|
103
118
|
|
|
@@ -106,6 +121,7 @@ npx @rainy-updates/cli ci --workspace --mode strict
|
|
|
106
121
|
- `check` — detect candidate dependency updates
|
|
107
122
|
- `doctor` — summarize the current dependency situation
|
|
108
123
|
- `review` — decide what to do with security, risk, peer, and policy context
|
|
124
|
+
- `dashboard` — open the primary interactive decision console
|
|
109
125
|
- `upgrade` — apply the approved change set
|
|
110
126
|
- `ga` — audit GA and CI readiness for the current checkout
|
|
111
127
|
|
|
@@ -123,71 +139,108 @@ npx @rainy-updates/cli ci --workspace --mode strict
|
|
|
123
139
|
|
|
124
140
|
## Quick usage
|
|
125
141
|
|
|
126
|
-
> Commands work with `npx`
|
|
142
|
+
> Commands work with `bunx --bun`, with `npx` as a compatibility path, or with the `rup` / `rainy-up` shortcut if the package is installed.
|
|
127
143
|
|
|
128
144
|
```bash
|
|
129
145
|
# 1) Detect updates
|
|
146
|
+
bunx --bun @rainy-updates/cli check --format table
|
|
130
147
|
npx @rainy-updates/cli check --format table
|
|
131
148
|
rup check --format table # if installed
|
|
132
149
|
|
|
133
150
|
# 2) Summarize the state
|
|
134
|
-
|
|
151
|
+
bunx --bun @rainy-updates/cli doctor --workspace
|
|
135
152
|
rup doctor --workspace
|
|
136
153
|
|
|
137
154
|
# 3) Review and decide
|
|
138
|
-
|
|
139
|
-
rup review --
|
|
155
|
+
bunx --bun @rainy-updates/cli review --security-only
|
|
156
|
+
rup dashboard --mode review --plan-file .artifacts/decision-plan.json
|
|
140
157
|
rup review --show-changelog
|
|
141
158
|
|
|
142
|
-
# 4) Apply
|
|
143
|
-
|
|
144
|
-
rup upgrade --
|
|
159
|
+
# 4) Apply an approved decision plan with verification
|
|
160
|
+
bunx --bun @rainy-updates/cli upgrade --from-plan .artifacts/decision-plan.json --verify install,test --test-command "bun test"
|
|
161
|
+
rup upgrade --from-plan .artifacts/decision-plan.json --verify install,test --test-command "npm test"
|
|
145
162
|
|
|
146
163
|
# 5) CI orchestration with policy gates
|
|
147
|
-
|
|
148
|
-
rup ci --workspace --mode strict --format github
|
|
164
|
+
bunx --bun @rainy-updates/cli ci --workspace --mode strict --gate review --plan-file .artifacts/decision-plan.json --format github
|
|
165
|
+
rup ci --workspace --mode strict --gate review --plan-file .artifacts/decision-plan.json --format github
|
|
166
|
+
|
|
167
|
+
# 6) Replay an approved plan in CI
|
|
168
|
+
rup ci --workspace --mode strict --gate upgrade --from-plan .artifacts/decision-plan.json --verify test --test-command "npm test"
|
|
149
169
|
|
|
150
|
-
#
|
|
170
|
+
# 7) Batch fix branches by scope (enterprise)
|
|
151
171
|
npx @rainy-updates/cli ci --workspace --mode enterprise --group-by scope --fix-pr --fix-pr-batch-size 2
|
|
152
172
|
rup ci --workspace --mode enterprise --group-by scope --fix-pr --fix-pr-batch-size 2
|
|
153
173
|
|
|
154
|
-
#
|
|
174
|
+
# 8) Warm cache -> deterministic offline CI check
|
|
155
175
|
npx @rainy-updates/cli warm-cache --workspace --concurrency 32
|
|
156
176
|
npx @rainy-updates/cli check --workspace --offline --ci
|
|
157
177
|
|
|
158
|
-
#
|
|
178
|
+
# 9) Save and compare baseline drift
|
|
159
179
|
npx @rainy-updates/cli baseline --save --file .artifacts/deps-baseline.json --workspace
|
|
160
180
|
npx @rainy-updates/cli baseline --check --file .artifacts/deps-baseline.json --workspace --ci
|
|
161
181
|
|
|
162
|
-
#
|
|
182
|
+
# 10) Scan for known CVEs
|
|
163
183
|
npx @rainy-updates/cli audit
|
|
164
184
|
npx @rainy-updates/cli audit --severity high
|
|
165
185
|
npx @rainy-updates/cli audit --summary
|
|
166
186
|
npx @rainy-updates/cli audit --source osv
|
|
167
|
-
npx @rainy-updates/cli audit --fix # prints the patching
|
|
187
|
+
npx @rainy-updates/cli audit --fix # prints the patching install command for the detected package manager
|
|
168
188
|
rup audit --severity high # if installed
|
|
169
189
|
|
|
170
|
-
`audit`
|
|
190
|
+
`audit` resolves installed versions from lockfiles across npm, pnpm, and simple `bun.lock` workspace entries when available. It reports source-health warnings when OSV or GitHub returns only partial coverage.
|
|
171
191
|
|
|
172
|
-
#
|
|
192
|
+
# 11) Check dependency maintenance health
|
|
173
193
|
npx @rainy-updates/cli health
|
|
174
194
|
npx @rainy-updates/cli health --stale 6m # flag packages with no release in 6 months
|
|
175
195
|
npx @rainy-updates/cli health --stale 180d # same but in days
|
|
176
196
|
rup health --stale 6m # if installed
|
|
177
197
|
|
|
178
|
-
#
|
|
198
|
+
# 12) Find which version introduced a breaking change
|
|
179
199
|
npx @rainy-updates/cli bisect axios --cmd "bun test"
|
|
180
200
|
npx @rainy-updates/cli bisect react --range "18.0.0..19.0.0" --cmd "npm test"
|
|
181
201
|
npx @rainy-updates/cli bisect lodash --cmd "npm run test:unit" --dry-run
|
|
182
202
|
rup bisect axios --cmd "bun test" # if installed
|
|
183
203
|
|
|
184
|
-
#
|
|
204
|
+
# 13) Focus review on high-risk changes
|
|
185
205
|
rup review --risk high --diff major
|
|
186
206
|
|
|
187
|
-
#
|
|
207
|
+
# 14) Audit GA / CI readiness
|
|
188
208
|
rup ga --workspace
|
|
189
209
|
```
|
|
190
210
|
|
|
211
|
+
## Decision Plans And Verification
|
|
212
|
+
|
|
213
|
+
Rainy can persist an approved update set as a deterministic decision plan and replay it later:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# Create a reviewed plan
|
|
217
|
+
rup dashboard --mode review --plan-file .artifacts/decision-plan.json
|
|
218
|
+
|
|
219
|
+
# Apply only that approved plan later
|
|
220
|
+
rup upgrade --from-plan .artifacts/decision-plan.json
|
|
221
|
+
|
|
222
|
+
# Apply and verify install + tests
|
|
223
|
+
rup upgrade \
|
|
224
|
+
--from-plan .artifacts/decision-plan.json \
|
|
225
|
+
--verify install,test \
|
|
226
|
+
--test-command "bun test" \
|
|
227
|
+
--verification-report-file .artifacts/verification.json
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
This is the intended local review -> CI replay workflow.
|
|
231
|
+
|
|
232
|
+
Verification follows the target repository's package manager when one is detected.
|
|
233
|
+
That means Bun repositories can verify with `bun install` / `bun test`, while npm and pnpm projects keep their native install/test flows.
|
|
234
|
+
|
|
235
|
+
## CI Gates
|
|
236
|
+
|
|
237
|
+
`ci` supports explicit execution gates:
|
|
238
|
+
|
|
239
|
+
- `--gate check` runs detection only.
|
|
240
|
+
- `--gate doctor` computes the high-level verdict and doctor metadata.
|
|
241
|
+
- `--gate review` emits a decision plan artifact without mutating the repo.
|
|
242
|
+
- `--gate upgrade` replays an existing plan and can run verification.
|
|
243
|
+
|
|
191
244
|
## What it does in production
|
|
192
245
|
|
|
193
246
|
### Update detection engine
|
|
@@ -275,8 +328,8 @@ Generated file:
|
|
|
275
328
|
|
|
276
329
|
Modes:
|
|
277
330
|
|
|
278
|
-
- `strict`: warm-cache +
|
|
279
|
-
- `enterprise`: strict checks + runtime matrix +
|
|
331
|
+
- `strict`: warm-cache + review gate + artifacts + SARIF upload.
|
|
332
|
+
- `enterprise`: strict checks + runtime matrix + review/upgrade gates + retention policy.
|
|
280
333
|
- `minimal`: fast check-only workflow for quick adoption.
|
|
281
334
|
|
|
282
335
|
Schedule:
|
|
@@ -307,9 +360,15 @@ Schedule:
|
|
|
307
360
|
- `--pr-limit <n>`
|
|
308
361
|
- `--only-changed`
|
|
309
362
|
- `--interactive`
|
|
363
|
+
- `--plan-file <path>`
|
|
364
|
+
- `--from-plan <path>`
|
|
365
|
+
- `--verify none|install|test|install,test`
|
|
366
|
+
- `--test-command <cmd>`
|
|
367
|
+
- `--verification-report-file <path>`
|
|
310
368
|
- `--show-impact`
|
|
311
369
|
- `--show-homepage`
|
|
312
370
|
- `--mode minimal|strict|enterprise` (for `ci`)
|
|
371
|
+
- `--gate check|doctor|review|upgrade` (for `ci`)
|
|
313
372
|
- `--fix-pr-batch-size <n>` (for batched fix branches in `ci`)
|
|
314
373
|
- `--policy-file <path>`
|
|
315
374
|
- `--format table|json|minimal|github`
|
|
@@ -328,7 +387,7 @@ Schedule:
|
|
|
328
387
|
### Upgrade-only
|
|
329
388
|
|
|
330
389
|
- `--install`
|
|
331
|
-
- `--pm auto|npm|pnpm`
|
|
390
|
+
- `--pm auto|bun|npm|pnpm|yarn`
|
|
332
391
|
- `--sync`
|
|
333
392
|
|
|
334
393
|
### Review-only
|