@devrouter/cli 0.0.34 → 0.0.35

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.34",
3
+ "version": "0.0.35",
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",
@@ -49,6 +49,7 @@
49
49
  "check": "biome check .",
50
50
  "check:fix": "biome check --write .",
51
51
  "check:docs-policy": "./scripts/check-docs-policy.sh",
52
+ "check:knowledge": "node --import tsx scripts/check-knowledge.ts",
52
53
  "format": "biome format --write .",
53
54
  "knip": "knip",
54
55
  "lint": "biome lint .",
@@ -0,0 +1,29 @@
1
+ # Upgrade to devrouter 0.0.35
2
+
3
+ Devrouter now binds provider mutations, managed processes, proxy upstreams, and published routes to one exact checkout and runtime generation. Configuration and ownership schemas are unchanged.
4
+
5
+ 1. Install `@devrouter/cli@0.0.35` on the host and bump `.devrouter.yml` to `devrouter.version: 0.0.35`.
6
+ 2. Replace raw `devpod up`, `devpod stop`, or `devpod delete` calls for managed environments with `devrouter ensure <checkout>`, `devrouter stop <checkout>`, `devrouter stop <checkout> --delete`, or the matching `devrouter workspace` command. Raw DevPod mutations bypass devrouter's machine-wide ownership lock.
7
+ 3. For every proxy app started through managed `ensure`, use the resolved checkout alias namespace. Prefer `${WORKSPACE}-<service>:<port>` in `.devrouter.yml` with matching `${WORKSPACE:-<project>}-<service>` Compose aliases for both HTTP and TCP routes.
8
+ 4. Keep the managed adapter contract from `0.0.34`: require `DEVROUTER_PROCESS_HELPER` and call `"$DEVROUTER_PROCESS_HELPER" ensure`. If reuse depends on non-secret runtime values beyond command and workspace identity, set `DEVROUTER_PROCESS_FINGERPRINT_ENV` to their comma-separated environment names before calling the helper. Secret-like names are rejected and raw values are never written to process state.
9
+ 5. Run `devrouter repo agents --repo <checkout>` to refresh generated guidance.
10
+
11
+ No manual route-state migration is required. The first `0.0.35` route read migrates a valid headerless `0.0.34` generation; invalid canonical metadata fails closed instead of discarding routes.
12
+
13
+ Verification:
14
+
15
+ - Run `devrouter doctor --repo <checkout>` and `devrouter repo devcontainer verify --repo <checkout> --json`; confirm the managed post-start and upstream-alias checks are `ok`.
16
+ - Run `devrouter ensure <checkout> --json` twice. Confirm the cold run starts the exact checkout and the warm run preserves the same DevPod and owned process group.
17
+ - For a linked worktree, confirm every published HTTP/TCP upstream begins with its workspace token and every routed endpoint reaches that worktree.
18
+ - Run `devrouter workspace ls --repo <repo> --json` and confirm each owner has one exact worktree path and DevPod ID.
19
+ - If explicit DevPod cleanup is needed, use `devrouter stop <checkout> --delete --json` and confirm the Git checkout remains present.
20
+
21
+ Report template:
22
+
23
+ - CLI/config version: `0.0.35`
24
+ - Raw DevPod lifecycle calls removed: `<yes or not applicable>`
25
+ - Proxy alias namespace: `<workspace/project token and upstreams>`
26
+ - Managed adapter and optional environment identity: `<ok or details>`
27
+ - Cold/warm exact-checkout ensure: `<DevPod id and process evidence>`
28
+ - Route and browser evidence: `<URLs and result>`
29
+ - Remaining blockers: `<none or details>`