@devrouter/cli 0.0.35 → 0.0.37

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrouter/cli",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "description": "Local dev routing CLI with shared Traefik reverse proxy",
5
5
  "author": "Roland Schlaefli",
6
6
  "homepage": "https://github.com/rschlaefli/devrouter#readme",
@@ -45,6 +45,7 @@
45
45
  "build": "tsup",
46
46
  "dev": "tsx src/cli.ts",
47
47
  "test": "vitest run && pnpm test:process",
48
+ "test:package": "./scripts/package-smoke.sh",
48
49
  "test:process": "bash scripts/test-devrouter-process.sh",
49
50
  "check": "biome check .",
50
51
  "check:fix": "biome check --write .",
@@ -57,6 +58,7 @@
57
58
  "routing:smoke": "./scripts/smoke-routing.sh",
58
59
  "devcontainer:smoke": "./scripts/smoke-devcontainer.sh",
59
60
  "workspace:lifecycle-smoke": "./scripts/smoke-workspace-lifecycle.sh",
61
+ "workspace:cleanup-smoke": "./scripts/smoke-workspace-cleanup-report.sh",
60
62
  "bench:startup": "zsh -lc 'set -euo pipefail; echo \"=== dev --help (x5) ===\"; for i in {1..5}; do /usr/bin/time -p node dist/devrouter.js --help >/dev/null; done; echo \"=== dev app add --help (x5) ===\"; for i in {1..5}; do /usr/bin/time -p node dist/devrouter.js app add --help >/dev/null; done; echo \"=== dev status --json (x3, best effort) ===\"; for i in {1..3}; do /usr/bin/time -p node dist/devrouter.js status --json >/dev/null || true; done'",
61
63
  "typecheck": "tsc --noEmit",
62
64
  "bootstrap": "pnpm install && pnpm install:local",
@@ -0,0 +1,31 @@
1
+ # Upgrade to devrouter 0.0.36
2
+
3
+ Devrouter gains a report-only inspection path for managed linked workspaces: `devrouter workspace cleanup` joins ownership, DevPod registration and runtime, checkout, route, advisory activity, and integration evidence, and the opt-in `--measure-size` adds per-workspace storage consumption. Configuration, ownership, and route-state schemas are unchanged; only the cleanup `--json` report version moves, from `1` to `2`.
4
+
5
+ 1. Install `@devrouter/cli@0.0.36` on the host and bump `.devrouter.yml` to `devrouter.version: 0.0.36`.
6
+ 2. If any agent workflow parses cleanup `--json`, accept `schemaVersion: 2`. Fields are additive, but a strict equality check against `1` now fails.
7
+ 3. Use `devrouter workspace cleanup --repo <repo> --inactive-for 30d [--json]` to decide what is worth reclaiming. It has no `--yes` and no apply mode, and it never touches DevPod, routes, ownership, Git, Docker, applications, worktrees, or branches. Act only through the exact `workspace gc` or `workspace down` command a row suggests; never script raw `devpod` or `git worktree remove` calls from its output.
8
+ 4. Add `--check-merged` only when you want the read-only origin and GitHub/GitLab checks. Without it the report stays local, and integration state is reported as `not-verified` rather than guessed.
9
+ 5. Add `--measure-size` only when you need sizes. It walks each worktree and asks Docker to size the attributed container, so leave it off for routine evidence checks. Reclaimable figures are `worktree` plus `containerWritable`; `imageShared` covers layers shared with other containers, overlaps across workspaces, and must never be summed or presented as reclaimable.
10
+ 6. Treat every `unknown` figure as unknown rather than zero. A workspace with no attributed container reports a measured `0`, which is a different and trustworthy answer.
11
+ 7. Run `devrouter repo agents --repo <checkout>` to refresh generated guidance.
12
+
13
+ No manual migration is required. Existing owner records, routes, and devcontainer wiring are read as-is, and a repository with no managed linked workspaces reports an empty list rather than an error.
14
+
15
+ Verification:
16
+
17
+ - Run `devrouter -V --repo <checkout>` and confirm both the installed CLI and the local repository report `0.0.36`.
18
+ - Run `devrouter workspace cleanup --repo <repo> --json` and confirm `schemaVersion` is `2` and no `consumption` key is present.
19
+ - Run the same command with `--measure-size` and confirm each workspace carries `consumption`, and that `reclaimable` equals `worktree` plus `containerWritable` wherever both are measured.
20
+ - Run it once with Docker unavailable and confirm the container figures are `unknown` with a reason, worktree bytes stay measured, and the report is still complete.
21
+ - Run `devrouter workspace ls --repo <repo> --json` before and after the report and confirm the output is identical; the report changes no state.
22
+
23
+ Report template:
24
+
25
+ - CLI/config version: `0.0.36`
26
+ - Cleanup `--json` consumers updated for `schemaVersion` 2: `<yes or not applicable>`
27
+ - Report-only run: `<workspace count and evidence states>`
28
+ - Suggestions acted on, if any: `<exact command and result, or none>`
29
+ - Sized run: `<reclaimable totals and any unknown figures with reasons>`
30
+ - Docker-absent run: `<container fields unknown, worktree measured>`
31
+ - Remaining blockers: `<none or details>`
@@ -0,0 +1,30 @@
1
+ # Upgrade to devrouter 0.0.37
2
+
3
+ Devrouter HTTPS readiness probes now pin curl to the exact certificate served
4
+ by the local Traefik router. This avoids a macOS SecureTransport failure while
5
+ retaining hostname verification, SNI, and the existing route status contract.
6
+
7
+ 1. Install `@devrouter/cli@0.0.37` on the host and bump `.devrouter.yml` to
8
+ `devrouter.version: 0.0.37`.
9
+ 2. No schema or data migration is required.
10
+ 3. Re-run `devrouter doctor --repo <checkout> --json` and then use
11
+ `devrouter ensure <checkout> --json` for managed startup. The readiness
12
+ probe still requires the existing mkcert setup and does not use an
13
+ insecure certificate bypass.
14
+
15
+ Verification:
16
+
17
+ - Run `devrouter -V --repo <checkout>` and confirm both the installed CLI and
18
+ local repository report `0.0.37`.
19
+ - Run `devrouter repo devcontainer verify --repo <checkout> --json` and confirm
20
+ the static checks pass.
21
+ - Run `devrouter ensure <checkout> --json` and confirm the HTTPS route reaches
22
+ the existing status contract (`100..499` accepted, `5xx` rejected).
23
+
24
+ Report template:
25
+
26
+ - CLI/config version: `0.0.37`
27
+ - mkcert setup and certificate readiness: `<passed or details>`
28
+ - Static verification: `<passed or details>`
29
+ - Managed HTTPS readiness: `<passed or details>`
30
+ - Remaining blockers: `<none or details>`