@cloudgrid-io/mcp 0.20.13 → 0.20.15
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 +1 -1
- package/package.json +1 -1
- package/src/corpus/cli-reference.md +4 -4
- package/src/corpus/cloudgrid-yaml.md +3 -2
- package/src/corpus/cookbook.md +7 -4
- package/src/corpus/skill-init.md +21 -17
- package/src/corpus/templates/ai-knowledge-base/AGENTS.md +6 -5
- package/src/corpus/templates/ai-knowledge-base/index.md +2 -1
- package/src/corpus/templates/appointment-booking/AGENTS.md +4 -3
- package/src/corpus/templates/approval-workflow/AGENTS.md +4 -3
- package/src/corpus/templates/billing-dashboard/AGENTS.md +3 -4
- package/src/corpus/templates/billing-dashboard/index.md +3 -2
- package/src/corpus/templates/booking-system/AGENTS.md +3 -4
- package/src/corpus/templates/booking-system/index.md +2 -2
- package/src/corpus/templates/calendar-scheduler/AGENTS.md +6 -5
- package/src/corpus/templates/calendar-scheduler/index.md +2 -1
- package/src/corpus/templates/course-platform/AGENTS.md +3 -4
- package/src/corpus/templates/course-platform/index.md +4 -3
- package/src/corpus/templates/erp/AGENTS.md +3 -4
- package/src/corpus/templates/erp/README.md +2 -1
- package/src/corpus/templates/forum/AGENTS.md +4 -3
- package/src/corpus/templates/forum/README.md +2 -1
- package/src/corpus/templates/hr-portal/AGENTS.md +4 -5
- package/src/corpus/templates/hr-portal/README.md +3 -2
- package/src/corpus/templates/hr-portal/index.md +2 -1
- package/src/corpus/templates/internal-tools-portal/AGENTS.md +5 -6
- package/src/corpus/templates/internal-tools-portal/README.md +2 -2
- package/src/corpus/templates/internal-tools-portal/index.md +2 -1
- package/src/corpus/templates/lms/AGENTS.md +3 -4
- package/src/corpus/templates/lms/index.md +2 -2
- package/src/corpus/templates/marketplace/AGENTS.md +5 -5
- package/src/corpus/templates/marketplace/index.md +2 -1
- package/src/corpus/templates/membership-site/AGENTS.md +4 -3
- package/src/corpus/templates/online-store/AGENTS.md +3 -4
- package/src/corpus/templates/online-store/index.md +3 -2
- package/src/corpus/templates/restaurant-reservations/AGENTS.md +4 -3
- package/src/corpus/templates/restaurant-reservations/index.md +2 -2
- package/src/corpus/templates/semantic-search/AGENTS.md +3 -2
- package/src/corpus/templates/semantic-search/README.md +1 -1
- package/src/corpus/templates/semantic-search/index.md +2 -1
- package/src/corpus/templates/simple-semantic-search/README.md +5 -4
- package/src/corpus/templates/simple-semantic-search/index.md +9 -6
- package/src/corpus/templates/subscription-management/AGENTS.md +4 -3
- package/src/corpus/templates/travel-booking/AGENTS.md +3 -4
- package/src/corpus/templates/travel-booking/index.md +2 -2
- package/src/corpus/workflows/admin-dashboard.md +4 -3
- package/src/corpus/workflows/ai-app.md +3 -3
- package/src/corpus/workflows/ai-knowledge-base.md +5 -3
- package/src/corpus/workflows/analytics-dashboard.md +4 -3
- package/src/corpus/workflows/api-dashboard.md +4 -3
- package/src/corpus/workflows/api-service.md +3 -3
- package/src/corpus/workflows/app-with-data.md +3 -3
- package/src/corpus/workflows/appointment-booking.md +4 -3
- package/src/corpus/workflows/approval-workflow.md +4 -3
- package/src/corpus/workflows/billing-dashboard.md +3 -3
- package/src/corpus/workflows/blog-cms.md +4 -3
- package/src/corpus/workflows/booking-system.md +4 -3
- package/src/corpus/workflows/calendar-scheduler.md +5 -3
- package/src/corpus/workflows/course-platform.md +4 -3
- package/src/corpus/workflows/crm.md +4 -3
- package/src/corpus/workflows/directory.md +4 -3
- package/src/corpus/workflows/erp.md +4 -3
- package/src/corpus/workflows/event-board.md +4 -3
- package/src/corpus/workflows/expense-tracker.md +4 -3
- package/src/corpus/workflows/feature-request-board.md +4 -3
- package/src/corpus/workflows/financial-dashboard.md +4 -3
- package/src/corpus/workflows/forum.md +5 -4
- package/src/corpus/workflows/hr-portal.md +4 -3
- package/src/corpus/workflows/internal-tools-portal.md +4 -3
- package/src/corpus/workflows/inventory.md +4 -3
- package/src/corpus/workflows/invoice.md +4 -3
- package/src/corpus/workflows/job-board.md +4 -3
- package/src/corpus/workflows/kanban.md +4 -3
- package/src/corpus/workflows/lms.md +4 -3
- package/src/corpus/workflows/marketplace.md +5 -3
- package/src/corpus/workflows/membership-site.md +4 -3
- package/src/corpus/workflows/monitoring-dashboard.md +4 -3
- package/src/corpus/workflows/online-store.md +3 -3
- package/src/corpus/workflows/product-catalog.md +4 -3
- package/src/corpus/workflows/project-management.md +4 -3
- package/src/corpus/workflows/property-listings.md +4 -3
- package/src/corpus/workflows/quiz-platform.md +4 -3
- package/src/corpus/workflows/restaurant-reservations.md +4 -3
- package/src/corpus/workflows/revenue-dashboard.md +4 -3
- package/src/corpus/workflows/semantic-search.md +5 -3
- package/src/corpus/workflows/simple-semantic-search.md +5 -5
- package/src/corpus/workflows/subscription-management.md +4 -3
- package/src/corpus/workflows/task-manager.md +4 -3
- package/src/corpus/workflows/ticket-system.md +4 -3
- package/src/corpus/workflows/time-tracking.md +4 -3
- package/src/corpus/workflows/travel-booking.md +3 -3
- package/src/tools/deploy.js +1 -1
- package/src/tools/register.js +11 -11
|
@@ -34,8 +34,8 @@ grid_get_template("template", "restaurant-reservations") # cloudgrid.yaml + AG
|
|
|
34
34
|
|
|
35
35
|
Then read `AGENTS.md` (file tree, `menu`/`reservations`/`tables` collections,
|
|
36
36
|
CloudGrid env/vault/deploy wiring, Stripe + auth, cron shape) and build under
|
|
37
|
-
`services/web/`. Deploy: `grid
|
|
38
|
-
URL). Local edition only.
|
|
37
|
+
`services/web/`. Deploy: `grid plug` (the first plug auto-creates the entity from
|
|
38
|
+
`cloudgrid.yaml`; async — poll to a live URL). Local edition only.
|
|
39
39
|
|
|
40
40
|
## cloudgrid.yaml (active fields)
|
|
41
41
|
|
|
@@ -200,9 +200,10 @@ This is a built + deployed multi-service app → the **local edition** (Claude
|
|
|
200
200
|
Desktop / Claude Code) or the CLI; the hosted edition cannot build a runtime
|
|
201
201
|
container.
|
|
202
202
|
|
|
203
|
-
1.
|
|
204
|
-
2. Put the code under `services/web/` and `services/backend/`; set `cloudgrid.yaml`
|
|
203
|
+
1. Put the code under `services/web/` and `services/backend/`; set `cloudgrid.yaml`
|
|
205
204
|
to the active fields (web static+build, backend python, `needs:{database:true}`).
|
|
205
|
+
2. `grid plug --no-deploy` — registers the entity from the manifest (honors its
|
|
206
|
+
`name:`) and writes `.cloudgrid/link.json`, without building yet.
|
|
206
207
|
3. `grid secrets set …` for embeddings + source + `MANAGER_PASSWORD_HASH` (§6).
|
|
207
208
|
4. (Optional) `grid dev` to run locally against injected dev Mongo.
|
|
208
209
|
5. **Build the frontend first:** `(cd services/web && npm install && npm run build)`.
|
|
@@ -63,7 +63,7 @@ search / indexing degrade to a clear "not indexed / missing secret" state.
|
|
|
63
63
|
## Deploy (manager does this)
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
grid
|
|
66
|
+
grid plug --no-deploy # registers the entity from cloudgrid.yaml + writes .cloudgrid/link.json
|
|
67
67
|
grid secrets set EMBEDDINGS_API_KEY=sk-... # + source secrets + MANAGER_PASSWORD_HASH
|
|
68
68
|
|
|
69
69
|
# Build the static frontend BEFORE plug — CloudGrid validates that a
|
|
@@ -94,7 +94,8 @@ needs:
|
|
|
94
94
|
|
|
95
95
|
## Configure + deploy
|
|
96
96
|
|
|
97
|
-
1. `grid
|
|
97
|
+
1. `grid plug --no-deploy` — registers the entity from `cloudgrid.yaml` (honors
|
|
98
|
+
its `name:`) and writes `.cloudgrid/link.json`, without building yet.
|
|
98
99
|
2. `grid secrets set EMBEDDINGS_API_KEY=sk-…` plus the source secrets
|
|
99
100
|
(`SOURCE_TYPE` + Dropbox/local/url config) and `MANAGER_PASSWORD_HASH`
|
|
100
101
|
(sha256 hex of the manager password). See `AGENTS.md`.
|
|
@@ -11,10 +11,11 @@ the platform holds the pod out of traffic until search works.
|
|
|
11
11
|
|
|
12
12
|
Proven by a real end-to-end deploy (live in under 3 minutes, 2026-07-16).
|
|
13
13
|
|
|
14
|
-
- Deploy: `grid
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
- Deploy: `grid plug` — the first plug auto-creates the entity from
|
|
15
|
+
`cloudgrid.yaml` and deploys it.
|
|
16
|
+
- The CLI writes `.cloudgrid/link.json` (folder ↔ entity binding) on that first
|
|
17
|
+
plug — never hand-author it; `rm -rf .cloudgrid` + re-plug to take a copied
|
|
18
|
+
folder as your own app.
|
|
18
19
|
- Replace `services/web/src/document.txt` with the content to index.
|
|
19
20
|
- For a multi-service search portfolio (upload UI + refresh cron), use the
|
|
20
21
|
`semantic-search` blueprint instead.
|
|
@@ -39,7 +39,8 @@ services/web/src/document.txt # the content to index — replace with the
|
|
|
39
39
|
|
|
40
40
|
## What the CLI writes for you: `.cloudgrid/link.json`
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
On the first `grid plug` (which auto-creates the entity from `cloudgrid.yaml`,
|
|
43
|
+
honoring its `name:`), the CLI binds
|
|
43
44
|
the folder to its grid entity by writing `.cloudgrid/link.json`. It looks like:
|
|
44
45
|
|
|
45
46
|
```json
|
|
@@ -55,20 +56,22 @@ the folder to its grid entity by writing `.cloudgrid/link.json`. It looks like:
|
|
|
55
56
|
```
|
|
56
57
|
|
|
57
58
|
**Never hand-author or copy this file** — the CLI writes it, and every value is
|
|
58
|
-
minted
|
|
59
|
+
minted when the entity is first registered (the slug gets a 4-hex suffix). Two
|
|
60
|
+
practical consequences:
|
|
59
61
|
|
|
60
62
|
- A folder **with** `.cloudgrid/link.json` is bound: `grid plug` UPDATES that
|
|
61
63
|
entity. To fork someone else's project into your own app, `rm -rf .cloudgrid`
|
|
62
|
-
(and remove any `name:` you don't own from `cloudgrid.yaml`)
|
|
63
|
-
`grid
|
|
64
|
+
(and remove any `name:` you don't own from `cloudgrid.yaml`) — the next
|
|
65
|
+
`grid plug` mints a fresh identity.
|
|
64
66
|
- `link.json` is why identity does NOT belong in `cloudgrid.yaml` — the
|
|
65
67
|
manifest describes the app; the link binds the folder.
|
|
66
68
|
|
|
67
69
|
## Deploy
|
|
68
70
|
|
|
69
71
|
```bash
|
|
70
|
-
grid
|
|
71
|
-
|
|
72
|
+
grid plug # first plug registers the entity from cloudgrid.yaml
|
|
73
|
+
# + writes .cloudgrid/link.json, then builds + deploys
|
|
74
|
+
# (async — live URL in ~2-3 min)
|
|
72
75
|
grid visibility set <slug> link # default is grid-only (403 outside the org)
|
|
73
76
|
```
|
|
74
77
|
|
|
@@ -160,9 +160,10 @@ known user — otherwise anyone could change anyone's plan.
|
|
|
160
160
|
|
|
161
161
|
1. `grid_login_status` → `grid_login` if needed. Respect the grid picker
|
|
162
162
|
(ask which grid if the user has more than one).
|
|
163
|
-
2. `grid_create_project` an app `<name>`
|
|
164
|
-
|
|
165
|
-
|
|
163
|
+
2. `grid_create_project` an app `<name>` — it scaffolds the project folder and
|
|
164
|
+
a `cloudgrid.yaml` with empty `services: {}`. No server entity exists yet —
|
|
165
|
+
the first plug auto-creates it from the manifest (honoring its `name:`) and
|
|
166
|
+
writes `.cloudgrid/link.json`.
|
|
166
167
|
3. Write the app under `services/web/` and set `cloudgrid.yaml` to the active
|
|
167
168
|
shape: `name` + `services.web{type: nextjs, path: /}` + `needs:{database:true}`
|
|
168
169
|
+ the `vault:` block.
|
|
@@ -152,12 +152,11 @@ webhook signing secret as `STRIPE_WEBHOOK_SECRET`; read both lazily in
|
|
|
152
152
|
|
|
153
153
|
## 5. Deploy steps
|
|
154
154
|
|
|
155
|
-
1.
|
|
156
|
-
`cloudgrid.yaml` with an empty `services: {}`. Run this FIRST (plug needs a
|
|
157
|
-
linked directory).
|
|
158
|
-
2. Fill it in: build the files under `services/web/` and set `cloudgrid.yaml` to
|
|
155
|
+
1. Build the files under `services/web/` and set `cloudgrid.yaml` to
|
|
159
156
|
this template's shape (`services.web` nextjs + `needs: { database: true }` +
|
|
160
157
|
the `vault:` block).
|
|
158
|
+
2. `grid plug --no-deploy` — registers the entity from the manifest (honors its
|
|
159
|
+
`name:`) and writes `.cloudgrid/link.json`, without building yet.
|
|
161
160
|
3. `grid secrets set stripe-live-key <sk_live_…>` and the other vault items
|
|
162
161
|
(`stripe-webhook-secret`, `auth-provider-key`), so the `vault:` mappings
|
|
163
162
|
resolve at deploy.
|
|
@@ -70,8 +70,8 @@ The heart of this blueprint. Read it before building. It covers:
|
|
|
70
70
|
4. **Auth + payments wiring** — provider SDK from `AUTH_PROVIDER_KEY`; Stripe
|
|
71
71
|
checkout + signature-verified webhook from `STRIPE_KEY` /
|
|
72
72
|
`STRIPE_WEBHOOK_SECRET`.
|
|
73
|
-
5. **Deploy steps** —
|
|
74
|
-
poll to live.
|
|
73
|
+
5. **Deploy steps** — write the files → `grid plug --no-deploy` →
|
|
74
|
+
`grid secrets set` → `grid plug` → poll to live.
|
|
75
75
|
6. **Edition note** — runtime app → local edition only (hosted is static-only).
|
|
76
76
|
7. **Trip-reminder cron** — intended shape + the platform-issue-#1543 PENDING note
|
|
77
77
|
and stopgap.
|
|
@@ -39,9 +39,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
39
39
|
|
|
40
40
|
## 3. Scaffold
|
|
41
41
|
|
|
42
|
-
`grid_create_project` an app `<name>`.
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
43
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
44
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
45
|
+
Then (a) write the app under **`services/web/`**,
|
|
45
46
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
46
47
|
{ database: true }`).
|
|
47
48
|
|
|
@@ -41,9 +41,9 @@ Persistent apps are owned entities.
|
|
|
41
41
|
|
|
42
42
|
## 3. Scaffold
|
|
43
43
|
|
|
44
|
-
`grid_create_project` an app `<name>`.
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
45
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
46
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
47
47
|
|
|
48
48
|
You then do two things: (a) write the app under **`services/web/`**, and (b) fill
|
|
49
49
|
in `cloudgrid.yaml` to the shape below (`services.web` type `nextjs` + `needs: {
|
|
@@ -65,9 +65,11 @@ There is no app code to copy — you generate it from the guide.
|
|
|
65
65
|
|
|
66
66
|
## 4. Scaffold + fill cloudgrid.yaml
|
|
67
67
|
|
|
68
|
-
`grid_create_project` an app `<name>`
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
`grid_create_project` an app `<name>` — it scaffolds the project folder and a
|
|
69
|
+
starter `cloudgrid.yaml` with empty `services:{}` (no server entity yet; the
|
|
70
|
+
first `grid plug` auto-creates it from the manifest, honoring its `name:`, and
|
|
71
|
+
writes `.cloudgrid/link.json`). Then put the app under **`services/web/`** and
|
|
72
|
+
set `cloudgrid.yaml` to
|
|
71
73
|
the blueprint's active fields:
|
|
72
74
|
|
|
73
75
|
```yaml
|
|
@@ -40,9 +40,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
40
40
|
|
|
41
41
|
## 3. Scaffold
|
|
42
42
|
|
|
43
|
-
`grid_create_project` an app `<name>`.
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
44
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
45
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
46
|
+
Then (a) write the app under **`services/web/`**,
|
|
46
47
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
47
48
|
{ database: true }`).
|
|
48
49
|
|
|
@@ -39,9 +39,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
39
39
|
|
|
40
40
|
## 3. Scaffold
|
|
41
41
|
|
|
42
|
-
`grid_create_project` an app `<name>`.
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
43
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
44
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
45
|
+
Then (a) write the app under **`services/web/`**,
|
|
45
46
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
46
47
|
{ database: true }`).
|
|
47
48
|
|
|
@@ -42,9 +42,9 @@ Persistent services are owned entities.
|
|
|
42
42
|
|
|
43
43
|
## 3. Scaffold
|
|
44
44
|
|
|
45
|
-
`grid_create_project` an app `<name>`.
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
46
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
47
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
48
48
|
|
|
49
49
|
You then do two things: (a) write the service under **`services/api/`**, and (b)
|
|
50
50
|
fill in `cloudgrid.yaml` to the shape below (`services.api` type `node` + `needs:
|
|
@@ -43,9 +43,9 @@ Persistent apps are owned entities.
|
|
|
43
43
|
|
|
44
44
|
## 3. Scaffold
|
|
45
45
|
|
|
46
|
-
`grid_create_project` an app `<name>` (the default `--type` is fine). `
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
`grid_create_project` an app `<name>` (the default `--type` is fine). It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
47
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
48
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
49
49
|
|
|
50
50
|
You then do two things: (a) write the app under **`services/web/`**, and (b) fill
|
|
51
51
|
in `cloudgrid.yaml` to the shape below (`services.web` + `needs: { database: true }`).
|
|
@@ -54,9 +54,10 @@ workflow:
|
|
|
54
54
|
|
|
55
55
|
## 4. Scaffold
|
|
56
56
|
|
|
57
|
-
`grid_create_project` an app `<name>`.
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
58
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
59
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
60
|
+
Then write the app under **`services/web/`** and
|
|
60
61
|
set `cloudgrid.yaml` to the active shape below.
|
|
61
62
|
|
|
62
63
|
## 5. Build the app following AGENTS.md
|
|
@@ -55,9 +55,10 @@ route, server page).
|
|
|
55
55
|
|
|
56
56
|
## 4. Scaffold
|
|
57
57
|
|
|
58
|
-
`grid_create_project` an app `<name>`.
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
59
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
60
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
61
|
+
Then (a) write the app under **`services/web/`**
|
|
61
62
|
following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
|
|
62
63
|
|
|
63
64
|
## 5. Build the app + wire Mongo
|
|
@@ -43,9 +43,9 @@ A persistent billing dashboard is a built + deployed container. It requires the
|
|
|
43
43
|
|
|
44
44
|
## 3. Scaffold
|
|
45
45
|
|
|
46
|
-
`grid_create_project` an app `<name>`.
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
47
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
48
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
49
49
|
|
|
50
50
|
## 4. Fetch the blueprint and read AGENTS.md
|
|
51
51
|
|
|
@@ -39,9 +39,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
39
39
|
|
|
40
40
|
## 3. Scaffold
|
|
41
41
|
|
|
42
|
-
`grid_create_project` an app `<name>`.
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
43
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
44
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
45
|
+
Then (a) write the app under **`services/web/`**,
|
|
45
46
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
46
47
|
{ database: true }`).
|
|
47
48
|
|
|
@@ -52,9 +52,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
52
52
|
`services` / `availabilityRules` / `bookings` collections + the double-booking
|
|
53
53
|
guard, how CloudGrid injects the DB and vault secrets, how to wire Stripe +
|
|
54
54
|
auth, and the reminder-cron design).
|
|
55
|
-
2. `grid_create_project` an app `<name>`.
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
2. `grid_create_project` an app `<name>`. It scaffolds the project folder and
|
|
56
|
+
writes a `cloudgrid.yaml` with an EMPTY `services: {}`. No server entity
|
|
57
|
+
exists yet — the first `grid plug` auto-creates it from the manifest
|
|
58
|
+
(honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
58
59
|
|
|
59
60
|
## 4. Build the app + set cloudgrid.yaml
|
|
60
61
|
|
|
@@ -56,9 +56,11 @@ There is no app code to copy — you generate it from the guide.
|
|
|
56
56
|
|
|
57
57
|
## 4. Scaffold + fill cloudgrid.yaml
|
|
58
58
|
|
|
59
|
-
`grid_create_project` an app `<name>`
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
`grid_create_project` an app `<name>` — it scaffolds the project folder and a
|
|
60
|
+
starter `cloudgrid.yaml` with empty `services:{}` (no server entity yet; the
|
|
61
|
+
first `grid plug` auto-creates it from the manifest, honoring its `name:`, and
|
|
62
|
+
writes `.cloudgrid/link.json`). Then put the app under **`services/web/`** and
|
|
63
|
+
set `cloudgrid.yaml` to
|
|
62
64
|
the blueprint's active fields:
|
|
63
65
|
|
|
64
66
|
```yaml
|
|
@@ -57,9 +57,10 @@ contains AGENTS.md — the CloudGrid-specific spec you must follow:
|
|
|
57
57
|
|
|
58
58
|
## 4. Scaffold + fill cloudgrid.yaml
|
|
59
59
|
|
|
60
|
-
`grid_create_project` an app `<name>`.
|
|
61
|
-
|
|
62
|
-
`plug`
|
|
60
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes
|
|
61
|
+
a `cloudgrid.yaml` with an EMPTY `services: {}`. No server entity exists yet —
|
|
62
|
+
the first `grid plug` auto-creates it from the manifest (honoring its `name:`)
|
|
63
|
+
and writes `.cloudgrid/link.json`. Then set `cloudgrid.yaml` to the shape below and
|
|
63
64
|
write the app under **`services/web/`** (`path: /` is the URL mount, NOT the
|
|
64
65
|
filesystem path).
|
|
65
66
|
|
|
@@ -38,9 +38,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
38
38
|
|
|
39
39
|
## 3. Scaffold
|
|
40
40
|
|
|
41
|
-
`grid_create_project` an app `<name>`.
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
42
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
43
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
44
|
+
Then (a) write the app under **`services/web/`**,
|
|
44
45
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
45
46
|
{ database: true }`).
|
|
46
47
|
|
|
@@ -39,9 +39,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
39
39
|
|
|
40
40
|
## 3. Scaffold
|
|
41
41
|
|
|
42
|
-
`grid_create_project` an app `<name>`.
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
43
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
44
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
45
|
+
Then (a) write the app under **`services/web/`**,
|
|
45
46
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
46
47
|
{ database: true }`).
|
|
47
48
|
|
|
@@ -56,9 +56,10 @@ all four at once.
|
|
|
56
56
|
|
|
57
57
|
## 4. Scaffold
|
|
58
58
|
|
|
59
|
-
`grid_create_project` an app `<name>`.
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
60
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
61
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
62
|
+
Then (a) build the app under **`services/web/`**
|
|
62
63
|
following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
|
|
63
64
|
|
|
64
65
|
## 5. Build the app + set cloudgrid.yaml
|
|
@@ -38,9 +38,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
38
38
|
|
|
39
39
|
## 3. Scaffold
|
|
40
40
|
|
|
41
|
-
`grid_create_project` an app `<name>`.
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
42
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
43
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
44
|
+
Then (a) write the app under **`services/web/`**,
|
|
44
45
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
45
46
|
{ database: true }`).
|
|
46
47
|
|
|
@@ -38,9 +38,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
38
38
|
|
|
39
39
|
## 3. Scaffold
|
|
40
40
|
|
|
41
|
-
`grid_create_project` an app `<name>`.
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
42
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
43
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
44
|
+
Then (a) write the app under **`services/web/`**,
|
|
44
45
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
45
46
|
{ database: true }`).
|
|
46
47
|
|
|
@@ -39,9 +39,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
39
39
|
|
|
40
40
|
## 3. Scaffold
|
|
41
41
|
|
|
42
|
-
`grid_create_project` an app `<name>`.
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
43
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
44
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
45
|
+
Then (a) write the app under **`services/web/`**,
|
|
45
46
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
46
47
|
{ database: true }`).
|
|
47
48
|
|
|
@@ -39,9 +39,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
39
39
|
|
|
40
40
|
## 3. Scaffold
|
|
41
41
|
|
|
42
|
-
`grid_create_project` an app `<name>`.
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
43
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
44
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
45
|
+
Then (a) write the app under **`services/web/`**,
|
|
45
46
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
46
47
|
{ database: true }`).
|
|
47
48
|
|
|
@@ -62,10 +62,11 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
62
62
|
`AGENTS.md` — it defines the file tree, the `threads` / `posts` / `users`
|
|
63
63
|
collections + fields, the nesting model, and the CloudGrid wiring. This is the
|
|
64
64
|
spec you build to.
|
|
65
|
-
2. `grid_create_project` an app `<name>`.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
2. `grid_create_project` an app `<name>`. It scaffolds the project folder and
|
|
66
|
+
writes a `cloudgrid.yaml` with an EMPTY `services: {}`. No server entity
|
|
67
|
+
exists yet — the first `grid plug` auto-creates it from the manifest
|
|
68
|
+
(honoring its `name:`) and writes `.cloudgrid/link.json`. Then write the app
|
|
69
|
+
under **`services/web/`** and fill `cloudgrid.yaml` to the shape below.
|
|
69
70
|
|
|
70
71
|
## 4. Build the app + wire Mongo, auth, moderation
|
|
71
72
|
|
|
@@ -51,9 +51,10 @@ to wire employee/admin auth, and the deploy steps.
|
|
|
51
51
|
|
|
52
52
|
## 4. Scaffold
|
|
53
53
|
|
|
54
|
-
`grid_create_project` an app `<name>`.
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
55
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
56
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
57
|
+
Then (a) build the app under **`services/web/`**
|
|
57
58
|
following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
|
|
58
59
|
|
|
59
60
|
## 5. Build the app + set cloudgrid.yaml
|
|
@@ -54,9 +54,10 @@ deploy steps.
|
|
|
54
54
|
|
|
55
55
|
## 4. Scaffold
|
|
56
56
|
|
|
57
|
-
`grid_create_project` an app `<name>`.
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
58
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
59
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
60
|
+
Then (a) build the app under **`services/web/`**
|
|
60
61
|
following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
|
|
61
62
|
|
|
62
63
|
## 5. Build the app + set cloudgrid.yaml
|
|
@@ -37,9 +37,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
37
37
|
|
|
38
38
|
## 3. Scaffold
|
|
39
39
|
|
|
40
|
-
`grid_create_project` an app `<name>`.
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
41
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
42
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
43
|
+
Then (a) write the app under **`services/web/`**,
|
|
43
44
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
44
45
|
{ database: true }`).
|
|
45
46
|
|
|
@@ -37,9 +37,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
37
37
|
|
|
38
38
|
## 3. Scaffold
|
|
39
39
|
|
|
40
|
-
`grid_create_project` an app `<name>`.
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
41
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
42
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
43
|
+
Then (a) write the app under **`services/web/`**,
|
|
43
44
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
44
45
|
{ database: true }`).
|
|
45
46
|
|
|
@@ -37,9 +37,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
37
37
|
|
|
38
38
|
## 3. Scaffold
|
|
39
39
|
|
|
40
|
-
`grid_create_project` an app `<name>`.
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
41
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
42
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
43
|
+
Then (a) write the app under **`services/web/`**,
|
|
43
44
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
44
45
|
{ database: true }`).
|
|
45
46
|
|
|
@@ -37,9 +37,10 @@ edition** (Claude Desktop / Claude Code) or the CLI.
|
|
|
37
37
|
|
|
38
38
|
## 3. Scaffold
|
|
39
39
|
|
|
40
|
-
`grid_create_project` an app `<name>`.
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
`grid_create_project` an app `<name>`. It scaffolds the project folder and writes a `cloudgrid.yaml` with an EMPTY
|
|
41
|
+
`services: {}`. No server entity exists yet — the first `grid plug` auto-creates
|
|
42
|
+
it from the manifest (honoring its `name:`) and writes `.cloudgrid/link.json`.
|
|
43
|
+
Then (a) write the app under **`services/web/`**,
|
|
43
44
|
and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
|
|
44
45
|
{ database: true }`).
|
|
45
46
|
|