@cloudgrid-io/mcp 0.19.2 → 0.20.2

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 (38) hide show
  1. package/README.md +35 -25
  2. package/package.json +2 -1
  3. package/src/auth.js +1 -1
  4. package/src/cli-shim.mjs +1 -1
  5. package/src/corpus/capability-map.md +3 -2
  6. package/src/corpus/cli-reference.md +19 -19
  7. package/src/corpus/cookbook.md +10 -10
  8. package/src/corpus/install-for-agents.md +5 -5
  9. package/src/corpus/install.md +5 -5
  10. package/src/corpus/rules/publish-fallbacks.md +2 -2
  11. package/src/corpus/skill-brain.md +6 -6
  12. package/src/corpus/skill-claim.md +1 -1
  13. package/src/corpus/skill-feedback.md +6 -6
  14. package/src/corpus/skill-init.md +8 -8
  15. package/src/corpus/skill-login.md +3 -3
  16. package/src/corpus/skill-logs.md +5 -5
  17. package/src/corpus/skill-plug.md +9 -9
  18. package/src/corpus/skill-share.md +6 -6
  19. package/src/corpus/skills-readme.md +2 -2
  20. package/src/corpus/templates/docs-app/astro.config.mjs +42 -0
  21. package/src/corpus/templates/docs-app/cloudgrid.yaml +24 -0
  22. package/src/corpus/templates/docs-app/index.md +40 -0
  23. package/src/corpus/templates/docs-app/package.json +19 -0
  24. package/src/corpus/templates/docs-app/src/content/docs/guides/getting-started.md +18 -0
  25. package/src/corpus/templates/docs-app/src/content/docs/index.mdx +22 -0
  26. package/src/corpus/templates/docs-app/src/content/docs/reference/overview.md +13 -0
  27. package/src/corpus/templates/docs-app/src/content.config.ts +7 -0
  28. package/src/corpus/templates/docs-app/tsconfig.json +5 -0
  29. package/src/corpus/troubleshooting/deploy-errors.md +1 -1
  30. package/src/corpus/usage.md +1 -1
  31. package/src/corpus/workflows/app-with-data.md +1 -1
  32. package/src/corpus/workflows/docs-app.md +120 -0
  33. package/src/corpus/workflows/docs-site.md +1 -1
  34. package/src/index.js +29 -0
  35. package/src/log-sink.js +45 -0
  36. package/src/session-logger.js +256 -0
  37. package/src/tools.js +61 -46
  38. package/src/web.js +15 -0
package/README.md CHANGED
@@ -9,7 +9,7 @@ It ships in two editions from one codebase:
9
9
  - **Web (hosted HTTP)** — a light, CLI-free toolset (drop, claim, login,
10
10
  visibility) for web clients like claude.ai. See [REMOTE.md](REMOTE.md).
11
11
 
