@revturbine/cli 0.20.0 → 0.21.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 +44 -2
- package/dist/cli.js +19191 -8538
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ Requires Node ≥ 22.13. Source builds use the npm 11.18.0 version declared in
|
|
|
37
37
|
## Quick start
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
revturbine signup # create an
|
|
40
|
+
revturbine signup # create an operator login (email + password + emailed code)
|
|
41
41
|
revturbine login # authorize this machine (device flow)
|
|
42
42
|
revturbine download --live --save ./revturbine.playbook.json
|
|
43
43
|
# …edit ./revturbine.playbook.json…
|
|
@@ -48,6 +48,48 @@ revturbine launch ./revturbine.playbook.json # upload, gate, and g
|
|
|
48
48
|
|
|
49
49
|
`revturbine <command> --help` documents every flag.
|
|
50
50
|
|
|
51
|
+
## Customer application provisioning with Clerk Billing
|
|
52
|
+
|
|
53
|
+
`signup` creates a RevTurbine operator login. `customer-accounts` and
|
|
54
|
+
`customer-users` create records for **your application's customers**. They never
|
|
55
|
+
create operator logins. A customer account can represent a Clerk organization or
|
|
56
|
+
a personal Clerk user; a customer user represents an application user.
|
|
57
|
+
|
|
58
|
+
The `customer-accounts`, `customer-users`, `plans`, and `plan-variations` groups
|
|
59
|
+
each provide `create <file>`, `list`, `get <key>`, `link <key> <file>`, and
|
|
60
|
+
`links <key>`. Use `--json` for automation and `list --all` to follow all pages
|
|
61
|
+
(`--page`, `--per-page`, maximum 100). Every command accepts `--url` and
|
|
62
|
+
`--tenant-id` using the existing operator credentials.
|
|
63
|
+
|
|
64
|
+
Catalog commands require `--environment <handle>` (for example `production`, never the environment database row ID) and exactly one of `--draft`,
|
|
65
|
+
`--live`, or `--release <id>`. Creates accept only `--draft` and do not launch.
|
|
66
|
+
Links additionally require `--provider-instance <Clerk-instance-id>`; identity
|
|
67
|
+
links have no Playbook selector. Keys are your application IDs or stable catalog
|
|
68
|
+
handles, never version-row IDs. Catalog reads use the selected environment's
|
|
69
|
+
draft or frozen release and return 404 if that version is absent.
|
|
70
|
+
Operators can disable this endpoint family with the `customer-provisioning`
|
|
71
|
+
feature flag in the admin UI; disabled endpoints return 503. It defaults to enabled.
|
|
72
|
+
|
|
73
|
+
Clerk Billing manages its plans, prices, and subscriptions; these are not Stripe
|
|
74
|
+
Billing catalog records. Use Clerk's CLI/API or dashboard to provision those
|
|
75
|
+
entities, then record their IDs in RevTurbine. Stripe CLI is optional for payment
|
|
76
|
+
inspection. RevTurbine stores manually authored price snapshots with
|
|
77
|
+
`price_source: "clerk"`, monthly/annual billing, and no `stripe_price_id`.
|
|
78
|
+
See [Clerk Billing overview](https://clerk.com/docs/guides/billing/overview),
|
|
79
|
+
[Clerk CLI](https://clerk.com/docs/cli), and the
|
|
80
|
+
[PowerShell walkthrough](docs/clerk-customer-provisioning.md).
|
|
81
|
+
|
|
82
|
+
Links are scoped to tenant, environment, and Clerk instance and are always
|
|
83
|
+
`unverified`. Recording an ID does not contact Clerk, create a subscription,
|
|
84
|
+
prove payment, or grant entitlements. Exact account/user/link retries return
|
|
85
|
+
the existing record; conflicting associations return 409. Existing user context
|
|
86
|
+
fields are preserved. Rebinding and unlinking are not supported.
|
|
87
|
+
|
|
88
|
+
Catalog creates can mint handles. If a response is lost, the CLI does not retry:
|
|
89
|
+
list the selected draft and reconcile the returned handles before another
|
|
90
|
+
create. Links survive catalog version changes, but reads revalidate the selected
|
|
91
|
+
target: missing/discarded targets return 404 and incompatible prices return 409.
|
|
92
|
+
|
|
51
93
|
## Version selectors
|
|
52
94
|
|
|
53
95
|
Commands that read a config name the version explicitly — there is no default:
|
|
@@ -64,7 +106,7 @@ Commands that read a config name the version explicitly — there is no default:
|
|
|
64
106
|
| Command | What it does |
|
|
65
107
|
|---|---|
|
|
66
108
|
| `init` (alias `create`) | Set up RevTurbine while preserving existing integrations: install missing packages, pin the CLI exactly, create a starter for a fresh integration, and install skills for one agent. Use `--scaffold` to create a missing root starter explicitly; existing files are never overwritten. `--agent claude-code\|cursor\|codex` overrides environment detection; an unknown agent skips skills and prints the selection command. Also supports `--dir`, `--dry-run`, `--no-skills`, `--json`. With no `package.json`, offers a new project (`--yes` for noninteractive creation). Runs the invoked CLI even inside a repo that pins a different one. |
|
|
67
|
-
| `signup` | Create
|
|
109
|
+
| `signup` | Create a RevTurbine operator login headlessly: email + password, then an emailed one-time code to verify, then a token is stored. |
|
|
68
110
|
| `login` / `logout` | Device-flow auth; tokens stored at `~/.revturbine/credentials.json` (mode 0600). For CI, skip login and set `REVTURBINE_TOKEN` (see [CI / non-interactive use](#ci--non-interactive-use)). |
|
|
69
111
|
| `whoami` | Authentication state first: not logged in, credentials accepted, credentials rejected for the selected instance/tenant, or verification unavailable. Then shows instance, tenant, and credentials source; configured tenant information alone does not prove login. Verification and subsequent telemetry each time out after 3 seconds. Status reports exit 0. `--json` retains its seven fields: `instance`, `tenant` (`null` when `REVTURBINE_TOKEN` is set without `-t`: the server resolves the token user's own tenant, and `tenant_source` names the variable), `tenant_source`, `credentials_dir`, `credentials_source`, `token_present` (boolean), and `token_valid` (`true` for 2xx, `false` for 401/403, `null` when absent or unverified, including redirects, other HTTP errors, timeouts and network failures). |
|
|
70
112
|
| `schema` | Emit the bundled `RevTurbineConfig` JSON schema (for agents to author against). |
|