@cloudgrid-io/mcp 0.17.0 → 0.19.0
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 +1 -1
- package/src/corpus/capability-map.md +12 -6
- package/src/corpus/cloudgrid-yaml.md +7 -5
- package/src/corpus/cookbook.md +4 -4
- package/src/corpus/install-for-agents.md +1 -2
- package/src/corpus/skill-plug.md +69 -6
- package/src/corpus/skills-readme.md +9 -9
- package/src/corpus/templates/api-docs/README.md +1 -1
- package/src/corpus/templates/api-docs/index.md +2 -3
- package/src/corpus/templates/appointment-booking/AGENTS.md +1 -1
- package/src/corpus/templates/changelog/README.md +1 -1
- package/src/corpus/templates/changelog/index.md +2 -3
- package/src/corpus/templates/company-website/README.md +2 -3
- package/src/corpus/templates/company-website/cloudgrid.yaml +1 -1
- package/src/corpus/templates/company-website/index.md +2 -3
- package/src/corpus/templates/dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/dashboard/index.md +2 -3
- package/src/corpus/templates/deck/cloudgrid.yaml +1 -1
- package/src/corpus/templates/deck/index.md +2 -3
- package/src/corpus/templates/docs-site/README.md +1 -1
- package/src/corpus/templates/docs-site/index.md +2 -3
- package/src/corpus/templates/landing-page/cloudgrid.yaml +1 -1
- package/src/corpus/templates/landing-page/index.md +2 -3
- package/src/corpus/templates/membership-site/AGENTS.md +1 -1
- package/src/corpus/templates/portfolio/README.md +1 -1
- package/src/corpus/templates/portfolio/index.md +2 -3
- package/src/corpus/templates/product-launch/README.md +2 -3
- package/src/corpus/templates/product-launch/cloudgrid.yaml +1 -1
- package/src/corpus/templates/product-launch/index.md +2 -3
- package/src/corpus/templates/report/cloudgrid.yaml +1 -1
- package/src/corpus/templates/report/index.md +2 -3
- package/src/corpus/templates/saas-marketing/README.md +1 -1
- package/src/corpus/templates/saas-marketing/index.md +2 -3
- package/src/corpus/templates/status-page/README.md +1 -1
- package/src/corpus/templates/status-page/index.md +2 -3
- package/src/corpus/templates/subscription-management/AGENTS.md +1 -1
- package/src/corpus/templates/waitlist/README.md +1 -1
- package/src/corpus/templates/waitlist/index.md +2 -3
- package/src/corpus/templates/web-app/cloudgrid.yaml +1 -1
- package/src/corpus/templates/web-app/index.md +2 -3
- package/src/corpus/usage.md +2 -2
- package/src/corpus/workflows/api-docs.md +1 -1
- package/src/corpus/workflows/changelog.md +1 -1
- package/src/corpus/workflows/company-website.md +1 -1
- package/src/corpus/workflows/dashboard.md +1 -1
- package/src/corpus/workflows/docs-site.md +1 -1
- package/src/corpus/workflows/landing-page.md +1 -1
- package/src/corpus/workflows/portfolio.md +1 -1
- package/src/corpus/workflows/presentation.md +1 -1
- package/src/corpus/workflows/product-launch.md +1 -1
- package/src/corpus/workflows/report.md +1 -1
- package/src/corpus/workflows/saas-marketing.md +1 -1
- package/src/corpus/workflows/status-page.md +1 -1
- package/src/corpus/workflows/waitlist.md +1 -1
- package/src/corpus/workflows/web-app.md +1 -1
- package/src/tools.js +353 -650
- package/src/web.js +1 -1
- package/src/widgets/org-picker.html +3 -3
- package/src/corpus/skill-drop.md +0 -140
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudgrid-io/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
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": {
|
|
@@ -4,9 +4,14 @@ This is the index an LLM uses to turn a user request into the right CloudGrid
|
|
|
4
4
|
template, the way Superpowers matches a skill's `when:`. Match the request to a
|
|
5
5
|
template by its `when:` triggers, adopt that template's `needs:`, then deploy:
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
> **One deploy verb: `grid_plug`.** Classify the artifact to pick the shape —
|
|
8
|
+
> ONE self-contained HTML page (CSS+JS inline, images/fonts as data: URIs) →
|
|
9
|
+
> **inspiration**; separate files/folders/assets or any `needs:` → **runtime app**.
|
|
10
|
+
|
|
11
|
+
- **single self-contained HTML page → inspiration** (instant, any client / any
|
|
12
|
+
edition) via `grid_plug` with the inline `html` param.
|
|
13
|
+
- **separate files/folders/assets, or anything needing `needs:` → runtime app**
|
|
14
|
+
(async build, **local edition** only) via `grid_plug` on a linked folder.
|
|
10
15
|
|
|
11
16
|
Fetch this doc any time with `grid_fetch("doc", "capability-map")`. For the full
|
|
12
17
|
cloudgrid.yaml schema (every field, the `needs:` injection table, the
|
|
@@ -173,9 +178,10 @@ engine hint. Cron is NOT a need — it is a **service type** (`type: cron` with
|
|
|
173
178
|
`api-service`); talks to an LLM → `ai: true` + `database` (`ai-app`); scheduled
|
|
174
179
|
work → a `type: cron` service (Python/Node, supported on 0.14.0). (Held for now:
|
|
175
180
|
RAG's ideal `vector: pgvector`, #1545 — store embeddings in Mongo until it lands.)
|
|
176
|
-
3.
|
|
177
|
-
|
|
178
|
-
|
|
181
|
+
3. One self-contained HTML page (`needs: none`, assets inlined) → publish as an
|
|
182
|
+
inspiration with `grid_plug` and the inline `html` param (instant, any
|
|
183
|
+
edition). Separate files/folders/assets, or anything with a `needs:` →
|
|
184
|
+
runtime, local edition, `grid_plug` a linked folder, then poll to a live URL.
|
|
179
185
|
|
|
180
186
|
## FAQ
|
|
181
187
|
|
|
@@ -25,10 +25,11 @@ new yaml with it.
|
|
|
25
25
|
|
|
26
26
|
These are the shapes verified against live deploys. Copy one and adapt it.
|
|
27
27
|
|
|
28
|
-
###
|
|
28
|
+
### Single HTML page → deploys as an inspiration (instant)
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
`
|
|
30
|
+
One self-contained HTML page (CSS+JS inline, images/fonts as data: URIs). No
|
|
31
|
+
`needs:`. Publishes instantly via `grid_plug` with the inline `html` param,
|
|
32
|
+
works on any edition (hosted or local).
|
|
32
33
|
|
|
33
34
|
```yaml
|
|
34
35
|
name: landing-page
|
|
@@ -540,8 +541,9 @@ Bake these into any yaml you author:
|
|
|
540
541
|
it**; use `needs:` instead.
|
|
541
542
|
- **`needs:` and `requires:` together are HARD-REJECTED** by the validator ("use
|
|
542
543
|
one or the other"). So author **`needs:`-only** — never set both.
|
|
543
|
-
- **
|
|
544
|
-
synchronous, works on the hosted edition
|
|
544
|
+
- **A single self-contained HTML page deploys as an inspiration** via `grid_plug`
|
|
545
|
+
with the inline `html` param — instant, synchronous, works on the hosted edition
|
|
546
|
+
and any client.
|
|
545
547
|
- **A `cloudgrid.yaml` with `services:` makes it a runtime** — async build,
|
|
546
548
|
**local edition only** (Claude Desktop/Code or the CLI, not hosted). `plug`
|
|
547
549
|
returns `status: building`; poll status until live, then use the returned live
|
package/src/corpus/cookbook.md
CHANGED
|
@@ -72,10 +72,10 @@ curl -sS -X POST https://api.cloudgrid.io/api/v2/plug \
|
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
The response includes `url` (the live link — use it verbatim), `entity_id`,
|
|
75
|
-
`owner_token` (keep both to update the
|
|
76
|
-
before it expires to keep it). This is what the `cloudgrid
|
|
77
|
-
`
|
|
78
|
-
only; a full app needs the signed-in `plug` flow above.
|
|
75
|
+
`owner_token` (keep both to update the page later), and `claim_url` (sign in
|
|
76
|
+
before it expires to keep it). This is what the `cloudgrid:plug` skill and the
|
|
77
|
+
`grid_plug` MCP tool (inline `html` param) do for you. It is anonymous and serves
|
|
78
|
+
inspirations only; a full app needs the signed-in `plug` flow above.
|
|
79
79
|
|
|
80
80
|
## Update your drop in place
|
|
81
81
|
|
|
@@ -31,11 +31,10 @@ Do not attempt to log in for them. Do not invent an auth flow.
|
|
|
31
31
|
The skills live in this repo, one directory per skill, each with a `SKILL.md`.
|
|
32
32
|
Load the `SKILL.md` for the action the user wants:
|
|
33
33
|
|
|
34
|
-
- `skills/drop/SKILL.md` — share an artifact, get a URL (no login needed)
|
|
35
34
|
- `skills/login/SKILL.md` — sign in, with or without the CLI
|
|
36
35
|
- `skills/claim/SKILL.md` — claim an anonymous drop into the account
|
|
37
36
|
- `skills/init/SKILL.md` — scaffold a new app or agent
|
|
38
|
-
- `skills/plug/SKILL.md` — deploy a directory
|
|
37
|
+
- `skills/plug/SKILL.md` — share a single HTML page or deploy a directory/URL, get a URL
|
|
39
38
|
- `skills/logs/SKILL.md` — tail logs
|
|
40
39
|
- `skills/share/SKILL.md` — make an entity shareable
|
|
41
40
|
- `skills/feedback/SKILL.md` — read the feedback feed
|
package/src/corpus/skill-plug.md
CHANGED
|
@@ -1,18 +1,81 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: 0.
|
|
2
|
+
version: 0.3.0
|
|
3
3
|
name: plug
|
|
4
4
|
description: |
|
|
5
|
-
Deploy a
|
|
6
|
-
publish,
|
|
7
|
-
|
|
5
|
+
Deploy or share a creation on CloudGrid and get a public URL. Use when the user
|
|
6
|
+
wants to ship, deploy, publish, share, send a friend a link, or go live — a
|
|
7
|
+
single HTML page or a full app. One self-contained HTML page publishes instantly
|
|
8
|
+
as an inspiration (any edition, no login needed); a multi-file app deploys from a
|
|
9
|
+
directory or URL. Wraps cloudgrid plug.
|
|
8
10
|
argument-hint: "[path-or-url]"
|
|
9
11
|
allowed-tools: Bash
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
# CloudGrid Plug
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
Deploy or share a creation and get a public URL. This is the one deploy/share verb
|
|
17
|
+
— a single HTML page or a full app — and the center of the build-and-ship loop.
|
|
18
|
+
|
|
19
|
+
## Classify the artifact first
|
|
20
|
+
|
|
21
|
+
- **ONE self-contained HTML page** (a single file — CSS+JS inline, images/fonts as
|
|
22
|
+
data: URIs; the normal hosted output) → an **inspiration**: instant, works on
|
|
23
|
+
**any edition**, no login required. See "Share a single HTML page" below.
|
|
24
|
+
- **Anything more** — separate files/folders, a real `assets/` dir, separate
|
|
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**,
|
|
27
|
+
async build. See "Deploy an app" below.
|
|
28
|
+
|
|
29
|
+
## Share a single HTML page (the fast path)
|
|
30
|
+
|
|
31
|
+
No account and no CLI needed — that is the point: anyone can publish a page. Write
|
|
32
|
+
the page to a single self-contained HTML file (a full document starting with
|
|
33
|
+
`<!doctype html>` or `<html>`; wrap a fragment in a minimal document). HTML is
|
|
34
|
+
capped at 2 MB for anonymous publishes. Then POST it to the unified plug endpoint:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
curl -sS -X POST https://api.cloudgrid.io/api/v2/plug \
|
|
38
|
+
-F "artifact=@/path/to/index.html;type=text/html"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The response is JSON (HTTP 201 anonymous). Read these fields:
|
|
42
|
+
|
|
43
|
+
- `url` — the live link, composed by the server. Use it verbatim; never compose a
|
|
44
|
+
URL from the slug yourself.
|
|
45
|
+
- `entity_id` — the durable handle for updating this page later (see re-plug below).
|
|
46
|
+
- `owner_token` — a JWT proving you made this page. It authorizes an anonymous
|
|
47
|
+
re-plug and doubles as the claim token; its lifetime matches the expiry (default
|
|
48
|
+
7 days). Persist it with `entity_id` and `url`.
|
|
49
|
+
- `claim_url` / `claim_message` — the link + nudge to sign in and keep it past expiry.
|
|
50
|
+
|
|
51
|
+
Signed in, publish into your own grid instead (owned, no claim needed):
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
JWT=$(jq -r .jwt ~/.cloudgrid/credentials 2>/dev/null)
|
|
55
|
+
ORG=$(grep -E '^\s*active_org_slug:' ~/.cloudgrid/config.yaml | awk '{print $2}')
|
|
56
|
+
curl -sS -X POST https://api.cloudgrid.io/api/v2/plug \
|
|
57
|
+
-H "Authorization: Bearer $JWT" -H "X-CloudGrid-Org: $ORG" \
|
|
58
|
+
-F "artifact=@/path/to/index.html;type=text/html"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The MCP `grid_plug` tool does all of this for you: pass the page as its inline
|
|
62
|
+
`html` param (it materializes one `index.html` and handles anon/claim/re-plug).
|
|
63
|
+
|
|
64
|
+
### Re-plug: update the same URL in place
|
|
65
|
+
|
|
66
|
+
`/api/v2/plug` is a unified create-or-update endpoint. The switch is the
|
|
67
|
+
`target_entity_id` form field: absent → create (new URL); present → update the
|
|
68
|
+
SAME entity (same slug, same URL, new content). Anonymously, prove ownership with
|
|
69
|
+
the `owner_token`; signed in, use your normal auth headers. Every anonymous edit
|
|
70
|
+
REFRESHES the `owner_token` (store the newest) and resets the expiry. Editing an
|
|
71
|
+
archived/expired page returns **409 `EDIT_REJECTED`** — it never silently creates.
|
|
72
|
+
|
|
73
|
+
Print the `url` on its own line so it can be copied in one go. A single page is an
|
|
74
|
+
**inspiration only** — a full app needs the deploy flow below.
|
|
75
|
+
|
|
76
|
+
## Deploy an app
|
|
77
|
+
|
|
78
|
+
Wraps `cloudgrid plug`. Prints the live URL when it is done.
|
|
16
79
|
|
|
17
80
|
## Step 0 — Bootstrap
|
|
18
81
|
|
|
@@ -37,9 +37,9 @@ behalf: scaffold, deploy, tail logs, share, read feedback. Everything here is fr
|
|
|
37
37
|
CLI-wrapping tools). The MCP auto-starts when the plugin is enabled — no
|
|
38
38
|
separate `claude mcp add` needed.
|
|
39
39
|
|
|
40
|
-
The skills show under `/plugin` and `/skills` as `cloudgrid:
|
|
41
|
-
`cloudgrid:login`, … — or just say what you want ("
|
|
42
|
-
|
|
40
|
+
The skills show under `/plugin` and `/skills` as `cloudgrid:plug`,
|
|
41
|
+
`cloudgrid:login`, … — or just say what you want ("share this HTML page as a
|
|
42
|
+
link") and the right one triggers.
|
|
43
43
|
|
|
44
44
|
Or install with the `gh skill` extension:
|
|
45
45
|
|
|
@@ -48,7 +48,7 @@ behalf: scaffold, deploy, tail logs, share, read feedback. Everything here is fr
|
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Other agents (Cursor, Cline, Gemini CLI): `npx skills add cloudgrid-io/skills`.
|
|
51
|
-
They install as `
|
|
51
|
+
They install as `plug`, `login`, … — the CloudGrid brand comes from the plugin
|
|
52
52
|
namespace, which those agents don't have.
|
|
53
53
|
|
|
54
54
|
Claude Desktop, claude.ai, ChatGPT, and every route in one place: [USAGE.md](USAGE.md).
|
|
@@ -56,21 +56,21 @@ behalf: scaffold, deploy, tail logs, share, read feedback. Everything here is fr
|
|
|
56
56
|
## Share something in one step, no login
|
|
57
57
|
|
|
58
58
|
```
|
|
59
|
-
/cloudgrid:
|
|
59
|
+
/cloudgrid:plug index.html
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
`cloudgrid:
|
|
63
|
-
|
|
62
|
+
`cloudgrid:plug` publishes a single HTML page (or deploys a full app) and hands
|
|
63
|
+
back a public URL. For a single page: no account, no CLI — the link lasts 7 days,
|
|
64
|
+
and you can sign in later to keep it.
|
|
64
65
|
|
|
65
66
|
## Skills
|
|
66
67
|
|
|
67
68
|
| Skill | Invoke | What it does |
|
|
68
69
|
|---|---|---|
|
|
69
|
-
| `drop` | `/cloudgrid:drop` | Share an HTML page or file, get a public URL. Login optional. |
|
|
70
70
|
| `login` | `/cloudgrid:login` | Sign in to CloudGrid, with or without the CLI. |
|
|
71
71
|
| `claim` | `/cloudgrid:claim` | Claim an anonymous drop into your account after signing in. |
|
|
72
72
|
| `init` | `/cloudgrid:init` | Scaffold a new app or agent. |
|
|
73
|
-
| `plug` | `/cloudgrid:plug` |
|
|
73
|
+
| `plug` | `/cloudgrid:plug` | Share a single HTML page (login optional) or deploy a directory/URL. Get a public URL. |
|
|
74
74
|
| `logs` | `/cloudgrid:logs` | Tail logs for an entity. |
|
|
75
75
|
| `share` | `/cloudgrid:share` | Make an entity shareable and print its URL. |
|
|
76
76
|
| `feedback` | `/cloudgrid:feedback` | Read the feedback feed. |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML API reference: a sidebar endpoint list, per-endpoint method badges (GET / POST / PUT / DELETE), a params table, and request / response examples in code blocks.
|
|
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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "api-docs")` and fill in the user's content.
|
|
@@ -188,7 +188,7 @@ An appointment-booking 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 "book us" landing page (via `
|
|
191
|
+
static "book us" landing page (via `grid_plug`) instead, then stop the runtime
|
|
192
192
|
path.
|
|
193
193
|
|
|
194
194
|
## 7. Reminders (cron — PENDING platform issue #1543)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML changelog / release-notes page: reverse-chronological versioned entries, each with a date and tagged change items (added / fixed / changed / removed).
|
|
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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "changelog")` and fill in the user's content.
|
|
@@ -10,11 +10,10 @@ wire it to your own email service or form endpoint if you want real submissions.
|
|
|
10
10
|
|
|
11
11
|
## How it deploys
|
|
12
12
|
|
|
13
|
-
To publish this page, use **`
|
|
14
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
13
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
15
14
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
16
15
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
17
|
-
runtime (async, local edition only); the fast path is `
|
|
16
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
18
17
|
|
|
19
18
|
The fillable HTML is the real template — fetch it with
|
|
20
19
|
`grid_fetch("template", "company-website")` and fill in the user's content.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# ignored by the parser, so the file deploys to exactly the active fields.
|
|
12
12
|
#
|
|
13
13
|
# company-website is a STATIC template (type: static, path: /) with no needs.
|
|
14
|
-
# The fast path deploys the page as an INSPIRATION via
|
|
14
|
+
# The fast path deploys the page as an INSPIRATION via grid_plug (instant,
|
|
15
15
|
# works on hosted). This cloudgrid.yaml is the reference for plugging it as an
|
|
16
16
|
# OWNED static runtime; the active fields are exactly: name + services.web.
|
|
17
17
|
#
|
|
@@ -6,11 +6,10 @@ Inline CSS + inline JS only (no external scripts, stylesheets, fonts, or CDNs).
|
|
|
6
6
|
|
|
7
7
|
## How it deploys
|
|
8
8
|
|
|
9
|
-
To publish this page, use **`
|
|
10
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
9
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
11
10
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
12
11
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
13
|
-
runtime (async, local edition only); the fast path is `
|
|
12
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
14
13
|
|
|
15
14
|
The fillable HTML is the real template — fetch it with
|
|
16
15
|
`grid_fetch("template", "company-website")` and fill in the user's content.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# THIS TEMPLATE (dashboard): 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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "dashboard")` and fill in the user's content.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# THIS TEMPLATE (deck): 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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "deck")` and fill in the user's content.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML documentation site: a sidebar nav, a scrolling content column with headings and code blocks, and a client-side search box that filters the nav. No backend.
|
|
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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "docs-site")` and fill in the user's content.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# THIS TEMPLATE (landing-page): 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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "landing-page")` and fill in the user's content.
|
|
@@ -157,4 +157,4 @@ A membership site is a built + deployed runtime container, so it requires the
|
|
|
157
157
|
**local edition** (Claude Desktop / Claude Code) or the CLI. The **hosted**
|
|
158
158
|
edition (Claude Web / hosted MCP) is inline-only and can only publish static
|
|
159
159
|
pages — it CANNOT build this app. On hosted, say so plainly and offer a static
|
|
160
|
-
paywall-landing page (via `
|
|
160
|
+
paywall-landing page (via `grid_plug`) instead, then stop the runtime path.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML personal / freelancer portfolio: a hero intro, an about section, a skills list, a projects grid, and a contact section.
|
|
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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "portfolio")` and fill in the user's content.
|
|
@@ -34,13 +34,12 @@ A one-page launch announcement with:
|
|
|
34
34
|
## How it deploys
|
|
35
35
|
|
|
36
36
|
Deploys as an **inspiration** — instant, and works on the **hosted** edition
|
|
37
|
-
(Claude Web) as well as local. Use **`
|
|
38
|
-
inline HTML): you get a live share URL right away. Re-dropping the same entity
|
|
37
|
+
(Claude Web) as well as local. Use **`grid_plug`** with the inline `html`: you get a live share URL right away. Re-dropping the same entity
|
|
39
38
|
updates the same URL, so the user iterates on one link.
|
|
40
39
|
|
|
41
40
|
The reference `cloudgrid.yaml` in this directory (`type: static`) is ONLY for
|
|
42
41
|
plugging the page as an OWNED static runtime (async, local edition only); the
|
|
43
|
-
fast path is `
|
|
42
|
+
fast path is `grid_plug`.
|
|
44
43
|
|
|
45
44
|
The fillable HTML is the real template — fetch it with
|
|
46
45
|
`grid_fetch("template", "product-launch")` and fill in the user's content.
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
# active fields are exactly name + services.web{type: static, path: /}; there
|
|
18
18
|
# are no needs. This cloudgrid.yaml is the reference for plugging the page as an
|
|
19
19
|
# OWNED static runtime; the fast path is to deploy it as an INSPIRATION via
|
|
20
|
-
#
|
|
20
|
+
# grid_plug (instant, and works on the hosted edition too).
|
|
21
21
|
# ============================================================================
|
|
22
22
|
|
|
23
23
|
|
|
@@ -8,11 +8,10 @@ client-side.
|
|
|
8
8
|
|
|
9
9
|
## How it deploys
|
|
10
10
|
|
|
11
|
-
To publish this page, use **`
|
|
12
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
11
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
13
12
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
14
13
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
15
|
-
runtime (async, local edition only); the fast path is `
|
|
14
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
16
15
|
|
|
17
16
|
The fillable HTML is the real template — fetch it with
|
|
18
17
|
`grid_fetch("template", "product-launch")` and fill in the user's content
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# THIS TEMPLATE (report): 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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "report")` and fill in the user's content.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML SaaS marketing site (hero, features, pricing tiers, testimonials, FAQ, and a closing call to action). Richer than the landing-page template.
|
|
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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "saas-marketing")` and fill in the user's content.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A single self-contained HTML service status page: an overall banner, a component list with up / degraded / down pills, per-component uptime bars, and an incident history log. Status is baked into the page.
|
|
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,11 +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 **`
|
|
9
|
-
HTML): it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
8
|
+
To publish this page, use **`grid_plug`** with the inline `html`: it deploys as an **inspiration** — instant, and works on the **hosted**
|
|
10
9
|
edition (Claude Web) as well as local. The reference `cloudgrid.yaml` in this
|
|
11
10
|
directory (`type: static`) is ONLY for plugging the page as an OWNED static
|
|
12
|
-
runtime (async, local edition only); the fast path is `
|
|
11
|
+
runtime (async, local edition only); the fast path is `grid_plug`.
|
|
13
12
|
|
|
14
13
|
The fillable HTML is the real template — fetch it with
|
|
15
14
|
`grid_fetch("template", "status-page")` and fill in the user's content.
|
|
@@ -187,5 +187,5 @@ A subscription-management app is a built + deployed runtime container, so it
|
|
|
187
187
|
requires the **local edition** (Claude Desktop / Claude Code) or the CLI. The
|
|
188
188
|
**hosted** edition (Claude Web / hosted MCP) is inline-only and can only publish
|
|
189
189
|
static pages — it CANNOT build this app. On hosted, say so plainly and offer a
|
|
190
|
-
static pricing/plans page (via `
|
|
190
|
+
static pricing/plans page (via `grid_plug`) instead, then stop the runtime
|
|
191
191
|
path.
|
|
@@ -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
|