12
- The local edition wraps the `cloudgrid` CLI for authenticated operations (the CLI
12
+ The local edition wraps the `grid` CLI for authenticated operations (the CLI
13
13
  handles auth, org context, and error formatting) and calls the API directly for the
14
14
  drop, claim, and login tools.
15
15
 
@@ -33,10 +33,10 @@ Install and log in to the CLI:
33
33
 
34
34
  ```
35
35
  npm install -g @cloudgrid-io/cli
36
- cloudgrid login
36
+ grid login
37
37
  ```
38
38
 
39
- The server reads no credentials directly. It runs `cloudgrid`, which uses its own
39
+ The server reads no credentials directly. It runs `grid`, which uses its own
40
40
  stored credentials at `~/.cloudgrid/credentials`.
41
41
 
42
42
  ## Run
@@ -55,6 +55,16 @@ npm start
55
55
 
56
56
  It speaks MCP over stdio. Point any MCP client at the `cloudgrid-mcp` command.
57
57
 
58
+ ### QA session log (optional)
59
+
60
+ Set `CLOUDGRID_QA_SLACK_WEBHOOK` to an **internal / private** Slack incoming-webhook
61
+ URL to receive a per-session QA log (`log-<Client>-<transport>-mcp.txt`) when a
62
+ session goes live, fails, or is abandoned. The log carries the user's first
63
+ message (when the host forwards it) and identity details, so the target channel
64
+ MUST be internal. Unset → the feature is fully dark (nothing captured, nothing
65
+ posted). `CLOUDGRID_QA_IDLE_MS` overrides the abandoned-idle window (default
66
+ 900000 = 15 min).
67
+
58
68
  ## Tools
59
69
 
60
70
  ### Direct-API tools (both editions)
@@ -79,28 +89,28 @@ also work in the web edition where no CLI exists. `grid_login` writes the same
79
89
 
80
90
  | Tool | Wraps | Notes |
81
91
  |---|---|---|
82
- | `grid_init` | `cloudgrid init` | Register an app or agent; optionally seed a web service. |
83
- | `grid_logs` | `cloudgrid logs` | Snapshot of recent logs. Does not stream. Read-only. |
84
- | `grid_share` | `cloudgrid visibility set` | Set visibility, default link. |
85
- | `grid_feedback` | `cloudgrid feedback list` | Read the org feedback feed. Read-only. |
86
- | `grid_whoami` | `cloudgrid whoami` | Show the signed-in user and active org. Read-only. |
87
- | `grid_use` | `cloudgrid use` | Switch the active org. |
88
- | `grid_logout` | `cloudgrid logout` | Sign out and clear local credentials. Destructive. |
89
- | `grid_status` | `cloudgrid status` | Org dashboard or entity detail. Read-only. |
90
- | `grid_info` | `cloudgrid info` | Entity metadata. Read-only. |
91
- | `grid_get` | `cloudgrid get grids\|entities\|spaces` | List grids, entities, or spaces. Read-only. |
92
- | `grid_describe_grid` | `cloudgrid describe grid <slug>` | Grid detail. Read-only. |
93
- | `grid_pickup` | `cloudgrid pickup <name>` | Download an entity's source and bind the folder. |
94
- | `grid_rename` | `cloudgrid rename` | Rename an entity's display name. |
95
- | `grid_unplug` | `cloudgrid unplug` | Take an entity off the grid. Destructive; requires confirm. |
96
- | `grid_delete` | `cloudgrid delete entity` | Archive an inspiration. Destructive; requires confirm. |
97
- | `grid_rollback` | `cloudgrid rollback` | Rollback to a previous version. |
98
- | `grid_versions` | `cloudgrid versions` | List published versions. Read-only. |
99
- | `grid_env` | `cloudgrid env` | Get, set, or list environment variables. |
100
- | `grid_secrets` | `cloudgrid secrets` | Set or list secret names. Never returns secret values. |
101
- | `grid_scaffold` | `cloudgrid scaffold` | Generate starter files. |
102
- | `grid_doctor` | `cloudgrid doctor` | Run local diagnostics. Read-only. |
103
- | `grid_open` | `cloudgrid open --print` | Return the public URL. Does not open a browser. Read-only. |
92
+ | `grid_init` | `grid init` | Register an app or agent; optionally seed a web service. |
93
+ | `grid_logs` | `grid logs` | Snapshot of recent logs. Does not stream. Read-only. |
94
+ | `grid_share` | `grid visibility set` | Set visibility, default link. |
95
+ | `grid_feedback` | `grid feedback list` | Read the org feedback feed. Read-only. |
96
+ | `grid_whoami` | `grid whoami` | Show the signed-in user and active org. Read-only. |
97
+ | `grid_use` | `grid use` | Switch the active org. |
98
+ | `grid_logout` | `grid logout` | Sign out and clear local credentials. Destructive. |
99
+ | `grid_status` | `grid status` | Org dashboard or entity detail. Read-only. |
100
+ | `grid_info` | `grid info` | Entity metadata. Read-only. |
101
+ | `grid_get` | `grid get grids\|entities\|spaces` | List grids, entities, or spaces. Read-only. |
102
+ | `grid_describe_grid` | `grid describe grid <slug>` | Grid detail. Read-only. |
103
+ | `grid_pickup` | `grid pickup <name>` | Download an entity's source and bind the folder. |
104
+ | `grid_rename` | `grid rename` | Rename an entity's display name. |
105
+ | `grid_unplug` | `grid unplug` | Take an entity off the grid. Destructive; requires confirm. |
106
+ | `grid_delete` | `grid delete entity` | Archive an inspiration. Destructive; requires confirm. |
107
+ | `grid_rollback` | `grid rollback` | Rollback to a previous version. |
108
+ | `grid_versions` | `grid versions` | List published versions. Read-only. |
109
+ | `grid_env` | `grid env` | Get, set, or list environment variables. |
110
+ | `grid_secrets` | `grid secrets` | Set or list secret names. Never returns secret values. |
111
+ | `grid_scaffold` | `grid scaffold` | Generate starter files. |
112
+ | `grid_doctor` | `grid doctor` | Run local diagnostics. Read-only. |
113
+ | `grid_open` | `grid open --print` | Return the public URL. Does not open a browser. Read-only. |
104
114
 
105
115
  `grid_share` and `grid_visibility` overlap on purpose: `grid_share`
106
116
  wraps the CLI and defaults to `link`; `grid_visibility` is direct API, takes an
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudgrid-io/mcp",
3
- "version": "0.19.2",
3
+ "version": "0.20.2",
4
4
  "description": "MCP server for CloudGrid. Three editions: a local stdio server (full toolset), a hosted web server (light, CLI-free toolset), and a public docs server (search_cloudgrid_documentation) over MCP Streamable HTTP.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,6 +17,7 @@
17
17
  "start:web": "node src/web.js",
18
18
  "smoke": "node test/smoke.mjs",
19
19
  "test:plug-wire": "node test/plug-wire.test.mjs",
20
+ "test:session-log": "node test/session-logger.test.mjs",
20
21
  "test:error-reporting": "node test/error-reporting.test.mjs",
21
22
  "test:source": "node test/source-fetch.test.mjs",
22
23
  "test:app-with-data": "node test/app-with-data.test.mjs",
package/src/auth.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // CLI-free sign-in against CloudGrid's existing OAuth backend.
2
2
  //
3
- // The flow is the same one `cloudgrid login` uses, driven without the CLI:
3
+ // The flow is the same one `grid login` uses, driven without the CLI:
4
4
  // 1. pick a UUID `code`
5
5
  // 2. user opens GET /auth/login?code=<code> and signs in with Google
6
6
  // 3. poll GET /auth/status?code=<code> until it returns the signed JWT (once)
package/src/cli-shim.mjs CHANGED
@@ -19,7 +19,7 @@
19
19
  // It also strips ELECTRON_RUN_AS_NODE from the environment: the variable has
20
20
  // done its job once this file is executing, and letting it leak further would
21
21
  // break anything Electron-based the CLI spawns later (e.g. a browser opened
22
- // for `cloudgrid login` would silently boot as a headless Node process).
22
+ // for `grid login` would silently boot as a headless Node process).
23
23
 
24
24
  import { pathToFileURL } from "node:url";
25
25
 
@@ -18,13 +18,14 @@ cloudgrid.yaml schema (every field, the `needs:` injection table, the
18
18
  requires-vs-needs caveat, validation rules), fetch the companion reference:
19
19
  `grid_fetch("doc", "cloudgrid-yaml")`.
20
20
 
21
- ## The 59 templates
21
+ ## The 60 templates
22
22
 
23
23
  | Intent (match on `when:`) | Template | `needs:` | Deploy | Edition |
24
24
  |---|---|---|---|---|
25
25
  | landing page, marketing/product/hero page, coming-soon, link-in-bio, event page — a single-section page | `landing-page` | none | inspiration (instant) | all |
26
26
  | SaaS marketing site, product marketing page, features + pricing page — multi-section with pricing tiers, testimonials, FAQ | `saas-marketing` | none | inspiration (instant) | all |
27
- | documentation site, docs, developer docs, guide, manual, knowledge base — prose docs with sidebar + search | `docs-site` | none | inspiration (instant) | all |
27
+ | single-page docs, a quick guide/manual/README-as-a-page, small knowledge base — prose with sidebar + search baked into ONE HTML file (instant, works on hosted). For a multi-page site you'll keep editing, use `docs-app` | `docs-site` | none | inspiration (instant) | all |
28
+ | multi-page documentation site you'll keep editing, developer docs portal, knowledge base, help center — sidebar + full-text search + agent-readable llms.txt, built with Astro Starlight (separate content files, not one page). For a quick single page, use `docs-site` | `docs-app` | none | static build | local |
28
29
  | API documentation, API reference, endpoint docs, REST API docs — method badges, params tables, request/response examples | `api-docs` | none | inspiration (instant) | all |
29
30
  | status page, service status, uptime page, incident history, is-it-down page — display-only, status baked in | `status-page` | none | inspiration (instant) | all |
30
31
  | changelog, release notes, what's new, product updates, version history | `changelog` | none | inspiration (instant) | all |
@@ -42,39 +42,39 @@ brew install cloudgrid-io/tap/cloudgrid
42
42
  npm install -g @cloudgrid-io/cli
43
43
  ```
44
44
 
45
- **Manual** — download the latest from [Releases](https://github.com/cloudgrid-io/cli/releases), extract, and put `cloudgrid` on your `$PATH`.
45
+ **Manual** — download the latest from [Releases](https://github.com/cloudgrid-io/cli/releases), extract, and put `grid` on your `$PATH`.
46
46
 
47
- Verify: `cloudgrid --version` and `cloudgrid doctor`. The shorthand `cg` works for every command.
47
+ Verify: `grid --version` and `grid doctor`.
48
48
 
49
49
  ## Quickstart
50
50
 
51
51
  ```
52
- cloudgrid login # Google OAuth in the browser
53
- cloudgrid whoami # confirm user + active org
54
- cloudgrid plug # build + deploy the current directory, prints the live URL
55
- cloudgrid open # open it in the browser
52
+ grid login # Google OAuth in the browser
53
+ grid whoami # confirm user + active org
54
+ grid plug # build + deploy the current directory, prints the live URL
55
+ grid open # open it in the browser
56
56
  ```
57
57
 
58
- No account needed to try a one-off share: `cloudgrid plug ./index.html` drops a public link.
58
+ No account needed to try a one-off share: `grid plug ./index.html` drops a public link.
59
59
 
60
60
  ## Examples
61
61
 
62
62
  ```
63
63
  # Scaffold and deploy a Node app
64
- cloudgrid init app my-api --type node
65
- cd my-api && cloudgrid plug
64
+ grid init app my-api --type node
65
+ cd my-api && grid plug
66
66
 
67
67
  # Deploy the current directory and tail its logs
68
- cloudgrid plug
69
- cloudgrid logs --since 10m
68
+ grid plug
69
+ grid logs --since 10m
70
70
 
71
71
  # Make a deploy public, then read feedback
72
- cloudgrid visibility set my-api link
73
- cloudgrid feedback
72
+ grid visibility set my-api link
73
+ grid feedback
74
74
 
75
75
  # Switch org, list what's on the grid
76
- cloudgrid use atomic
77
- cloudgrid grid
76
+ grid use atomic
77
+ grid grid
78
78
  ```
79
79
 
80
80
  ## Commands
@@ -122,7 +122,7 @@ Common per-command:
122
122
  npm update -g @cloudgrid-io/cli # npm
123
123
  brew upgrade cloudgrid # homebrew
124
124
  ```
125
- `cloudgrid doctor` warns when a newer version is available.
125
+ `grid doctor` warns when a newer version is available.
126
126
 
127
127
  ## Uninstall
128
128
 
@@ -134,9 +134,9 @@ rm -rf ~/.cloudgrid # remove stored credentials + config
134
134
 
135
135
  ## Troubleshooting
136
136
 
137
- - **`cloudgrid: command not found`** — ensure the npm global bin (or Homebrew bin) is on `$PATH`; re-run the installer.
138
- - **Auth errors / 401** — `cloudgrid login` again; check `cloudgrid whoami` shows the expected org, switch with `cloudgrid use <org>`.
139
- - **Deploy fails** — run `cloudgrid doctor`; check `cloudgrid logs` and `cloudgrid status <name>` for the trace.
137
+ - **`grid: command not found`** — ensure the npm global bin (or Homebrew bin) is on `$PATH`; re-run the installer.
138
+ - **Auth errors / 401** — `grid login` again; check `grid whoami` shows the expected org, switch with `grid use <org>`.
139
+ - **Deploy fails** — run `grid doctor`; check `grid logs` and `grid status <name>` for the trace.
140
140
 
141
141
  ## Support
142
142
 
@@ -9,7 +9,7 @@ The CLI is installed and you are logged in:
9
9
 
10
10
  ```
11
11
  npm install -g @cloudgrid-io/cli
12
- cloudgrid login
12
+ grid login
13
13
  ```
14
14
 
15
15
  ## The build-and-ship loop
@@ -23,27 +23,27 @@ init -> plug -> logs -> share -> feedback
23
23
  Register a new app and seed a static web service:
24
24
 
25
25
  ```
26
- cloudgrid init app my-thing --type static
26
+ grid init app my-thing --type static
27
27
  ```
28
28
 
29
29
  `--type` accepts `node`, `nextjs`, `python`, or `static`. For an agent, use
30
- `cloudgrid init agent my-thing`.
30
+ `grid init agent my-thing`.
31
31
 
32
32
  ### 2. Deploy
33
33
 
34
34
  From the project directory, deploy it:
35
35
 
36
36
  ```
37
- cloudgrid plug
37
+ grid plug
38
38
  ```
39
39
 
40
- `cloudgrid plug` also takes a path or a URL. It builds and deploys, then prints the
40
+ `grid plug` also takes a path or a URL. It builds and deploys, then prints the
41
41
  live URL. This usually takes about 30 seconds.
42
42
 
43
43
  ### 3. Watch the logs
44
44
 
45
45
  ```
46
- cloudgrid logs my-thing --follow
46
+ grid logs my-thing --follow
47
47
  ```
48
48
 
49
49
  Drop `--follow` for a one-time tail. `--since 5m` limits how far back to read.
@@ -53,13 +53,13 @@ Drop `--follow` for a one-time tail. `--since 5m` limits how far back to read.
53
53
  Make the entity reachable by anyone with the link. The command prints the URL:
54
54
 
55
55
  ```
56
- cloudgrid visibility set my-thing link
56
+ grid visibility set my-thing link
57
57
  ```
58
58
 
59
59
  ### 5. Read feedback
60
60
 
61
61
  ```
62
- cloudgrid feedback list
62
+ grid feedback list
63
63
  ```
64
64
 
65
65
  ## Share an artifact with no account
@@ -98,10 +98,10 @@ the drop's expiry. Editing an archived or expired drop returns 409
98
98
 
99
99
  - **Ship an existing directory:** `plug`
100
100
  - **Deploy a URL as an inspiration:** `plug https://example.com`
101
- - **Refresh discovery metadata after a change:** `cloudgrid brain refresh my-thing --wait`
101
+ - **Refresh discovery metadata after a change:** `grid brain refresh my-thing --wait`
102
102
 
103
103
  ## Notes
104
104
 
105
105
  - Every command uses the active org and linked entity when you omit the name. Run
106
- `cloudgrid whoami` to see the active context.
106
+ `grid whoami` to see the active context.
107
107
  - These skills wrap the CLI. Anything the CLI can do, a skill can drive.
@@ -5,10 +5,10 @@ order. Stop and ask the user only where a step says to.
5
5
 
6
6
  ## 1. Ensure the CLI is present
7
7
 
8
- Check whether `cloudgrid` is on `$PATH`:
8
+ Check whether `grid` is on `$PATH`:
9
9
 
10
10
  ```
11
- cloudgrid --version
11
+ grid --version
12
12
  ```
13
13
 
14
14
  If that fails, install it:
@@ -20,10 +20,10 @@ npm install -g @cloudgrid-io/cli
20
20
  ## 2. Ensure the user is logged in
21
21
 
22
22
  ```
23
- cloudgrid whoami
23
+ grid whoami
24
24
  ```
25
25
 
26
- If that fails, tell the user to run `cloudgrid login` and wait for them to confirm.
26
+ If that fails, tell the user to run `grid login` and wait for them to confirm.
27
27
  Do not attempt to log in for them. Do not invent an auth flow.
28
28
 
29
29
  ## 3. Confirm the skills are available
@@ -44,7 +44,7 @@ Load the `SKILL.md` for the action the user wants:
44
44
 
45
45
  Each `SKILL.md` carries its own steps. Follow them exactly. The common rules:
46
46
 
47
- - Wrap only the `cloudgrid` CLI. Do not call the API directly.
47
+ - Wrap only the `grid` CLI. Do not call the API directly.
48
48
  - Detect the user's language from their first message and reply in it. Keep
49
49
  technical flags in English.
50
50
  - Print results concisely: URLs and short summaries. Never dump raw JSON or IDs.
@@ -5,14 +5,14 @@ cover the CLI prerequisite, then each agent.
5
5
 
6
6
  ## Prerequisite: the CloudGrid CLI
7
7
 
8
- Every skill drives the `cloudgrid` CLI. Install it once and log in:
8
+ Every skill drives the `grid` CLI. Install it once and log in:
9
9
 
10
10
  ```
11
11
  npm install -g @cloudgrid-io/cli
12
- cloudgrid login
12
+ grid login
13
13
  ```
14
14
 
15
- `cloudgrid whoami` confirms you are logged in.
15
+ `grid whoami` confirms you are logged in.
16
16
 
17
17
  ## Add the skills
18
18
 
@@ -124,7 +124,7 @@ The MCP server is published separately as
124
124
  npx -y @cloudgrid-io/mcp
125
125
  ```
126
126
 
127
- It wraps the same `cloudgrid` CLI and uses the same credentials, so no extra login
127
+ It wraps the same `grid` CLI and uses the same credentials, so no extra login
128
128
  is needed. Remote-capable clients can point at `https://mcp.cloudgrid.io/mcp`
129
129
  instead. See [USAGE.md](USAGE.md) for per-client snippets.
130
130
 
@@ -138,7 +138,7 @@ Desktop: Settings, Extensions, Install from file):
138
138
  https://github.com/cloudgrid-io/mcp/releases/latest/download/cloudgrid.mcpb
