@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.
- package/README.md +35 -25
- package/package.json +2 -1
- package/src/auth.js +1 -1
- package/src/cli-shim.mjs +1 -1
- package/src/corpus/capability-map.md +3 -2
- package/src/corpus/cli-reference.md +19 -19
- package/src/corpus/cookbook.md +10 -10
- package/src/corpus/install-for-agents.md +5 -5
- package/src/corpus/install.md +5 -5
- package/src/corpus/rules/publish-fallbacks.md +2 -2
- package/src/corpus/skill-brain.md +6 -6
- package/src/corpus/skill-claim.md +1 -1
- package/src/corpus/skill-feedback.md +6 -6
- package/src/corpus/skill-init.md +8 -8
- package/src/corpus/skill-login.md +3 -3
- package/src/corpus/skill-logs.md +5 -5
- package/src/corpus/skill-plug.md +9 -9
- package/src/corpus/skill-share.md +6 -6
- package/src/corpus/skills-readme.md +2 -2
- package/src/corpus/templates/docs-app/astro.config.mjs +42 -0
- package/src/corpus/templates/docs-app/cloudgrid.yaml +24 -0
- package/src/corpus/templates/docs-app/index.md +40 -0
- package/src/corpus/templates/docs-app/package.json +19 -0
- package/src/corpus/templates/docs-app/src/content/docs/guides/getting-started.md +18 -0
- package/src/corpus/templates/docs-app/src/content/docs/index.mdx +22 -0
- package/src/corpus/templates/docs-app/src/content/docs/reference/overview.md +13 -0
- package/src/corpus/templates/docs-app/src/content.config.ts +7 -0
- package/src/corpus/templates/docs-app/tsconfig.json +5 -0
- package/src/corpus/troubleshooting/deploy-errors.md +1 -1
- package/src/corpus/usage.md +1 -1
- package/src/corpus/workflows/app-with-data.md +1 -1
- package/src/corpus/workflows/docs-app.md +120 -0
- package/src/corpus/workflows/docs-site.md +1 -1
- package/src/index.js +29 -0
- package/src/log-sink.js +45 -0
- package/src/session-logger.js +256 -0
- package/src/tools.js +61 -46
- 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 `
|
|
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
|
-
|
|
36
|
+
grid login
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
The server reads no credentials directly. It runs `
|
|
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` | `
|
|
83
|
-
| `grid_logs` | `
|
|
84
|
-
| `grid_share` | `
|
|
85
|
-
| `grid_feedback` | `
|
|
86
|
-
| `grid_whoami` | `
|
|
87
|
-
| `grid_use` | `
|
|
88
|
-
| `grid_logout` | `
|
|
89
|
-
| `grid_status` | `
|
|
90
|
-
| `grid_info` | `
|
|
91
|
-
| `grid_get` | `
|
|
92
|
-
| `grid_describe_grid` | `
|
|
93
|
-
| `grid_pickup` | `
|
|
94
|
-
| `grid_rename` | `
|
|
95
|
-
| `grid_unplug` | `
|
|
96
|
-
| `grid_delete` | `
|
|
97
|
-
| `grid_rollback` | `
|
|
98
|
-
| `grid_versions` | `
|
|
99
|
-
| `grid_env` | `
|
|
100
|
-
| `grid_secrets` | `
|
|
101
|
-
| `grid_scaffold` | `
|
|
102
|
-
| `grid_doctor` | `
|
|
103
|
-
| `grid_open` | `
|
|
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.
|
|
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 `
|
|
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 `
|
|
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
|
|
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
|
-
|
|
|
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 `
|
|
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: `
|
|
47
|
+
Verify: `grid --version` and `grid doctor`.
|
|
48
48
|
|
|
49
49
|
## Quickstart
|
|
50
50
|
|
|
51
51
|
```
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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: `
|
|
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
|
-
|
|
65
|
-
cd my-api &&
|
|
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
|
-
|
|
69
|
-
|
|
68
|
+
grid plug
|
|
69
|
+
grid logs --since 10m
|
|
70
70
|
|
|
71
71
|
# Make a deploy public, then read feedback
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
grid visibility set my-api link
|
|
73
|
+
grid feedback
|
|
74
74
|
|
|
75
75
|
# Switch org, list what's on the grid
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
`
|
|
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
|
-
- **`
|
|
138
|
-
- **Auth errors / 401** — `
|
|
139
|
-
- **Deploy fails** — run `
|
|
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
|
|
package/src/corpus/cookbook.md
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
`
|
|
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
|
-
|
|
37
|
+
grid plug
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
`
|
|
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
|
-
|
|
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
|
-
|
|
56
|
+
grid visibility set my-thing link
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
### 5. Read feedback
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
|
|
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:** `
|
|
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
|
-
`
|
|
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 `
|
|
8
|
+
Check whether `grid` is on `$PATH`:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
|
|
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
|
-
|
|
23
|
+
grid whoami
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
If that fails, tell the user to run `
|
|
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 `
|
|
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.
|
package/src/corpus/install.md
CHANGED
|
@@ -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 `
|
|
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
|
-
|
|
12
|
+
grid login
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
`
|
|
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 `
|
|
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 `
|
|
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>`
|
|
18
|
-
|
|
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
|
|
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
|
-
`
|
|
16
|
+
`grid brain refresh`.
|
|
17
17
|
|
|
18
18
|
## Step 0 — Bootstrap
|
|
19
19
|
|
|
20
|
-
1. If `
|
|
21
|
-
2. If `
|
|
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
|
-
|
|
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 `
|
|
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 `
|
|
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
|
|
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 `
|
|
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 `
|
|
19
|
-
2. If `
|
|
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
|
-
|
|
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. `
|
|
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.
|
package/src/corpus/skill-init.md
CHANGED
|
@@ -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
|
|
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 `
|
|
15
|
+
to deploy. Wraps `grid init`. After this, `cloudgrid:plug` deploys it.
|
|
16
16
|
|
|
17
17
|
## Step 0 — Bootstrap
|
|
18
18
|
|
|
19
|
-
1. If `
|
|
20
|
-
2. If `
|
|
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
|
-
|
|
50
|
+
grid init app my-thing --type static
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
Register an agent:
|
|
54
54
|
|
|
55
55
|
```
|
|
56
|
-
|
|
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
|
-
|
|
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 `
|
|
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 `
|
|
21
|
+
If `grid` is on `$PATH`, this is the simplest and safest:
|
|
22
22
|
|
|
23
23
|
```
|
|
24
|
-
|
|
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 (`
|
|
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
|
package/src/corpus/skill-logs.md
CHANGED
|
@@ -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
|
|
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 `
|
|
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 `
|
|
19
|
-
2. If `
|
|
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
|
-
|
|
33
|
+
grid logs my-thing
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
With no name, it uses the entity linked to the current directory.
|
package/src/corpus/skill-plug.md
CHANGED
|
@@ -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
|
|
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**: `
|
|
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 `
|
|
78
|
+
Wraps `grid plug`. Prints the live URL when it is done.
|
|
79
79
|
|
|
80
80
|
## Step 0 — Bootstrap
|
|
81
81
|
|
|
82
|
-
1. If `
|
|
83
|
-
2. If `
|
|
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
|
-
|
|
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:** `
|
|
107
|
-
- **A URL as an inspiration:** `
|
|
108
|
-
- **Bind to an existing entity first:** `
|
|
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.
|