@farthershore/cli 0.33.3 → 0.33.4

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
@@ -3,7 +3,7 @@
3
3
  Create and operate [FartherShore](https://farthershore.com) software businesses
4
4
  from the terminal.
5
5
 
6
- **Status: `0.33.3`.** Pre-1.0 — the command surface is stable but may still
6
+ **Status: `0.33.4`.** Pre-1.0 — the command surface is stable but may still
7
7
  change between minor versions. Pin an exact version in CI.
8
8
 
9
9
  FartherShore lets you define a software business as code, then sells, meters,
@@ -21,19 +21,19 @@ the explicitly agent-operable subset of the CLI surface.
21
21
  ## Install
22
22
 
23
23
  ```bash
24
- npm install -g @farthershore/cli@0.33.3
24
+ npm install -g @farthershore/cli@0.33.4
25
25
  ```
26
26
 
27
27
  Or run it directly with npx:
28
28
 
29
29
  ```bash
30
- npx -p @farthershore/cli@0.33.3 farthershore --help
30
+ npx -p @farthershore/cli@0.33.4 farthershore --help
31
31
  ```
32
32
 
33
33
  The package also ships an MCP stdio server for agents:
34
34
 
35
35
  ```bash
36
- npx -p @farthershore/cli@0.33.3 farthershore-mcp
36
+ npx -p @farthershore/cli@0.33.4 farthershore-mcp
37
37
  ```
38
38
 
39
39
  ## Authentication
@@ -509,7 +509,25 @@ farthershore frontend dev # hot-reloading dev server,
509
509
  farthershore frontend preview # production build served as-is, mock mode by default
510
510
  farthershore frontend dev --live # against the real platform
511
511
  farthershore frontend preview --core-url http://localhost:8787
512
- ```
512
+
513
+ # Local preview signed in as a test persona (hot reload against the real platform)
514
+ farthershore frontend dev --live --business acme --env preview --persona alice
515
+ farthershore frontend dev --live --business acme --env preview --persona persona_123 --port 4321
516
+ ```
517
+
518
+ `--live --business --env --persona` (all three required, not combinable with
519
+ `--mock` or `--core-url`) opens `http://localhost:<port>` (default 5173)
520
+ already signed in as that test persona, exactly as the hosted portal would
521
+ be. The CLI issues a short-lived, origin-bound preview lease from Core and
522
+ holds it only in its own process memory; Vite runs on a private random
523
+ loopback port behind a CLI-owned proxy that attaches the lease to portal
524
+ requests and serves the secret-free sign-in bridge. Nothing secret ever
525
+ reaches the browser URL, DOM, storage, or logs — the browser only ever holds
526
+ the same HttpOnly session cookie the hosted portal uses. The lease renews
527
+ automatically while the command runs and is revoked when it exits (Ctrl-C
528
+ included); a lease that cannot be revoked expires within five minutes. Core
529
+ is always the one selected for the authenticated CLI (`--api-url` /
530
+ `FARTHERSHORE_API_URL`).
513
531
 
514
532
  ### `farthershore persona`
515
533
 
@@ -534,9 +552,12 @@ farthershore persona rotate weather-api <personaId> --env preview --format json
534
552
  farthershore persona delete weather-api <personaId> --env preview --format json
535
553
  ```
536
554
 
537
- Bootstrap and rotation return a key once. `login` opens the hosted portal with
538
- a 60-second single-use handoff and never prints its bearer. Product role keys
539
- must already exist in that subscriber's role catalog; omit `--role` to use its
555
+ Bootstrap and rotation return a key once. `login` sends the 60-second,
556
+ single-use handoff only in the browser URL fragment to the platform-owned
557
+ `/persona-sign-in` bridge. The bridge establishes an HttpOnly browser session
558
+ and returns to the exact original portal path, query, and fragment. CLI output
559
+ contains portal metadata but never the handoff or a session bearer. Product
560
+ role keys must already exist in that subscriber's role catalog; omit `--role` to use its
540
561
  configured default. Deletion tears down the temporary user and credential, and
541
562
  deleting the environment also removes the remaining persona-owned workspace.
542
563
  After an environment-branch apply, existing personas remain available but are
@@ -718,18 +739,18 @@ Use `--all-plans` to clear plan scoping.
718
739
  Install or refresh the platform-verified skills bundle together. The platform
719
740
  pins this immutable release, and CI plus a daily repository check compare it to
720
741
  GitHub's latest stable release so the guidance cannot silently drift.
721
- This command requires `@farthershore/cli` 0.33.3 or newer.
742
+ This command requires `@farthershore/cli` 0.33.4 or newer.
722
743
 
723
744
  ```bash
724
745
  set -euo pipefail
725
746
  CLI_VERSION=$(farthershore --version)
726
- printf '%s' "$CLI_VERSION" | node -e 'let v=""; process.stdin.on("data", c => v += c).on("end", () => { const m = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(?:\+[0-9A-Za-z.-]+)?$/.exec(v.trim()); if (!m || !(+m[1] > 0 || +m[2] > 33 || (+m[2] === 33 && +m[3] >= 3))) { console.error("Stop: CLI 0.33.3 or newer is required; ask the human to upgrade."); process.exitCode = 1; } })'
747
+ printf '%s' "$CLI_VERSION" | node -e 'let v=""; process.stdin.on("data", c => v += c).on("end", () => { const m = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(?:\+[0-9A-Za-z.-]+)?$/.exec(v.trim()); if (!m || !(+m[1] > 0 || +m[2] > 33 || (+m[2] === 33 && +m[3] >= 4))) { console.error("Stop: CLI 0.33.4 or newer is required; ask the human to upgrade."); process.exitCode = 1; } })'
727
748
  farthershore skills install --help
728
749
  farthershore skills install
729
750
  ```
730
751
 
731
752
  If either prerequisite fails, stop and ask the human to run
732
- `npm install -g @farthershore/cli@0.33.3`, then repeat the checks.
753
+ `npm install -g @farthershore/cli@0.33.4`, then repeat the checks.
733
754
  Do not install or upgrade global tooling autonomously.
734
755
 
735
756
  The Farther Shore CLI downloads the exact installer archive and verifies this