139
139
  ```
140
140
 
141
- The bundle carries the full local toolset (including the `cloudgrid` CLI), so deploy
141
+ The bundle carries the full local toolset (including the `grid` CLI), so deploy
142
142
  and secrets tools work without a separate install. Sign in from chat with the
143
143
  `grid_login` tool on first use.
144
144
 
@@ -14,8 +14,8 @@ loops forever.
14
14
 
15
15
  This is a known platform issue, not a mistake in your request. Do not retry with
16
16
  different flag or path permutations — they will all fail the same way. If a
17
- terminal is available, deploy from the CLI instead (`grid plug <path>` or
18
- `cloudgrid plug <path>`). If no terminal is available, stop and tell the user
17
+ terminal is available, deploy from the CLI instead (`grid plug <path>`).
18
+ If no terminal is available, stop and tell the user
19
19
  this is a known issue and needs the CLI.
20
20
 
21
21
  ## 429 anonymous cap
@@ -4,7 +4,7 @@ name: brain
4
4
  description: |
5
5
  Refresh a CloudGrid entity's Grid Brain metadata. Use when the user wants to
6
6
  re-classify an entity, regenerate its description, tags, or diagram, or update
7
- how it appears in discovery after a change. Wraps cloudgrid brain refresh.
7
+ how it appears in discovery after a change. Wraps grid brain refresh.
8
8
  argument-hint: "[name]"
9
9
  allowed-tools: Bash
10
10
  ---
@@ -13,12 +13,12 @@ allowed-tools: Bash
13
13
 
14
14
  Re-run the Grid Brain hooks for an entity to re-classify its description, tags, and
15
15
  diagram. Use this after a change so discovery reflects the current state. Wraps
16
- `cloudgrid brain refresh`.
16
+ `grid brain refresh`.
17
17
 
18
18
  ## Step 0 — Bootstrap
19
19
 
20
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
21
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
20
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
21
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
22
22
  confirmation.
23
23
 
24
24
  ## UX rules
@@ -30,7 +30,7 @@ diagram. Use this after a change so discovery reflects the current state. Wraps
30
30
  ## How to run it
31
31
 
32
32
  ```
