@greatstore/cli 0.0.27 → 0.0.28

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 (4) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +69 -29
  3. package/dist/cli.js +1187 -641
  4. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,38 @@
3
3
  All notable changes to `@greatstore/cli` are recorded here. The format
4
4
  follows [Keep a Changelog](https://keepachangelog.com/).
5
5
 
6
+ ## 0.0.28 — 2026-06-12
7
+
8
+ ### Added
9
+ - `gs configure` — view and edit the store configuration from the CLI:
10
+ display name, assistant name, sales guide, store link, extra origins,
11
+ Shopify login gate, theme, CSP host lists, and icon/logo uploads. Same
12
+ fields and behaviour as the dashboard's Configure panel.
13
+ - `gs connectors` — manage the store's MCP connectors: list, add (with
14
+ a discovery probe before saving), remove, enable/disable, toggle the
15
+ Maker MCP, and health-check. Same behaviour as the dashboard's
16
+ Connectors panel.
17
+ - `--store <slug>` on the new admin commands, so they work outside a
18
+ scaffolded component project (a `.gsrc` is still used when present).
19
+ - The agent skill gains a store-administration reference: coding agents
20
+ can read the store's configuration and connectors to ground their
21
+ work, self-serve additive changes like origin allowlists and CSP
22
+ hosts (read-merge-write), and are told which changes need the
23
+ merchant's go-ahead first.
24
+
25
+ ### Changed
26
+ - Component commands now live under `gs apps` (`gs apps push`,
27
+ `gs apps build`, …), matching the dashboard's Apps panel. The old
28
+ top-level forms keep working as aliases, so existing scripts and
29
+ scaffolded projects are unaffected.
30
+ - The skill's structured-content guide now teaches "point, don't
31
+ paste": name the SKU/product/collection and let GreatStore research
32
+ the catalog itself instead of inlining fetched specs; validate with
33
+ `gs connectors` that a connector exists for the data a prompt or
34
+ schema depends on (research can't exceed the wired-up connectors);
35
+ and never put shopper data in prompts — GreatStore already knows the
36
+ shopper, and identified shoppers get per-shopper cached responses.
37
+
6
38
  ## 0.0.27 — 2026-06-11
7
39
 
8
40
  ### Changed
package/README.md CHANGED
@@ -1,36 +1,78 @@
1
1
  # @greatstore/cli
2
2
 
3
- Author and ship GreatStore custom remote components from the command
4
- line, and set up your AI coding agent to build with GreatStore.
3
+ Administer your GreatStore from the command line store configuration,
4
+ MCP connectors, and custom in-chat apps — and set up your AI coding
5
+ agent to build with GreatStore.
5
6
 
6
7
  ```
7
8
  npm install -g @greatstore/cli
8
9
  gs skill # teach your AI coding agent to build with GreatStore
9
10
  gs login
10
- gs init --store <slug>
11
+ gs configure # see your store's configuration
12
+ gs apps init --store <slug>
11
13
  cd <project> && npm install
12
- gs init my-widget
13
- gs build
14
- gs push
15
- gs publish my-widget
14
+ gs apps init my-widget
15
+ gs apps build
16
+ gs apps push
17
+ gs apps publish my-widget
16
18
  ```
17
19
 
20
+ The CLI mirrors the admin dashboard: `gs configure`, `gs connectors`,
21
+ and `gs apps` correspond to the Configure, Connectors, and Apps panels,
22
+ with the same field names and behaviour.
23
+
18
24
  ## Commands
19
25
 
20
- | Command | What it does |
21
- | --------------------------------------------- | ------------------------------------------------------------- |
22
- | `gs login` | Sign in. |
23
- | `gs logout` | Sign out. |
24
- | `gs whoami` | Print the identity you're signed in as. |
25
- | `gs init <name> [--out <dir>] [--store <s>]` | Scaffold a working component project. |
26
- | `gs build [<name>]` | Build component bundle(s); no args = all. |
27
- | `gs list [--json]` | List components in the current store. |
28
- | `gs pull <name> [--draft\|--live\|--version N] [-o <dir>]` | Download a component to disk. |
29
- | `gs push [<name>] [--manifest path] [--bundle path]` | Upload local changes. |
30
- | `gs publish <name> [--version N]` | Ship a component (optionally a previous version). |
31
- | `gs unpublish <name>` | Hide a published component. |
32
- | `gs delete <name> [--yes]` | Remove the component. |
33
- | `gs skill [--global] [--dir <path>]` | Install the GreatStore agent skill for AI coding agents. |
26
+ ### Account
27
+
28
+ | Command | What it does |
29
+ | ----------- | --------------------------------------- |
30
+ | `gs login` | Sign in. |
31
+ | `gs logout` | Sign out. |
32
+ | `gs whoami` | Print the identity you're signed in as. |
33
+
34
+ ### Configure
35
+
36
+ | Command | What it does |
37
+ | ---------------------------------------- | ---------------------------------------------------------- |
38
+ | `gs configure [--json]` | Show the store configuration. |
39
+ | `gs configure set --<field> <value>` | Edit it. Same fields as the dashboard: `--displayName`, `--assistantName`, `--salesGuide` (or `--salesGuideFile <path>`), `--storeLink`, `--extraOrigins a,b`, `--shopifyLoginGate true\|false`, `--theme '<json>'` (or `--themeFile <path>`), `--cspScriptHosts a,b`, `--cspConnectHosts a,b`. Pass `""` to clear a field. |
40
+ | `gs configure upload <kind> <file>` | Upload `icon`, `logoLight`, or `logoDark` (.png/.jpg/.webp). |
41
+ | `gs configure clear <kind>` | Remove an uploaded asset. |
42
+
43
+ ### Connectors
44
+
45
+ | Command | What it does |
46
+ | ------------------------------------------------------------ | ------------------------------------------------------ |
47
+ | `gs connectors [--json]` | List the Maker MCP toggle and custom MCP connectors. |
48
+ | `gs connectors add <name> --url <url> [--token <t>] [--profileUrl <u>] [--disabled] [--force]` | Add a connector. It's probed for tool discovery first; `--force` saves it anyway. |
49
+ | `gs connectors remove <name\|id>` | Delete a connector. |
50
+ | `gs connectors enable\|disable <name\|id>` | Toggle a connector without deleting it. |
51
+ | `gs connectors maker on\|off` | Toggle the Maker MCP. |
52
+ | `gs connectors health [<name\|id>] [--json]` | Live-probe saved connectors. |
53
+
54
+ ### Apps
55
+
56
+ Custom in-chat app (remote component) commands. Each also works at the
57
+ top level (`gs push` == `gs apps push`), so existing scripts keep
58
+ working.
59
+
60
+ | Command | What it does |
61
+ | ------------------------------------------------------ | -------------------------------------------------- |
62
+ | `gs apps init <name> [--out <dir>] [--store <s>]` | Scaffold a working component project. |
63
+ | `gs apps build [<name>]` | Build component bundle(s); no args = all. |
64
+ | `gs apps list [--json]` | List components in the current store. |
65
+ | `gs apps pull <name> [--draft\|--live\|--version N] [-o <dir>]` | Download a component to disk. |
66
+ | `gs apps push [<name>] [--manifest path] [--bundle path]` | Upload local changes. |
67
+ | `gs apps publish <name> [--version N]` | Ship a component (optionally a previous version). |
68
+ | `gs apps unpublish <name>` | Hide a published component. |
69
+ | `gs apps delete <name> [--yes]` | Remove the component. |
70
+
71
+ ### Agent skill
72
+
73
+ | Command | What it does |
74
+ | ------------------------------------ | --------------------------------------------------------- |
75
+ | `gs skill [--global] [--dir <path>]` | Install the GreatStore agent skill for AI coding agents. |
34
76
 
35
77
  ## Agent skill
36
78
 
@@ -52,12 +94,10 @@ needed.
52
94
  ## Store selection
53
95
 
54
96
  Every command except `login`, `logout`, `whoami`, and `skill` needs a
55
- store. The CLI picks one in this order:
56
-
57
- 1. `--store <slug>` flag.
58
- 2. `.gsrc` in the current directory or any ancestor: `{"store":"demo"}`.
59
- 3. `GS_STORE` environment variable.
60
- 4. Error.
97
+ store.
61
98
 
62
- `gs init` writes a `.gsrc` for you, so commands inside a scaffolded
63
- project don't need a flag.
99
+ - App commands read the slug from a `.gsrc` in the current directory or
100
+ any ancestor: `{"store":"demo"}`. `gs apps init --store <slug>` writes
101
+ it for you, so commands inside a scaffolded project don't need a flag.
102
+ - Admin commands (`configure`, `connectors`) also accept
103
+ `--store <slug>` directly, so they work outside a scaffolded project.