frontpage-host 0.1.18 → 0.1.20

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.
@@ -132,8 +132,8 @@ export const MODULE_COMMANDS = [
132
132
  },
133
133
  {
134
134
  key: "payments",
135
- name: "Payments",
136
- summary: "Stripe payments. Connect finishes in the browser, not the terminal.",
135
+ name: "Pay buttons",
136
+ summary: "One-click Stripe pay buttons. No cart. Connect finishes in the browser, not the terminal.",
137
137
  genericActions: GENERIC_ACTIONS,
138
138
  extraActions: [
139
139
  "status",
@@ -151,14 +151,14 @@ export const MODULE_COMMANDS = [
151
151
  ],
152
152
  notes: [
153
153
  "Connect needs an admin API key. It opens Frontpage (you must be logged in there), then Stripe. Already-connected sites stay live — disconnect first to switch accounts.",
154
- "payments and shop share one Stripe account. Disconnecting payments fails if the store still uses that account.",
154
+ "Pay buttons and the Online store share one Stripe account. Disconnecting Pay buttons fails if the store still uses that account.",
155
155
  "request-setup still lights the editor amber bar when you want the owner to finish there.",
156
156
  ],
157
157
  },
158
158
  {
159
159
  key: "shop",
160
160
  name: "Online store",
161
- summary: "Stripe shop. Shares the payments Stripe account.",
161
+ summary: "Catalog, cart, and Stripe checkout. Shares the Pay buttons Stripe account.",
162
162
  genericActions: GENERIC_ACTIONS,
163
163
  extraActions: [
164
164
  "status",
package/dist/registry.js CHANGED
@@ -416,7 +416,7 @@ export const COMMANDS = [
416
416
  {
417
417
  name: "people",
418
418
  summary: "List and manage site People (not inbox, not a module)",
419
- usage: "frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide [--site <slug>] [--json]",
419
+ usage: "frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide|tag|export [--site <slug>] [--json]",
420
420
  topics: ["content"],
421
421
  examples: [
422
422
  "frontpage people list",
@@ -425,14 +425,69 @@ export const COMMANDS = [
425
425
  "frontpage people note <id> --body \"Called them\"",
426
426
  "frontpage people follow-up <id> --at 2026-09-12T00:00:00Z",
427
427
  "frontpage people hide <id>",
428
+ "frontpage people tag <id> --add vip",
429
+ "frontpage people list --tag vip",
430
+ "frontpage people export",
428
431
  ],
429
432
  flags: [
430
- "list: --q --status --source --form-slug --follow-up due|upcoming|none --hidden --sort --last-seen-days --limit --cursor",
433
+ "list: --q --status --source --form-slug --follow-up due|upcoming|none --hidden --sort --last-seen-days --tag --limit --cursor",
431
434
  "add requires --email and/or --phone (never name alone)",
432
- "Hide is not forget — unique email/phone stay; later ingest un-hides",
435
+ "tag: --add <label> | --remove <slug>",
436
+ "export writes UTF-8 CSV (same filters as list). Optional --out <file>",
437
+ "Hide is not forget. Unique email/phone stay; later ingest un-hides",
433
438
  "Unknown leftover flags fail closed (exit 2)",
434
439
  ],
435
- seeAlso: ["inbox", "help content"],
440
+ seeAlso: ["inbox", "https://frontpage.host/developers/people"],
441
+ },
442
+ {
443
+ name: "shop",
444
+ summary: "Store catalog: items, variants, stock, and store settings (not Square, not inbox)",
445
+ usage: "frontpage shop items|variants|categories|settings|orders|payments … [--site <slug>] [--json]",
446
+ topics: ["content"],
447
+ examples: [
448
+ "frontpage shop items list",
449
+ "frontpage shop categories create hats --label Hats",
450
+ "frontpage shop items create camp-hat --title \"Camp hat\" --price-cents 4999 --checkout cart --categories hats --stock 20",
451
+ "frontpage shop items list --category hats",
452
+ "frontpage shop variants add camp-hat --id m --option Size=M --price-cents 4999 --stock 8",
453
+ "frontpage shop items stock camp-hat --variant m --add 5",
454
+ "frontpage shop items stock camp-hat --variant m --remove 5",
455
+ "frontpage shop items stock camp-hat --variant m --set 20",
456
+ "frontpage shop settings set-fulfillment --mode pickup",
457
+ "frontpage shop settings set-currency --currency usd",
458
+ ],
459
+ flags: [
460
+ "Integer cents only. $49.99 is 4999. Do not send 49.99 or a dollar string.",
461
+ "--add / --remove become signed delta. 5 adds 5. --remove 5 removes 5. Result copy is added 5 / removed 5 / set to 20 / stockNow.",
462
+ "Pass either --add, --remove, or --set. Never two together. --set unlimited returns counted stock to unlimited.",
463
+ "items: list|get|create|update|archive|activate [--off] | images --urls … | stock [--variant m] --add|--remove|--set. list --category hats. create/update --categories hats,summer",
464
+ "categories: list|create|rename|archive. Create the category first. Assigning an unknown slug fails.",
465
+ "variants: add|update|archive <itemId> --id m --price-cents … [--option Size=M] [--stock]",
466
+ "settings: get|set-fulfillment|set-currency|set-checkout-fee. Connect stays frontpage modules shop|payments connect.",
467
+ "orders / payments list|get read the same ledgers as frontpage inbox orders|payments",
468
+ "Unknown leftover flags fail closed (exit 2)",
469
+ ],
470
+ seeAlso: ["inbox", "https://frontpage.host/developers/shop"],
471
+ },
472
+ {
473
+ name: "mail",
474
+ summary: "Site mailings: drafts, templates, series, and sends (not People, not inbox)",
475
+ usage: "frontpage mail settings|email|template|series|send|sends|enrolments|suppress … [--site <slug>] [--json]",
476
+ topics: ["content"],
477
+ examples: [
478
+ "frontpage mail settings set --postal \"100 Main St\" --reply-to you@example.com",
479
+ "frontpage mail email create --file draft.json --name Hours",
480
+ "frontpage mail send --file email.json --to ada@example.com --wait",
481
+ "frontpage mail send template <id> --to ada@example.com --var first_name=Ada",
482
+ "frontpage mail series steps set <id> --file steps.json",
483
+ "frontpage mail suppress add --email bounce@example.com",
484
+ ],
485
+ flags: [
486
+ "email list is unsent drafts only. Sent one-offs are mail sends list",
487
+ "send --file is an inline one-off (no saved document)",
488
+ "Blocks and series steps are JSON (--file). Unknown leftover flags fail closed (exit 2)",
489
+ ],
490
+ seeAlso: ["people", "inbox"],
436
491
  },
437
492
  {
438
493
  name: "redirects",
@@ -668,7 +723,12 @@ export const TOPICS = {
668
723
  frontpage media list|upload <file> # images/PDF/video; text/CSV = inline not library; sitePath first when stored
669
724
  frontpage images generate --prompt "…" [--count N] # 1–4 AI variations of one prompt; sitePath first; AI $ + storage
670
725
  frontpage inbox [leads|subscribers|orders|google_reviews|…] [--mark-read] [--csv]
671
- frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide
726
+ frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide|tag|export
727
+ # People CRM guide: https://frontpage.host/developers/people
728
+ frontpage shop items|variants|categories|settings|orders|payments
729
+ # Store catalog: https://frontpage.host/developers/shop
730
+ # Integer cents only. $49.99 is 4999. stock --add/--remove are signed delta.
731
+ frontpage mail settings|email|template|series|send|sends|enrolments|suppress
672
732
  frontpage seo get [/path|--path /path] | seo set --path /
673
733
  frontpage redirects list|set|rm --from /old --to /new
674
734
  frontpage articles list|content|create-section|create-article|set-draft|…
package/llms.txt CHANGED
@@ -16,7 +16,8 @@
16
16
  - Version: frontpage --version | -V | version
17
17
  - SEO get: frontpage seo get [/path|--path /path]; search path filter: [path|--path <path>]; open [/path|--path /path]
18
18
  - Redirects: frontpage redirects list|set|rm — HTTP 301/308, instant, not a file; revert does not undo; do not fake with Astro.redirect / meta refresh
19
- - People: frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide — site-scoped person graph (email or phone). Inbox stays the raw ledger. Hide is not forget. Unknown leftover flags fail closed.
19
+ - People CRM: frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide|tag|export. Site-scoped person graph (email or phone). Inbox stays the raw ledger. Hide is not forget. List export is CSV. Unknown leftover flags fail closed. Guide: https://frontpage.host/developers/people
20
+ - Store catalog: frontpage shop items|variants|categories|settings|orders|payments. Integer cents only ($49.99 is 4999). stock --add/--remove are signed delta (added 5 / removed 5 / set to 20 / stockNow). Create a category before assigning it. Connect stays frontpage modules shop|payments connect. Not Square ordering. Guide: https://frontpage.host/developers/shop
20
21
  - Analytics funnel: --steps JSON array or comma paths (/, /pricing); bad JSON → Invalid JSON for --steps
21
22
  - Modules: unknown key errors list Known: …; mailing list module key is signups (not subscribe)
22
23
  - Errors: --json API envelopes include requestId when the server returned one; local validation omits requestId/httpStatus; runs wait failed/canceled → ok:false + run.error (exit 2); deploy wait = agent idle + tip compile ready (fail-closed / compile timeout → exit 2); push --wait and publish --wait wait for GET /deploy ready
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frontpage-host",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Frontpage CLI — manage your site from the terminal",
5
5
  "type": "module",
6
6
  "bin": {