33
- cloudgrid brain refresh my-thing --wait
33
+ grid brain refresh my-thing --wait
34
34
  ```
35
35
 
36
36
  `--wait` polls until the refresh finishes, up to about 60 seconds. Without it, the
@@ -46,4 +46,4 @@ Other flags:
46
46
 
47
47
  The refresh reports each hook: classify (description and tags), identification, and
48
48
  the diagram. Summarize the outcome in one line, for example "Re-classified with 3
49
- tags." Suggest `cloudgrid status <name>` if the user wants the full updated entity.
49
+ tags." Suggest `grid status <name>` if the user wants the full updated entity.
@@ -21,7 +21,7 @@ re-homes the drop into the user's grid, so its public URL changes from
21
21
  ## Step 0 — sign in first
22
22
 
23
23
  Claiming needs an identity. If the user is not signed in, run the `cloudgrid:login`
24
- skill (or `cloudgrid login` with the CLI) first.
24
+ skill (or `grid login` with the CLI) first.
25
25
 
26
26
  ## What you need
27
27
 
@@ -4,19 +4,19 @@ name: feedback
4
4
  description: |
5
5
  Read the CloudGrid feedback feed. Use when the user wants to see feedback, check
6
6
  what people said, review reactions, or read recent feedback events for their org.
7
- Wraps cloudgrid feedback list.
7
+ Wraps grid feedback list.
8
8
  argument-hint: "[--since 7d]"
9
9
  allowed-tools: Bash
10
10
  ---
11
11
 
12
12
  # CloudGrid Feedback
13
13
 
14
- List recent feedback events for the active org. Wraps `cloudgrid feedback list`.
14
+ List recent feedback events for the active org. Wraps `grid feedback list`.
15
15
 
16
16
  ## Step 0 — Bootstrap
17
17
 
18
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
18
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
20
20
  confirmation.
21
21
 
22
22
  ## UX rules
@@ -28,7 +28,7 @@ List recent feedback events for the active org. Wraps `cloudgrid feedback list`.
28
28
  ## How to run it
29
29
 
30
30
  ```
