@cloudgrid-io/mcp 0.20.31 → 0.20.33
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/package.json +4 -3
- package/src/auth.js +29 -0
- package/src/corpus/capability-map.md +5 -5
- package/src/corpus/cloudgrid-yaml.md +2 -2
- package/src/corpus/cookbook.md +1 -1
- package/src/corpus/playbook.md +11 -9
- package/src/corpus/skill-plug.md +1 -1
- package/src/corpus/templates/api-docs/README.md +1 -1
- package/src/corpus/templates/api-docs/index.md +2 -2
- package/src/corpus/templates/appointment-booking/AGENTS.md +2 -2
- package/src/corpus/templates/appointment-booking/index.md +1 -1
- package/src/corpus/templates/changelog/README.md +1 -1
- package/src/corpus/templates/changelog/index.md +2 -2
- package/src/corpus/templates/company-website/README.md +2 -2
- package/src/corpus/templates/company-website/cloudgrid.yaml +1 -1
- package/src/corpus/templates/company-website/index.md +2 -2
- package/src/corpus/templates/dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/dashboard/index.md +2 -2
- package/src/corpus/templates/deck/cloudgrid.yaml +1 -1
- package/src/corpus/templates/deck/index.md +2 -2
- package/src/corpus/templates/docs-site/README.md +1 -1
- package/src/corpus/templates/docs-site/index.md +2 -2
- package/src/corpus/templates/forum/AGENTS.md +1 -1
- package/src/corpus/templates/landing-page/cloudgrid.yaml +1 -1
- package/src/corpus/templates/landing-page/index.md +2 -2
- package/src/corpus/templates/membership-site/AGENTS.md +2 -2
- package/src/corpus/templates/membership-site/index.md +1 -1
- package/src/corpus/templates/portfolio/README.md +1 -1
- package/src/corpus/templates/portfolio/index.md +2 -2
- package/src/corpus/templates/product-launch/README.md +2 -2
- package/src/corpus/templates/product-launch/cloudgrid.yaml +1 -1
- package/src/corpus/templates/product-launch/index.md +2 -2
- package/src/corpus/templates/report/cloudgrid.yaml +1 -1
- package/src/corpus/templates/report/index.md +2 -2
- package/src/corpus/templates/restaurant-reservations/AGENTS.md +1 -1
- package/src/corpus/templates/saas-marketing/README.md +1 -1
- package/src/corpus/templates/saas-marketing/index.md +2 -2
- package/src/corpus/templates/status-page/README.md +1 -1
- package/src/corpus/templates/status-page/index.md +2 -2
- package/src/corpus/templates/subscription-management/AGENTS.md +2 -2
- package/src/corpus/templates/subscription-management/index.md +1 -1
- package/src/corpus/templates/waitlist/README.md +1 -1
- package/src/corpus/templates/waitlist/index.md +2 -2
- package/src/corpus/templates/web-app/cloudgrid.yaml +1 -1
- package/src/corpus/templates/web-app/index.md +2 -2
- package/src/corpus/usage.md +1 -1
- package/src/corpus/workflows/admin-dashboard.md +1 -1
- package/src/corpus/workflows/ai-app.md +1 -1
- package/src/corpus/workflows/ai-knowledge-base.md +1 -1
- package/src/corpus/workflows/analytics-dashboard.md +1 -1
- package/src/corpus/workflows/api-dashboard.md +1 -1
- package/src/corpus/workflows/api-docs.md +1 -1
- package/src/corpus/workflows/api-service.md +1 -1
- package/src/corpus/workflows/app-with-data.md +1 -1
- package/src/corpus/workflows/appointment-booking.md +1 -1
- package/src/corpus/workflows/approval-workflow.md +1 -1
- package/src/corpus/workflows/billing-dashboard.md +2 -2
- package/src/corpus/workflows/blog-cms.md +1 -1
- package/src/corpus/workflows/booking-system.md +1 -1
- package/src/corpus/workflows/calendar-scheduler.md +1 -1
- package/src/corpus/workflows/changelog.md +1 -1
- package/src/corpus/workflows/company-website.md +1 -1
- package/src/corpus/workflows/course-platform.md +1 -1
- package/src/corpus/workflows/crm.md +1 -1
- package/src/corpus/workflows/dashboard.md +1 -1
- package/src/corpus/workflows/directory.md +1 -1
- package/src/corpus/workflows/docs-app.md +3 -3
- package/src/corpus/workflows/docs-site.md +1 -1
- package/src/corpus/workflows/erp.md +1 -1
- package/src/corpus/workflows/event-board.md +1 -1
- package/src/corpus/workflows/expense-tracker.md +1 -1
- package/src/corpus/workflows/feature-request-board.md +1 -1
- package/src/corpus/workflows/financial-dashboard.md +1 -1
- package/src/corpus/workflows/forum.md +1 -1
- package/src/corpus/workflows/hr-portal.md +1 -1
- package/src/corpus/workflows/internal-tools-portal.md +1 -1
- package/src/corpus/workflows/inventory.md +1 -1
- package/src/corpus/workflows/invoice.md +1 -1
- package/src/corpus/workflows/job-board.md +1 -1
- package/src/corpus/workflows/kanban.md +1 -1
- package/src/corpus/workflows/landing-page.md +1 -1
- package/src/corpus/workflows/lms.md +1 -1
- package/src/corpus/workflows/marketplace.md +1 -1
- package/src/corpus/workflows/membership-site.md +1 -1
- package/src/corpus/workflows/monitoring-dashboard.md +1 -1
- package/src/corpus/workflows/online-store.md +2 -2
- package/src/corpus/workflows/portfolio.md +1 -1
- package/src/corpus/workflows/presentation.md +1 -1
- package/src/corpus/workflows/product-catalog.md +1 -1
- package/src/corpus/workflows/product-launch.md +1 -1
- package/src/corpus/workflows/project-management.md +1 -1
- package/src/corpus/workflows/property-listings.md +1 -1
- package/src/corpus/workflows/quiz-platform.md +1 -1
- package/src/corpus/workflows/report.md +1 -1
- package/src/corpus/workflows/restaurant-reservations.md +1 -1
- package/src/corpus/workflows/revenue-dashboard.md +1 -1
- package/src/corpus/workflows/saas-marketing.md +1 -1
- package/src/corpus/workflows/semantic-search.md +1 -1
- package/src/corpus/workflows/status-page.md +1 -1
- package/src/corpus/workflows/subscription-management.md +1 -1
- package/src/corpus/workflows/task-manager.md +1 -1
- package/src/corpus/workflows/ticket-system.md +1 -1
- package/src/corpus/workflows/time-tracking.md +1 -1
- package/src/corpus/workflows/travel-booking.md +1 -1
- package/src/corpus/workflows/waitlist.md +1 -1
- package/src/corpus/workflows/web-app.md +1 -1
- package/src/index.js +2 -2
- package/src/playbook.js +2 -2
- package/src/session-logger.js +3 -3
- package/src/system-ca.js +129 -0
- package/src/tools/constants.js +1 -1
- package/src/tools/register.js +32 -21
- package/src/web.js +1 -1
- package/src/widgets/org-picker.html +1 -1
|
@@ -173,7 +173,7 @@ known user — otherwise anyone could change anyone's plan.
|
|
|
173
173
|
publishable key, price ids, auth publishable key) → `grid_set_env` /
|
|
174
174
|
`services.web.env`. Do NOT set `DATABASE_MONGODB_URL` yourself — the grid
|
|
175
175
|
injects it.
|
|
176
|
-
5. `
|
|
176
|
+
5. `grid_plug` to deploy. A runtime deploy is **ASYNC** — the first response
|
|
177
177
|
is `status: building`, not a live URL. Poll `grid_status` (or the returned
|
|
178
178
|
poll_url) until live; surface a liveness signal while it builds, never a bare
|
|
179
179
|
silent wait.
|
|
@@ -188,5 +188,5 @@ A subscription-management app is a built + deployed runtime container, so it
|
|
|
188
188
|
requires the **local edition** (Claude Desktop / Claude Code) or the CLI. The
|
|
189
189
|
**hosted** edition (Claude Web / hosted MCP) is inline-only and can only publish
|
|
190
190
|
static pages — it CANNOT build this app. On hosted, say so plainly and offer a
|
|
191
|
-
static pricing/plans page (via `
|
|
191
|
+
static pricing/plans page (via `grid_plug`) instead, then stop the runtime
|
|
192
192
|
path.
|
|
@@ -67,7 +67,7 @@ vault:
|
|
|
67
67
|
## Deploy (async, local edition)
|
|
68
68
|
|
|
69
69
|
`grid_create_project` first (creates the entity + link.json), write the app under
|
|
70
|
-
`services/web/`, set the vault secrets with `grid_set_secret`, `
|
|
70
|
+
`services/web/`, set the vault secrets with `grid_set_secret`, `grid_plug`
|
|
71
71
|
(async — poll `grid_status` to a live URL), then register the `/api/webhook`
|
|
72
72
|
URL in Stripe, configure the Billing Portal, and re-plug. Re-plug the same entity
|
|
73
73
|
to update the same URL.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML launch waitlist / coming-soon page: a hero, an email capture form, and a social-proof counter.
|
|
4
4
|
|
|
5
5
|
Static inspiration — a single self-contained `index.html` (inline CSS and JS,
|
|
6
|
-
no external CDNs). It deploys instantly via `
|
|
6
|
+
no external CDNs). It deploys instantly via `grid_plug` and works on every
|
|
7
7
|
CloudGrid edition, including hosted.
|
|
8
8
|
|
|
9
9
|
## Fill it in
|
|
@@ -5,10 +5,10 @@ State (if any) lives only in memory and is lost on refresh.
|
|
|
5
5
|
|
|
6
6
|
## How it deploys
|
|
7
7
|
|
|
8
|
-
To publish this page, use **`
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
9
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
10
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
11
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
12
12
|
|
|
13
13
|
The fillable HTML is the real template — fetch it with
|
|
14
14
|
`grid_get_template("template", "waitlist")` and fill in the user's content.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# THIS TEMPLATE (web-app): a single self-contained static page. The active fields
|
|
17
17
|
# are exactly name + services.web{type: static, path: /}; there are no needs.
|
|
18
18
|
# This cloudgrid.yaml is the reference for plugging it as an OWNED static
|
|
19
|
-
# runtime; the fast path is to deploy it as an INSPIRATION via
|
|
19
|
+
# runtime; the fast path is to deploy it as an INSPIRATION via grid_plug
|
|
20
20
|
# (instant, and works on the hosted edition too).
|
|
21
21
|
# ============================================================================
|
|
22
22
|
|
|
@@ -5,10 +5,10 @@ no `needs:`. State (if any) lives only in memory and is lost on refresh.
|
|
|
5
5
|
|
|
6
6
|
## How it deploys
|
|
7
7
|
|
|
8
|
-
To publish this page, use **`
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
9
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
10
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
11
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
12
12
|
|
|
13
13
|
The fillable HTML is the real template — fetch it with
|
|
14
14
|
`grid_get_template("template", "web-app")` and fill in the user's content.
|
package/src/corpus/usage.md
CHANGED
|
@@ -45,7 +45,7 @@ npx skills add cloudgrid-io/skills
|
|
|
45
45
|
```
|
|
46
46
|
claude mcp add cloudgrid -- npx -y @cloudgrid-io/mcp
|
|
47
47
|
```
|
|
48
|
-
- **Find it under `/mcp`.** Exposes tools `
|
|
48
|
+
- **Find it under `/mcp`.** Exposes tools `grid_plug`, `grid_login`, …
|
|
49
49
|
- Invoke by describing the task; the model calls the tool.
|
|
50
50
|
|
|
51
51
|
> Where did my install go? `/skills` (skills), `/plugin` (plugin), `/mcp` (MCP).
|
|
@@ -90,7 +90,7 @@ before deploying. Don't require it.
|
|
|
90
90
|
|
|
91
91
|
## 7. Deploy (async)
|
|
92
92
|
|
|
93
|
-
Deploy the folder with `
|
|
93
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
94
94
|
response is `status: "building"`, NOT a live URL yet.
|
|
95
95
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
96
96
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -125,7 +125,7 @@ are wired in dev too — and send a test message before deploying. Don't require
|
|
|
125
125
|
|
|
126
126
|
## 7. Deploy (async)
|
|
127
127
|
|
|
128
|
-
Deploy the folder with `
|
|
128
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
129
129
|
response is `status: "building"` with a `poll_url` / entity, NOT a live URL yet.
|
|
130
130
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
131
131
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -129,7 +129,7 @@ Gateway before deploying. Don't require it.
|
|
|
129
129
|
|
|
130
130
|
## 8. Deploy (async)
|
|
131
131
|
|
|
132
|
-
Deploy the folder with `
|
|
132
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
133
133
|
response is `status: "building"`, NOT a live URL yet.
|
|
134
134
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
135
135
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -92,7 +92,7 @@ before deploying. Don't require it.
|
|
|
92
92
|
|
|
93
93
|
## 7. Deploy (async)
|
|
94
94
|
|
|
95
|
-
Deploy the folder with `
|
|
95
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
96
96
|
response is `status: "building"`, NOT a live URL yet.
|
|
97
97
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
98
98
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -90,7 +90,7 @@ before deploying. Don't require it.
|
|
|
90
90
|
|
|
91
91
|
## 7. Deploy (async)
|
|
92
92
|
|
|
93
|
-
Deploy the folder with `
|
|
93
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
94
94
|
response is `status: "building"`, NOT a live URL yet.
|
|
95
95
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
96
96
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,7 +4,7 @@ when: API documentation, API reference, endpoint docs, REST API docs, method/par
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the api-docs template, fill it with the user's endpoints, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -102,7 +102,7 @@ and hit the endpoints before deploying. Don't require it.
|
|
|
102
102
|
|
|
103
103
|
## 7. Deploy (async)
|
|
104
104
|
|
|
105
|
-
Deploy the folder with `
|
|
105
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
106
106
|
response is `status: "building"` with a `poll_url` / entity, NOT a live URL yet.
|
|
107
107
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
108
108
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -103,7 +103,7 @@ and sanity-check before deploying. Don't require it.
|
|
|
103
103
|
|
|
104
104
|
## 7. Deploy (async)
|
|
105
105
|
|
|
106
|
-
Deploy the folder with `
|
|
106
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
107
107
|
response is `status: "building"` with a `poll_url` / entity, NOT a live URL yet.
|
|
108
108
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
109
109
|
- Surface a liveness signal while it builds — keep the user informed, never a
|
|
@@ -128,7 +128,7 @@ claim reminders are live.
|
|
|
128
128
|
|
|
129
129
|
## 9. Deploy (async)
|
|
130
130
|
|
|
131
|
-
Deploy the folder with `
|
|
131
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
132
132
|
response is `status: "building"`, NOT a live URL yet.
|
|
133
133
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
134
134
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -111,7 +111,7 @@ before deploying. Don't require it.
|
|
|
111
111
|
|
|
112
112
|
## 8. Deploy (async)
|
|
113
113
|
|
|
114
|
-
Deploy the folder with `
|
|
114
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
115
115
|
response is `status: "building"`, NOT a live URL yet.
|
|
116
116
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
117
117
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -102,7 +102,7 @@ This is a blueprint — the structure guide is the deliverable, not copy-paste c
|
|
|
102
102
|
|
|
103
103
|
## 7. Deploy (async)
|
|
104
104
|
|
|
105
|
-
Deploy the folder with `
|
|
105
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
106
106
|
response is `status: "building"`, NOT a live URL yet.
|
|
107
107
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
108
108
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -111,7 +111,7 @@ response is `status: "building"`, NOT a live URL yet.
|
|
|
111
111
|
## 8. Wire the Stripe webhook + return the live URL
|
|
112
112
|
|
|
113
113
|
1. Register `<live-url>/api/webhook` as a webhook endpoint in the Stripe dashboard,
|
|
114
|
-
copy its `whsec_…` secret into the vault, and re-`
|
|
114
|
+
copy its `whsec_…` secret into the vault, and re-`grid_plug` the SAME entity
|
|
115
115
|
if you changed the `vault:` mapping (same URL).
|
|
116
116
|
2. Give the user the live dashboard URL — that is the deliverable. To iterate,
|
|
117
117
|
re-plug the SAME entity so it updates the same URL.
|
|
@@ -92,7 +92,7 @@ before deploying. Don't require it.
|
|
|
92
92
|
|
|
93
93
|
## 7. Deploy (async)
|
|
94
94
|
|
|
95
|
-
Deploy the folder with `
|
|
95
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
96
96
|
response is `status: "building"`, NOT a live URL yet.
|
|
97
97
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
98
98
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -104,7 +104,7 @@ require it.
|
|
|
104
104
|
|
|
105
105
|
## 7. Deploy (async)
|
|
106
106
|
|
|
107
|
-
Deploy the folder with `
|
|
107
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
108
108
|
response is `status: "building"`, NOT a live URL yet.
|
|
109
109
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
110
110
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -121,7 +121,7 @@ secrets) before deploying. Don't require it.
|
|
|
121
121
|
|
|
122
122
|
## 9. Deploy (async)
|
|
123
123
|
|
|
124
|
-
Deploy the folder with `
|
|
124
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
125
125
|
response is `status: "building"`, NOT a live URL yet.
|
|
126
126
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
127
127
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,7 +4,7 @@ when: changelog, release notes, what's new, product updates page, version histor
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the changelog template, fill it with the user's release entries, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ when: company website, business site, corporate site, about-us site, small-busin
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the company-website template, fill it with the user's content across hero/about/services/team/contact, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -112,7 +112,7 @@ rules:
|
|
|
112
112
|
|
|
113
113
|
## 7. Deploy (async)
|
|
114
114
|
|
|
115
|
-
Deploy the folder with `
|
|
115
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
116
116
|
response is `status: "building"`, NOT a live URL yet.
|
|
117
117
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
118
118
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -89,7 +89,7 @@ before deploying. Don't require it.
|
|
|
89
89
|
|
|
90
90
|
## 7. Deploy (async)
|
|
91
91
|
|
|
92
|
-
Deploy the folder with `
|
|
92
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
93
93
|
response is `status: "building"`, NOT a live URL yet.
|
|
94
94
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
95
95
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,7 +4,7 @@ when: dashboard, metrics, KPIs, stats page, status board, charts, analytics view
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure, data is baked into the page. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure, data is baked into the page. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the dashboard template, fill it with the user's metrics and inline charts, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -89,7 +89,7 @@ before deploying. Don't require it.
|
|
|
89
89
|
|
|
90
90
|
## 7. Deploy (async)
|
|
91
91
|
|
|
92
|
-
Deploy the folder with `
|
|
92
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
93
93
|
response is `status: "building"`, NOT a live URL yet.
|
|
94
94
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
95
95
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,8 +4,8 @@ when: multi-page documentation SITE, developer docs portal, knowledge base, help
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: static build
|
|
6
6
|
editions: local
|
|
7
|
-
capabilities_note: a built, multi-page static documentation site (Astro Starlight) — sidebar nav, client-side search, and llms.txt / llms-full.txt generated on every build. No infrastructure (no needs:). Because it BUILDS from multiple files, it deploys async and needs the local edition; the hosted MCP cannot build it. Served at the entity root via
|
|
8
|
-
summary: Scaffold an Astro Starlight docs site from the docs-app template, fill in the content, build it, deploy the folder with
|
|
7
|
+
capabilities_note: a built, multi-page static documentation site (Astro Starlight) — sidebar nav, client-side search, and llms.txt / llms-full.txt generated on every build. No infrastructure (no needs:). Because it BUILDS from multiple files, it deploys async and needs the local edition; the hosted MCP cannot build it. Served at the entity root via grid_plug.
|
|
8
|
+
summary: Scaffold an Astro Starlight docs site from the docs-app template, fill in the content, build it, deploy the folder with grid_plug (async → poll to a live URL), then ask the user what visibility they want. llms.txt / llms-full.txt are generated automatically.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Workflow: docs-app
|
|
@@ -98,7 +98,7 @@ looks for `services/site/` and fails with "Service directory not found". No
|
|
|
98
98
|
|
|
99
99
|
## 6. Build + deploy (async)
|
|
100
100
|
|
|
101
|
-
Deploy the folder with `
|
|
101
|
+
Deploy the folder with `grid_plug`. The platform (Cloud Build) runs `npm run
|
|
102
102
|
build` for you and serves the `dist/` output — you do NOT need to build first. A build deploy is **ASYNC**: the first response is
|
|
103
103
|
`status: "building"` with a `poll_url` / entity, NOT a live URL yet.
|
|
104
104
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
@@ -4,7 +4,7 @@ when: single-page docs, a quick guide/manual/README-as-a-page, small knowledge b
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure, content baked into the page. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure, content baked into the page. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the docs-site template, fill it with the user's documentation, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -112,7 +112,7 @@ vault env vars before deploying. Don't require it.
|
|
|
112
112
|
|
|
113
113
|
## 8. Deploy (async)
|
|
114
114
|
|
|
115
|
-
Deploy the folder with `
|
|
115
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
116
116
|
response is `status: "building"`, NOT a live URL yet.
|
|
117
117
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
118
118
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -90,7 +90,7 @@ before deploying. Don't require it.
|
|
|
90
90
|
|
|
91
91
|
## 7. Deploy (async)
|
|
92
92
|
|
|
93
|
-
Deploy the folder with `
|
|
93
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
94
94
|
response is `status: "building"`, NOT a live URL yet.
|
|
95
95
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
96
96
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -90,7 +90,7 @@ before deploying. Don't require it.
|
|
|
90
90
|
|
|
91
91
|
## 7. Deploy (async)
|
|
92
92
|
|
|
93
|
-
Deploy the folder with `
|
|
93
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
94
94
|
response is `status: "building"`, NOT a live URL yet.
|
|
95
95
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
96
96
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -93,7 +93,7 @@ before deploying. Don't require it.
|
|
|
93
93
|
|
|
94
94
|
## 7. Deploy (async)
|
|
95
95
|
|
|
96
|
-
Deploy the folder with `
|
|
96
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
97
97
|
response is `status: "building"`, NOT a live URL yet.
|
|
98
98
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
99
99
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -91,7 +91,7 @@ before deploying. Don't require it.
|
|
|
91
91
|
|
|
92
92
|
## 7. Deploy (async)
|
|
93
93
|
|
|
94
|
-
Deploy the folder with `
|
|
94
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
95
95
|
response is `status: "building"`, NOT a live URL yet.
|
|
96
96
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
97
97
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -116,7 +116,7 @@ Mention that the user can `grid dev` to run locally against the injected Mongo
|
|
|
116
116
|
|
|
117
117
|
## 7. Deploy (async)
|
|
118
118
|
|
|
119
|
-
Deploy the folder with `
|
|
119
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
120
120
|
response is `status: "building"`, NOT a live URL yet.
|
|
121
121
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
122
122
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -103,7 +103,7 @@ vault env vars before deploying. Don't require it.
|
|
|
103
103
|
|
|
104
104
|
## 8. Deploy (async)
|
|
105
105
|
|
|
106
|
-
Deploy the folder with `
|
|
106
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
107
107
|
response is `status: "building"`, NOT a live URL yet.
|
|
108
108
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
109
109
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -113,7 +113,7 @@ vault env vars before deploying. Don't require it.
|
|
|
113
113
|
|
|
114
114
|
## 8. Deploy (async)
|
|
115
115
|
|
|
116
|
-
Deploy the folder with `
|
|
116
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
117
117
|
response is `status: "building"`, NOT a live URL yet.
|
|
118
118
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
119
119
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -89,7 +89,7 @@ before deploying. Don't require it.
|
|
|
89
89
|
|
|
90
90
|
## 7. Deploy (async)
|
|
91
91
|
|
|
92
|
-
Deploy the folder with `
|
|
92
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
93
93
|
response is `status: "building"`, NOT a live URL yet.
|
|
94
94
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
95
95
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -89,7 +89,7 @@ before deploying. Don't require it.
|
|
|
89
89
|
|
|
90
90
|
## 7. Deploy (async)
|
|
91
91
|
|
|
92
|
-
Deploy the folder with `
|
|
92
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
93
93
|
response is `status: "building"`, NOT a live URL yet.
|
|
94
94
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
95
95
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -89,7 +89,7 @@ before deploying. Don't require it.
|
|
|
89
89
|
|
|
90
90
|
## 7. Deploy (async)
|
|
91
91
|
|
|
92
|
-
Deploy the folder with `
|
|
92
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
93
93
|
response is `status: "building"`, NOT a live URL yet.
|
|
94
94
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
95
95
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -90,7 +90,7 @@ before deploying. Don't require it.
|
|
|
90
90
|
|
|
91
91
|
## 7. Deploy (async)
|
|
92
92
|
|
|
93
|
-
Deploy the folder with `
|
|
93
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
94
94
|
response is `status: "building"`, NOT a live URL yet.
|
|
95
95
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
96
96
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,7 +4,7 @@ when: landing page, marketing page, product page, hero page, coming-soon, waitli
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the landing-page template, fill it with the user's content, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -100,7 +100,7 @@ needs:
|
|
|
100
100
|
|
|
101
101
|
## 7. Deploy (async)
|
|
102
102
|
|
|
103
|
-
Deploy the folder with `
|
|
103
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
104
104
|
response is `status: "building"`, NOT a live URL yet.
|
|
105
105
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
106
106
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -110,7 +110,7 @@ secrets before deploying. Don't require it.
|
|
|
110
110
|
|
|
111
111
|
## 8. Deploy (async)
|
|
112
112
|
|
|
113
|
-
Deploy the folder with `
|
|
113
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
114
114
|
response is `status: "building"`, NOT a live URL yet.
|
|
115
115
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
116
116
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -114,7 +114,7 @@ and vault secrets before deploying. Don't require it.
|
|
|
114
114
|
|
|
115
115
|
## 8. Deploy (async)
|
|
116
116
|
|
|
117
|
-
Deploy the folder with `
|
|
117
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
118
118
|
response is `status: "building"`, NOT a live URL yet.
|
|
119
119
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
120
120
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -92,7 +92,7 @@ before deploying. Don't require it.
|
|
|
92
92
|
|
|
93
93
|
## 7. Deploy (async)
|
|
94
94
|
|
|
95
|
-
Deploy the folder with `
|
|
95
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
96
96
|
response is `status: "building"`, NOT a live URL yet.
|
|
97
97
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
98
98
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -96,7 +96,7 @@ This is a blueprint — the structure guide is the deliverable, not copy-paste c
|
|
|
96
96
|
|
|
97
97
|
## 7. Deploy (async)
|
|
98
98
|
|
|
99
|
-
Deploy the folder with `
|
|
99
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
100
100
|
response is `status: "building"`, NOT a live URL yet.
|
|
101
101
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
102
102
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -105,7 +105,7 @@ response is `status: "building"`, NOT a live URL yet.
|
|
|
105
105
|
## 8. Wire the Stripe webhook + return the live URL
|
|
106
106
|
|
|
107
107
|
1. Register `<live-url>/api/webhook` as a webhook endpoint in the Stripe
|
|
108
|
-
dashboard, copy its `whsec_…` secret into the vault, and re-`
|
|
108
|
+
dashboard, copy its `whsec_…` secret into the vault, and re-`grid_plug` the
|
|
109
109
|
SAME entity if you changed the `vault:` mapping (same URL).
|
|
110
110
|
2. Give the user the live store URL — that is the deliverable. To iterate, re-plug
|
|
111
111
|
the SAME entity so it updates the same URL.
|
|
@@ -4,7 +4,7 @@ when: portfolio, personal site, freelancer site, my work, showcase, resume site,
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the portfolio template, fill it with the user's projects and bio, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ when: slides, deck, pitch, presentation, slideshow.
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the deck template, fill it with the user's content, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -93,7 +93,7 @@ before deploying. Don't require it.
|
|
|
93
93
|
|
|
94
94
|
## 7. Deploy (async)
|
|
95
95
|
|
|
96
|
-
Deploy the folder with `
|
|
96
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
97
97
|
response is `status: "building"`, NOT a live URL yet.
|
|
98
98
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
99
99
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,7 +4,7 @@ when: product launch page, launch announcement, new product page, we just launch
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the product-launch template, fill it with the user's product/launch content, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -94,7 +94,7 @@ before deploying. Don't require it.
|
|
|
94
94
|
|
|
95
95
|
## 7. Deploy (async)
|
|
96
96
|
|
|
97
|
-
Deploy the folder with `
|
|
97
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
98
98
|
response is `status: "building"`, NOT a live URL yet.
|
|
99
99
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
100
100
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -89,7 +89,7 @@ before deploying. Don't require it.
|
|
|
89
89
|
|
|
90
90
|
## 7. Deploy (async)
|
|
91
91
|
|
|
92
|
-
Deploy the folder with `
|
|
92
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
93
93
|
response is `status: "building"`, NOT a live URL yet.
|
|
94
94
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
95
95
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -93,7 +93,7 @@ before deploying. Don't require it.
|
|
|
93
93
|
|
|
94
94
|
## 7. Deploy (async)
|
|
95
95
|
|
|
96
|
-
Deploy the folder with `
|
|
96
|
+
Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
|
|
97
97
|
response is `status: "building"`, NOT a live URL yet.
|
|
98
98
|
- Poll `grid_status` (or the returned poll_url) until the entity is live.
|
|
99
99
|
- Surface a liveness signal while it builds — never a bare silent wait.
|
|
@@ -4,7 +4,7 @@ when: report, one-pager, summary, brief, whitepaper, case study, formatted docum
|
|
|
4
4
|
needs: none
|
|
5
5
|
deploy: inspiration
|
|
6
6
|
editions: all
|
|
7
|
-
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via
|
|
7
|
+
capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_plug.
|
|
8
8
|
summary: Fetch the report template, fill it with the user's content, deploy it, and return the live share URL.
|
|
9
9
|
---
|
|
10
10
|
|