@drip-apex/apex-cli 0.14.1 → 0.15.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.
Files changed (3) hide show
  1. package/README.md +40 -3
  2. package/dist/cli.js +1390 -434
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -177,7 +177,7 @@ including every subcommand, argument, option, and alias.
177
177
  - `apex triggers apply-recipe` — apply a server-owned trigger recipe.
178
178
  - `apex triggers enable-capture` — enable temporary setup capture.
179
179
  - `apex triggers disable-capture` — disable setup capture and clear its expiry.
180
- - `apex domains` — manage install domains.
180
+ - `apex domains` — manage install domains, and landing-page domains (`claim`, `register`, `status`, `unclaim`; registering asks for a price confirmation).
181
181
  - `apex handover` — manage cross-domain identity handover.
182
182
  - `apex install` — generate storefront installation snippets.
183
183
  - `apex funnels` — manage analytics funnels.
@@ -215,7 +215,7 @@ including every subcommand, argument, option, and alias.
215
215
 
216
216
  - `apex external-pixels` — manage external pixel snippets.
217
217
  - `apex assets` — manage uploaded assets.
218
- - `apex landing-pages` — discover landing pages.
218
+ - `apex landing-pages` — build landing pages with your own tools, then apply, preview, deploy and roll them back.
219
219
  - `apex brand` — manage brand context.
220
220
  - `apex shops` — manage shops and active-shop context.
221
221
  - `apex skills` — inspect agent skill guidance.
@@ -230,10 +230,47 @@ command inventory:
230
230
  | `apex admin shops archive <shopId>` | Archive a shop and disable Apex delivery; use `--force` in non-interactive environments. |
231
231
  | `apex admin shops restore <shopId>` | Restore an archived shop while leaving its runtime kill switch unchanged. |
232
232
 
233
+ ## Landing pages built outside Apex
234
+
235
+ A landing page is built in a checkout folder by any tool (Claude Code, Codex,
236
+ a static-site build); Apex keeps its versions, goals and deploys.
237
+
238
+ ```bash
239
+ apex landing-pages create --name "Fall sale" --out ./fall-sale # or: pull <id> --out ./fall-sale
240
+ # edit ./fall-sale/index.html and its assets; context/ holds brand, catalog, offers and reviews
241
+ apex landing-pages plan ./fall-sale # what would change
242
+ apex landing-pages apply ./fall-sale --yes # new version + signed preview link (24 hours)
243
+ apex landing-pages deploy ./fall-sale # live on the claimed host in apex-landing-page.json
244
+ apex landing-pages rollback ./fall-sale --version 1
245
+ apex landing-pages experiment ./fall-sale --control 1 --variant 2 # draft split; start it in the dashboard
246
+ ```
247
+
248
+ The folder holds the page files (index.html at the root, at most 300 files
249
+ and 25 MB; html, css, js, json, svg, images, fonts, txt, xml, webmanifest),
250
+ `apex-landing-page.json` and the `context/` folder (each pull replaces its JSON
251
+ files with the server's current set). Build with relative asset
252
+ URLs (Vite `base: "./"`). `apex-landing-page.json` sets the name, slug, an
253
+ claimed `host` (deploy needs one, or `--host`: claim it with
254
+ `apex domains claim <host>`; Apex has no shared pages host yet), the `path`, whether Apex injects the shop snippet
255
+ (`snippet`, on by default), the `shop_hosts` that receive the visitor's identity
256
+ on outbound links (default: the shop's install domains), the `goals`
257
+ (key, name, type click, pageview or custom) and an optional `experiment`
258
+ (control and variant version numbers). Apply refuses to run without `--yes`
259
+ when no terminal can confirm, and refuses with exit 5 when the page changed
260
+ since the pull (`--force` replaces it anyway). Pull refuses to overwrite a
261
+ checkout with changes that are not applied, or a folder's own files that are not a
262
+ checkout (exit 5; `--force` discards or replaces them). A deploy makes the page's goals match
263
+ `apex-landing-page.json`, so a goal edited in the dashboard is reset. A deploy or rollback while an
264
+ experiment splits the page keeps serving the experiment's two arms and
265
+ leaves its goals as they are (new manifest goals are added); the deployed
266
+ version serves when the experiment ends, and its goal changes apply at the
267
+ next deploy after that.
268
+
233
269
  ## Which local format am I in?
234
270
 
235
271
  Inspect the marker under `.apex/`: `experiment-filesystem.json` means the
236
- folder belongs to `apex experiments pull/plan/apply`, while `session.json`
272
+ folder belongs to `apex experiments pull/plan/apply`, `landing-page.json` means
273
+ an `apex landing-pages` checkout, while `session.json`
237
274
  means it is an `apex workspace checkout/status/publish` workspace. Keep the two
238
275
  formats in different folders; when the wrong command is run, Apex points to the
239
276
  matching status command.