31
- cloudgrid feedback list
31
+ grid feedback list
32
32
  ```
33
33
 
34
34
  The feed is scoped to the active org. It is not filtered by entity. Useful flags:
@@ -44,6 +44,6 @@ when there are many. Surface the ones that look like bugs or blockers first.
44
44
 
45
45
  ## Note: reading vs sending
46
46
 
47
- This skill reads the feed. `cloudgrid feedback "<message>"` does the opposite: it
47
+ This skill reads the feed. `grid feedback "<message>"` does the opposite: it
48
48
  sends feedback to the CloudGrid team. Do not send feedback unless the user clearly
49
49
  asks to report something.
@@ -4,7 +4,7 @@ name: init
4
4
  description: |
5
5
  Scaffold a new CloudGrid app or agent. Use when the user wants to start a new
6
6
  project, create a new entity, set up a new app or agent, or seed a web service
7
- (node, nextjs, python, or static) before deploying. Wraps cloudgrid init.
7
+ (node, nextjs, python, or static) before deploying. Wraps grid init.
8
8
  argument-hint: "[app|agent] [name]"
9
9
  allowed-tools: Bash
10
10
  ---
@@ -12,12 +12,12 @@ allowed-tools: Bash
12
12
  # CloudGrid Init
13
13
 
14
14
  Register a new app or agent in the active org and, optionally, seed a web service
15
- to deploy. Wraps `cloudgrid init`. After this, `cloudgrid:plug` deploys it.
15
+ to deploy. Wraps `grid init`. After this, `cloudgrid:plug` deploys it.
16
16
 
17
17
  ## Step 0 — Bootstrap
18
18
 
19
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
20
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
19
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
20
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
21
21
  confirmation.
22
22
 
23
23
  ## UX rules
@@ -47,25 +47,25 @@ Optional, only if the user implies them:
47
47
  Register an app and seed a static site:
48
48
 
49
49
  ```
50
- cloudgrid init app my-thing --type static
50
+ grid init app my-thing --type static
51
51
  ```
52
52
 
53
53
  Register an agent:
54
54
 
55
55
  ```
56
- cloudgrid init agent my-helper
56
+ grid init agent my-helper
57
57
  ```
58
58
 
59
59
  Register without seeding any files (you will add your own):
60
60
 
61
61
  ```
62
- cloudgrid init app my-thing
62
+ grid init app my-thing
63
63
  ```
64
64
 
65
65
  ## After init
66
66
 
67
67
  Tell the user the entity is registered and what is next: `cd` into the directory
68
- (if seeded) and run `cloudgrid plug` to deploy. Hand off to `cloudgrid:plug`.
68
+ (if seeded) and run `grid plug` to deploy. Hand off to `cloudgrid:plug`.
69
69
 
70
70
  ## References
71
71
 
@@ -18,10 +18,10 @@ There are two paths. Pick the first that fits.
18
18
 
19
19
  ## Path 1 — the CLI is installed
20
20
 
21
- If `cloudgrid` is on `$PATH`, this is the simplest and safest:
21
+ If `grid` is on `$PATH`, this is the simplest and safest:
22
22
 
23
23
  ```
24
- cloudgrid login
24
+ grid login
25
25
  ```
26
26
 
27
27
  It opens the browser, handles the OAuth flow, and stores the token. Stop here.
@@ -74,7 +74,7 @@ uses (`~/.cloudgrid/credentials`), so the two share one identity.
74
74
 
75
75
  ## After login
76
76
 
77
- Confirm the user is signed in (`cloudgrid whoami` if the CLI is present). If they
77
+ Confirm the user is signed in (`grid whoami` if the CLI is present). If they
78
78
  made an anonymous drop earlier, this is the moment to offer to claim it.
79
79
 
80
80
  ## Notes
@@ -4,19 +4,19 @@ name: logs
4
4
  description: |
5
5
  Tail logs for a CloudGrid entity. Use when the user wants to see logs, watch
6
6
  output, follow a running app, debug a deploy, or check why something is failing.
7
- Wraps cloudgrid logs.
7
+ Wraps grid logs.
8
8
  argument-hint: "[name]"
9
9
  allowed-tools: Bash
10
10
  ---
11
11
 
12
12
  # CloudGrid Logs
13
13
 
14
- Stream or tail logs from an entity's pods. Wraps `cloudgrid logs`.
14
+ Stream or tail logs from an entity's pods. Wraps `grid logs`.
15
15
 
16
16
  ## Step 0 — Bootstrap
17
17
 
18
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
18
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
20
20
  confirmation.
21
21
 
22
22
  ## UX rules
@@ -30,7 +30,7 @@ Stream or tail logs from an entity's pods. Wraps `cloudgrid logs`.
30
30
  Tail the recent logs for an entity by name:
31
31
 
32
32
  ```
33
- cloudgrid logs my-thing
33
+ grid logs my-thing
34
34
  ```
35
35
 
36
36
  With no name, it uses the entity linked to the current directory.
@@ -6,7 +6,7 @@ description: |
6
6
  wants to ship, deploy, publish, share, send a friend a link, or go live — a
7
7
  single HTML page or a full app. One self-contained HTML page publishes instantly
8
8
  as an inspiration (any edition, no login needed); a multi-file app deploys from a
9
- directory or URL. Wraps cloudgrid plug.
9
+ directory or URL. Wraps grid plug.
10
10
  argument-hint: "[path-or-url]"
11
11
  allowed-tools: Bash
12
12
  ---
@@ -23,7 +23,7 @@ Deploy or share a creation and get a public URL. This is the one deploy/share ve
23
23
  **any edition**, no login required. See "Share a single HTML page" below.
24
24
  - **Anything more** — separate files/folders, a real `assets/` dir, separate
25
25
  `.css`/`.js`, multiple pages, a SPA build — **or** any data/server/LLM/cron need
26
- → a **runtime app**: `cloudgrid plug` on a linked folder, **local edition only**,
26
+ → a **runtime app**: `grid plug` on a linked folder, **local edition only**,
27
27
  async build. See "Deploy an app" below.
28
28
 
29
29
  ## Share a single HTML page (the fast path)
@@ -75,12 +75,12 @@ Print the `url` on its own line so it can be copied in one go. A single page is
75
75
 
76
76
  ## Deploy an app
77
77
 
78
- Wraps `cloudgrid plug`. Prints the live URL when it is done.
78
+ Wraps `grid plug`. Prints the live URL when it is done.
79
79
 
80
80
  ## Step 0 — Bootstrap
81
81
 
82
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
83
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
82
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
83
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
84
84
  confirmation.
85
85
 
86
86
  ## UX rules
@@ -95,7 +95,7 @@ Wraps `cloudgrid plug`. Prints the live URL when it is done.
95
95
  Most of the time, run it from the project directory with no arguments:
96
96
 
97
97
  ```
98
- cloudgrid plug
98
+ grid plug
99
99
  ```
100
100
 
101
101
  It uses the entity linked to the directory, builds, deploys, and prints the URL.
@@ -103,9 +103,9 @@ A first deploy usually takes about 30 seconds; larger builds take longer.
103
103
 
104
104
  Other shapes:
105
105
 
106
- - **A specific path:** `cloudgrid plug ./site`
107
- - **A URL as an inspiration:** `cloudgrid plug https://example.com`
108
- - **Bind to an existing entity first:** `cloudgrid plug --existing <entity-id>`
106
+ - **A specific path:** `grid plug ./site`
107
+ - **A URL as an inspiration:** `grid plug https://example.com`
108
+ - **Bind to an existing entity first:** `grid plug --existing <entity-id>`
109
109
 
110
110
  If this is the user's first deploy in the org, the CLI may ask which org to use.
111
111
  Pass `--org <slug>` to skip that prompt.