@cloudgrid-io/mcp 0.20.4 → 0.20.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/package.json +3 -2
  2. package/src/corpus/capability-map.md +8 -8
  3. package/src/corpus/cloudgrid-yaml.md +5 -5
  4. package/src/corpus/cookbook.md +1 -1
  5. package/src/corpus/skill-claim.md +1 -1
  6. package/src/corpus/skill-plug.md +1 -1
  7. package/src/corpus/skills-readme.md +1 -1
  8. package/src/corpus/templates/ai-knowledge-base/AGENTS.md +1 -1
  9. package/src/corpus/templates/ai-knowledge-base/index.md +1 -1
  10. package/src/corpus/templates/api-docs/README.md +2 -2
  11. package/src/corpus/templates/api-docs/index.md +3 -3
  12. package/src/corpus/templates/appointment-booking/AGENTS.md +7 -7
  13. package/src/corpus/templates/appointment-booking/index.md +5 -5
  14. package/src/corpus/templates/approval-workflow/AGENTS.md +2 -2
  15. package/src/corpus/templates/approval-workflow/index.md +2 -2
  16. package/src/corpus/templates/billing-dashboard/index.md +1 -1
  17. package/src/corpus/templates/calendar-scheduler/AGENTS.md +1 -1
  18. package/src/corpus/templates/calendar-scheduler/index.md +1 -1
  19. package/src/corpus/templates/changelog/README.md +2 -2
  20. package/src/corpus/templates/changelog/index.md +3 -3
  21. package/src/corpus/templates/company-website/README.md +3 -3
  22. package/src/corpus/templates/company-website/cloudgrid.yaml +1 -1
  23. package/src/corpus/templates/company-website/index.md +3 -3
  24. package/src/corpus/templates/course-platform/index.md +1 -1
  25. package/src/corpus/templates/dashboard/cloudgrid.yaml +1 -1
  26. package/src/corpus/templates/dashboard/index.md +3 -3
  27. package/src/corpus/templates/deck/cloudgrid.yaml +1 -1
  28. package/src/corpus/templates/deck/index.md +3 -3
  29. package/src/corpus/templates/docs-site/README.md +2 -2
  30. package/src/corpus/templates/docs-site/index.md +3 -3
  31. package/src/corpus/templates/forum/AGENTS.md +4 -4
  32. package/src/corpus/templates/forum/index.md +1 -1
  33. package/src/corpus/templates/hr-portal/index.md +1 -1
  34. package/src/corpus/templates/internal-tools-portal/index.md +1 -1
  35. package/src/corpus/templates/landing-page/cloudgrid.yaml +1 -1
  36. package/src/corpus/templates/landing-page/index.md +3 -3
  37. package/src/corpus/templates/lms/index.md +1 -1
  38. package/src/corpus/templates/marketplace/AGENTS.md +1 -1
  39. package/src/corpus/templates/marketplace/index.md +1 -1
  40. package/src/corpus/templates/membership-site/AGENTS.md +7 -7
  41. package/src/corpus/templates/membership-site/index.md +5 -5
  42. package/src/corpus/templates/online-store/index.md +1 -1
  43. package/src/corpus/templates/portfolio/README.md +2 -2
  44. package/src/corpus/templates/portfolio/index.md +3 -3
  45. package/src/corpus/templates/product-launch/README.md +3 -3
  46. package/src/corpus/templates/product-launch/cloudgrid.yaml +1 -1
  47. package/src/corpus/templates/product-launch/index.md +3 -3
  48. package/src/corpus/templates/report/cloudgrid.yaml +1 -1
  49. package/src/corpus/templates/report/index.md +3 -3
  50. package/src/corpus/templates/restaurant-reservations/AGENTS.md +7 -7
  51. package/src/corpus/templates/restaurant-reservations/index.md +2 -2
  52. package/src/corpus/templates/saas-marketing/README.md +2 -2
  53. package/src/corpus/templates/saas-marketing/index.md +3 -3
  54. package/src/corpus/templates/status-page/README.md +2 -2
  55. package/src/corpus/templates/status-page/index.md +3 -3
  56. package/src/corpus/templates/subscription-management/AGENTS.md +7 -7
  57. package/src/corpus/templates/subscription-management/index.md +5 -5
  58. package/src/corpus/templates/waitlist/README.md +2 -2
  59. package/src/corpus/templates/waitlist/index.md +3 -3
  60. package/src/corpus/templates/web-app/cloudgrid.yaml +1 -1
  61. package/src/corpus/templates/web-app/index.md +3 -3
  62. package/src/corpus/usage.md +1 -1
  63. package/src/corpus/workflows/admin-dashboard.md +4 -4
  64. package/src/corpus/workflows/ai-app.md +6 -6
  65. package/src/corpus/workflows/ai-knowledge-base.md +4 -4
  66. package/src/corpus/workflows/analytics-dashboard.md +4 -4
  67. package/src/corpus/workflows/api-dashboard.md +4 -4
  68. package/src/corpus/workflows/api-docs.md +2 -2
  69. package/src/corpus/workflows/api-service.md +6 -6
  70. package/src/corpus/workflows/app-with-data.md +6 -6
  71. package/src/corpus/workflows/appointment-booking.md +6 -6
  72. package/src/corpus/workflows/approval-workflow.md +4 -4
  73. package/src/corpus/workflows/billing-dashboard.md +6 -6
  74. package/src/corpus/workflows/blog-cms.md +4 -4
  75. package/src/corpus/workflows/booking-system.md +5 -5
  76. package/src/corpus/workflows/calendar-scheduler.md +4 -4
  77. package/src/corpus/workflows/changelog.md +2 -2
  78. package/src/corpus/workflows/company-website.md +3 -3
  79. package/src/corpus/workflows/course-platform.md +5 -5
  80. package/src/corpus/workflows/crm.md +5 -5
  81. package/src/corpus/workflows/dashboard.md +3 -3
  82. package/src/corpus/workflows/directory.md +4 -4
  83. package/src/corpus/workflows/docs-app.md +6 -6
  84. package/src/corpus/workflows/docs-site.md +2 -2
  85. package/src/corpus/workflows/erp.md +5 -5
  86. package/src/corpus/workflows/event-board.md +4 -4
  87. package/src/corpus/workflows/expense-tracker.md +4 -4
  88. package/src/corpus/workflows/feature-request-board.md +4 -4
  89. package/src/corpus/workflows/financial-dashboard.md +4 -4
  90. package/src/corpus/workflows/forum.md +5 -5
  91. package/src/corpus/workflows/hr-portal.md +5 -5
  92. package/src/corpus/workflows/internal-tools-portal.md +5 -5
  93. package/src/corpus/workflows/inventory.md +4 -4
  94. package/src/corpus/workflows/invoice.md +4 -4
  95. package/src/corpus/workflows/job-board.md +4 -4
  96. package/src/corpus/workflows/kanban.md +5 -5
  97. package/src/corpus/workflows/landing-page.md +3 -3
  98. package/src/corpus/workflows/lms.md +5 -5
  99. package/src/corpus/workflows/marketplace.md +4 -4
  100. package/src/corpus/workflows/membership-site.md +6 -6
  101. package/src/corpus/workflows/monitoring-dashboard.md +4 -4
  102. package/src/corpus/workflows/online-store.md +6 -6
  103. package/src/corpus/workflows/portfolio.md +2 -2
  104. package/src/corpus/workflows/presentation.md +3 -3
  105. package/src/corpus/workflows/product-catalog.md +4 -4
  106. package/src/corpus/workflows/product-launch.md +3 -3
  107. package/src/corpus/workflows/project-management.md +4 -4
  108. package/src/corpus/workflows/property-listings.md +4 -4
  109. package/src/corpus/workflows/quiz-platform.md +4 -4
  110. package/src/corpus/workflows/report.md +3 -3
  111. package/src/corpus/workflows/restaurant-reservations.md +5 -5
  112. package/src/corpus/workflows/revenue-dashboard.md +4 -4
  113. package/src/corpus/workflows/saas-marketing.md +2 -2
  114. package/src/corpus/workflows/semantic-search.md +5 -5
  115. package/src/corpus/workflows/status-page.md +2 -2
  116. package/src/corpus/workflows/subscription-management.md +6 -6
  117. package/src/corpus/workflows/task-manager.md +4 -4
  118. package/src/corpus/workflows/ticket-system.md +4 -4
  119. package/src/corpus/workflows/time-tracking.md +4 -4
  120. package/src/corpus/workflows/travel-booking.md +5 -5
  121. package/src/corpus/workflows/waitlist.md +2 -2
  122. package/src/corpus/workflows/web-app.md +3 -3
  123. package/src/session-logger.js +12 -5
  124. package/src/tools.js +154 -91
  125. package/src/web.js +4 -2
  126. package/src/widgets/org-picker.html +1 -1
@@ -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 grid_plug.
7
+ capabilities_note: static — no infrastructure, content baked into the page. Publishes as an inspiration (instant, works on hosted) via grid_deploy.
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
 
@@ -14,7 +14,7 @@ Detect the intent ("build me a docs site / documentation for X") and follow this
14
14
  recipe. For a REST API endpoint reference specifically, use `api-docs`. Do not
15
15
  ask setup questions first; use sensible defaults and build.
16
16
 
17
- 1. **Fetch the template.** Call `grid_fetch("template", "docs-site")` to load
17
+ 1. **Fetch the template.** Call `grid_get_template("template", "docs-site")` to load
18
18
  the self-contained HTML docs layout (sidebar nav, content column, code blocks,
19
19
  client-side search box).
20
20
  2. **Fill the template.** Replace the placeholders with the user's content:
@@ -45,7 +45,7 @@ requires the **local edition** (Claude Desktop / Claude Code) or the CLI.
45
45
 
46
46
  ## 3. Fetch the blueprint + read AGENTS.md
47
47
 
48
- `grid_fetch("template", "erp")`. It returns `cloudgrid.yaml`, `AGENTS.md` (the
48
+ `grid_get_template("template", "erp")`. It returns `cloudgrid.yaml`, `AGENTS.md` (the
49
49
  structure guide), and the README — **no app code**. Read `AGENTS.md` end to end
50
50
  before writing anything: it defines the `services/web/` file tree, the Mongo
51
51
  collections + fields per module, how CloudGrid injects the DB and the
@@ -56,7 +56,7 @@ all four at once.
56
56
 
57
57
  ## 4. Scaffold
58
58
 
59
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
59
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
60
60
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
61
61
  directory, so run `init` FIRST. Then (a) build the app under **`services/web/`**
62
62
  following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
@@ -97,8 +97,8 @@ following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
97
97
  ## 6. Config
98
98
 
99
99
  - Create the vault items the `vault:` block references (the auth provider's
100
- backend key and the Stripe secret key) — `grid_secrets` / vault UI. Never
101
- commit them. Publishable/front-end auth keys → `grid_env`.
100
+ backend key and the Stripe secret key) — `grid_set_secret` / vault UI. Never
101
+ commit them. Publishable/front-end auth keys → `grid_set_env`.
102
102
  - Register the deployed `/api/finance/webhook` URL as the Stripe webhook endpoint
103
103
  once the app is live.
104
104
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
@@ -111,7 +111,7 @@ vault env vars before deploying. Don't require it.
111
111
 
112
112
  ## 8. Deploy (async)
113
113
 
114
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
114
+ Deploy the folder with `grid_deploy`. 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.
@@ -38,7 +38,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
38
38
 
39
39
  ## 3. Scaffold
40
40
 
41
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
42
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
43
43
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
44
44
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -63,7 +63,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
63
63
  author new yaml with it, and never set `needs:` and `requires:` together (the
64
64
  validator rejects it).
65
65
  2. Fetch the template for the Mongo wiring + CRUD shape:
66
- `grid_fetch("template", "event-board")`. It is a minimal, real Next.js +
66
+ `grid_get_template("template", "event-board")`. It is a minimal, real Next.js +
67
67
  `mongodb`-driver event board under `services/web/`: a lazy client in
68
68
  `services/web/lib/db.js`, an App-Router GET/POST/DELETE route on an `events`
69
69
  collection, a server-component page that reads events sorted by date, and a
@@ -83,13 +83,13 @@ before deploying. Don't require it.
83
83
 
84
84
  ## 6. Config
85
85
 
86
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
86
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
87
87
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
88
88
  legacy `MONGODB_URL`) — the grid injects them.
89
89
 
90
90
  ## 7. Deploy (async)
91
91
 
92
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
92
+ Deploy the folder with `grid_deploy`. 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.
@@ -38,7 +38,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
38
38
 
39
39
  ## 3. Scaffold
40
40
 
41
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
42
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
43
43
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
44
44
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -63,7 +63,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
63
63
  author new yaml with it, and never set `needs:` and `requires:` together (the
64
64
  validator rejects it).
65
65
  2. Fetch the template for the Mongo wiring + CRUD shape:
66
- `grid_fetch("template", "expense-tracker")`. It is a minimal, real Next.js +
66
+ `grid_get_template("template", "expense-tracker")`. It is a minimal, real Next.js +
67
67
  `mongodb`-driver expense tracker under `services/web/`: a lazy client in
68
68
  `services/web/lib/db.js`, an App-Router GET/POST/DELETE route on an `expenses`
69
69
  collection, a server-component page, and a client form with a table + totals
@@ -83,13 +83,13 @@ before deploying. Don't require it.
83
83
 
84
84
  ## 6. Config
85
85
 
86
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
86
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
87
87
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
88
88
  legacy `MONGODB_URL`) — the grid injects them.
89
89
 
90
90
  ## 7. Deploy (async)
91
91
 
92
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
92
+ Deploy the folder with `grid_deploy`. 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.
@@ -39,7 +39,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
39
39
 
40
40
  ## 3. Scaffold
41
41
 
42
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
43
43
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
44
44
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
45
45
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -64,7 +64,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
64
64
  author new yaml with it, and never set `needs:` and `requires:` together (the
65
65
  validator rejects it).
66
66
  2. Fetch the template for the Mongo wiring + CRUD shape:
67
- `grid_fetch("template", "feature-request-board")`. It is a minimal, real
67
+ `grid_get_template("template", "feature-request-board")`. It is a minimal, real
68
68
  Next.js + `mongodb`-driver board under `services/web/`: a lazy client in
69
69
  `services/web/lib/db.js`, an App-Router GET/POST/PATCH/DELETE route on a
70
70
  `requests` collection (PATCH does an atomic `$inc` upvote), a server-component
@@ -86,13 +86,13 @@ before deploying. Don't require it.
86
86
 
87
87
  ## 6. Config
88
88
 
89
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
89
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
90
90
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
91
91
  legacy `MONGODB_URL`) — the grid injects them.
92
92
 
93
93
  ## 7. Deploy (async)
94
94
 
95
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
95
+ Deploy the folder with `grid_deploy`. 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.
@@ -39,7 +39,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
39
39
 
40
40
  ## 3. Scaffold
41
41
 
42
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
43
43
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
44
44
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
45
45
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -64,7 +64,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
64
64
  author new yaml with it, and never set `needs:` and `requires:` together (the
65
65
  validator rejects it).
66
66
  2. Fetch the template for the Mongo wiring + CRUD shape:
67
- `grid_fetch("template", "financial-dashboard")`. It is a minimal, real
67
+ `grid_get_template("template", "financial-dashboard")`. It is a minimal, real
68
68
  Next.js + `mongodb`-driver dashboard under `services/web/`: a lazy client in
69
69
  `services/web/lib/db.js`, an App-Router GET/POST/DELETE route on an `entries`
70
70
  collection, a server-component page that computes income/expense/net totals,
@@ -84,13 +84,13 @@ before deploying. Don't require it.
84
84
 
85
85
  ## 6. Config
86
86
 
87
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
87
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
88
88
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
89
89
  legacy `MONGODB_URL`) — the grid injects them.
90
90
 
91
91
  ## 7. Deploy (async)
92
92
 
93
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
93
+ Deploy the folder with `grid_deploy`. 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.
@@ -58,11 +58,11 @@ edition** (Claude Desktop / Claude Code) or the CLI.
58
58
 
59
59
  ## 3. Read the blueprint, then scaffold
60
60
 
61
- 1. **Fetch the blueprint: `grid_fetch("template", "forum")`** and read
61
+ 1. **Fetch the blueprint: `grid_get_template("template", "forum")`** and read
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_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
65
+ 2. `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
66
66
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a
67
67
  linked directory, so run `init` FIRST. Then write the app under
68
68
  **`services/web/`** and fill `cloudgrid.yaml` to the shape below.
@@ -108,14 +108,14 @@ Mention that the user can `grid dev` to run locally against the injected Mongo
108
108
 
109
109
  ## 6. Config
110
110
 
111
- - Auth-provider keys / secrets → the `vault:` block + `grid_secrets`. Non-secret
112
- config → `grid_env`.
111
+ - Auth-provider keys / secrets → the `vault:` block + `grid_set_secret`. Non-secret
112
+ config → `grid_set_env`.
113
113
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
114
114
  legacy `MONGODB_URL`) — the grid injects them.
115
115
 
116
116
  ## 7. Deploy (async)
117
117
 
118
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
118
+ Deploy the folder with `grid_deploy`. A **runtime deploy is ASYNC**: the first
119
119
  response is `status: "building"`, NOT a live URL yet.
120
120
  - Poll `grid_status` (or the returned poll_url) until the entity is live.
121
121
  - Surface a liveness signal while it builds — never a bare silent wait.
@@ -43,7 +43,7 @@ A persistent, auth-gated app is a built + deployed container. It requires the
43
43
 
44
44
  ## 3. Fetch the blueprint + read AGENTS.md
45
45
 
46
- `grid_fetch("template", "hr-portal")`. It returns `cloudgrid.yaml`, `AGENTS.md`
46
+ `grid_get_template("template", "hr-portal")`. It returns `cloudgrid.yaml`, `AGENTS.md`
47
47
  (the structure guide), and the README — **no app code**. Read `AGENTS.md` end to
48
48
  end before writing anything: it defines the `services/web/` file tree, the Mongo
49
49
  collections + fields, how CloudGrid injects the DB and vault-backed auth keys, how
@@ -51,7 +51,7 @@ to wire employee/admin auth, and the deploy steps.
51
51
 
52
52
  ## 4. Scaffold
53
53
 
54
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
54
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
55
55
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
56
56
  directory, so run `init` FIRST. Then (a) build the app under **`services/web/`**
57
57
  following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
@@ -90,8 +90,8 @@ following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
90
90
  ## 6. Config
91
91
 
92
92
  - Create the vault items the `vault:` block references (the auth provider's
93
- secret + publishable keys) — `grid_secrets` / vault UI. Never commit them.
94
- - Non-secret config → `grid_env`.
93
+ secret + publishable keys) — `grid_set_secret` / vault UI. Never commit them.
94
+ - Non-secret config → `grid_set_env`.
95
95
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
96
96
  legacy `MONGODB_URL`) — the grid injects them.
97
97
 
@@ -102,7 +102,7 @@ vault env vars before deploying. Don't require it.
102
102
 
103
103
  ## 8. Deploy (async)
104
104
 
105
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
105
+ Deploy the folder with `grid_deploy`. 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.
@@ -45,7 +45,7 @@ A persistent, auth-gated app is a built + deployed container. It requires the
45
45
 
46
46
  ## 3. Fetch the blueprint + read AGENTS.md
47
47
 
48
- `grid_fetch("template", "internal-tools-portal")`. It returns `cloudgrid.yaml`,
48
+ `grid_get_template("template", "internal-tools-portal")`. It returns `cloudgrid.yaml`,
49
49
  `AGENTS.md` (the structure guide), and the README — **no app code**. Read
50
50
  `AGENTS.md` end to end before writing anything: it defines the `services/web/`
51
51
  file tree, the Mongo collections + fields, the tool registry, how CloudGrid injects
@@ -54,7 +54,7 @@ deploy steps.
54
54
 
55
55
  ## 4. Scaffold
56
56
 
57
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
57
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
58
58
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
59
59
  directory, so run `init` FIRST. Then (a) build the app under **`services/web/`**
60
60
  following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
@@ -99,9 +99,9 @@ following `AGENTS.md`, and (b) fill `cloudgrid.yaml` to the shape below.
99
99
  ## 6. Config
100
100
 
101
101
  - Create the vault items the `vault:` block references (the auth provider's
102
- secret + publishable keys, plus any per-tool API secrets) — `grid_secrets` /
102
+ secret + publishable keys, plus any per-tool API secrets) — `grid_set_secret` /
103
103
  vault UI. Never commit them.
104
- - Non-secret config → `grid_env`.
104
+ - Non-secret config → `grid_set_env`.
105
105
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
106
106
  legacy `MONGODB_URL`) — the grid injects them.
107
107
 
@@ -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 `grid_plug`. A **runtime deploy is ASYNC**: the first
115
+ Deploy the folder with `grid_deploy`. 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.
@@ -37,7 +37,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
37
37
 
38
38
  ## 3. Scaffold
39
39
 
40
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
40
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
41
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
42
42
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
43
43
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -65,7 +65,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
65
65
  `services.web`, and `needs.database` uncommented — so it deploys to exactly
66
66
  those active fields.
67
67
  2. Fetch the template for the Mongo wiring + CRUD shape:
68
- `grid_fetch("template", "inventory")`. It is a minimal, real Next.js +
68
+ `grid_get_template("template", "inventory")`. It is a minimal, real Next.js +
69
69
  `mongodb`-driver app under `services/web/`: a lazy client in
70
70
  `services/web/lib/db.js`, an App-Router GET/POST/PATCH (adjust qty)/DELETE route on an `items` collection, a
71
71
  server-component page, and a client component.
@@ -82,13 +82,13 @@ before deploying. Don't require it.
82
82
 
83
83
  ## 6. Config
84
84
 
85
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
85
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
86
86
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
87
87
  legacy `MONGODB_URL`) — the grid injects them.
88
88
 
89
89
  ## 7. Deploy (async)
90
90
 
91
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
91
+ Deploy the folder with `grid_deploy`. A **runtime deploy is ASYNC**: the first
92
92
  response is `status: "building"`, NOT a live URL yet.
93
93
  - Poll `grid_status` (or the returned poll_url) until the entity is live.
94
94
  - Surface a liveness signal while it builds — never a bare silent wait.
@@ -37,7 +37,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
37
37
 
38
38
  ## 3. Scaffold
39
39
 
40
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
40
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
41
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
42
42
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
43
43
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -65,7 +65,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
65
65
  `services.web`, and `needs.database` uncommented — so it deploys to exactly
66
66
  those active fields.
67
67
  2. Fetch the template for the Mongo wiring + CRUD shape:
68
- `grid_fetch("template", "invoice")`. It is a minimal, real Next.js +
68
+ `grid_get_template("template", "invoice")`. It is a minimal, real Next.js +
69
69
  `mongodb`-driver app under `services/web/`: a lazy client in
70
70
  `services/web/lib/db.js`, an App-Router GET/POST/PATCH/DELETE route on an `invoices` collection, a
71
71
  server-component page, and a client component.
@@ -82,13 +82,13 @@ before deploying. Don't require it.
82
82
 
83
83
  ## 6. Config
84
84
 
85
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
85
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
86
86
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
87
87
  legacy `MONGODB_URL`) — the grid injects them.
88
88
 
89
89
  ## 7. Deploy (async)
90
90
 
91
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
91
+ Deploy the folder with `grid_deploy`. A **runtime deploy is ASYNC**: the first
92
92
  response is `status: "building"`, NOT a live URL yet.
93
93
  - Poll `grid_status` (or the returned poll_url) until the entity is live.
94
94
  - Surface a liveness signal while it builds — never a bare silent wait.
@@ -37,7 +37,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
37
37
 
38
38
  ## 3. Scaffold
39
39
 
40
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
40
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
41
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
42
42
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
43
43
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -65,7 +65,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
65
65
  `services.web`, and `needs.database` uncommented — so it deploys to exactly
66
66
  those active fields.
67
67
  2. Fetch the template for the Mongo wiring + CRUD shape:
68
- `grid_fetch("template", "job-board")`. It is a minimal, real Next.js +
68
+ `grid_get_template("template", "job-board")`. It is a minimal, real Next.js +
69
69
  `mongodb`-driver app under `services/web/`: a lazy client in
70
70
  `services/web/lib/db.js`, an App-Router GET/POST/DELETE route on a `jobs` collection, a
71
71
  server-component page, and a client component.
@@ -82,13 +82,13 @@ before deploying. Don't require it.
82
82
 
83
83
  ## 6. Config
84
84
 
85
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
85
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
86
86
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
87
87
  legacy `MONGODB_URL`) — the grid injects them.
88
88
 
89
89
  ## 7. Deploy (async)
90
90
 
91
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
91
+ Deploy the folder with `grid_deploy`. A **runtime deploy is ASYNC**: the first
92
92
  response is `status: "building"`, NOT a live URL yet.
93
93
  - Poll `grid_status` (or the returned poll_url) until the entity is live.
94
94
  - Surface a liveness signal while it builds — never a bare silent wait.
@@ -37,7 +37,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
37
37
 
38
38
  ## 3. Scaffold
39
39
 
40
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
40
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
41
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
42
42
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
43
43
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -62,7 +62,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
62
62
  author new yaml with it, and never set `needs:` and `requires:` together (the
63
63
  validator rejects it).
64
64
  2. Fetch the template for the Mongo wiring + CRUD shape:
65
- `grid_fetch("template", "kanban")`. It is a minimal, real Next.js +
65
+ `grid_get_template("template", "kanban")`. It is a minimal, real Next.js +
66
66
  `mongodb`-driver board under `services/web/`: a lazy client in
67
67
  `services/web/lib/db.js`, an App-Router GET/POST/PATCH/DELETE route on a
68
68
  `cards` collection (PATCH moves a card between columns), a server-component
@@ -73,7 +73,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
73
73
  runtime.
74
74
  - **Put the DB connection behind a lazy getter — never read the connection
75
75
  string at module top level, or `next build` fails.**
76
- - (Optional) fetch `grid_fetch("example", "kanban")` for a richer filled
76
+ - (Optional) fetch `grid_get_template("example", "kanban")` for a richer filled
77
77
  reference to imitate.
78
78
 
79
79
  ## 5. (Optional) Run locally
@@ -83,13 +83,13 @@ before deploying. Don't require it.
83
83
 
84
84
  ## 6. Config
85
85
 
86
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
86
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
87
87
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
88
88
  legacy `MONGODB_URL`) — the grid injects them.
89
89
 
90
90
  ## 7. Deploy (async)
91
91
 
92
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
92
+ Deploy the folder with `grid_deploy`. 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: 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 grid_plug.
7
+ capabilities_note: static — no infrastructure. Publishes as an inspiration (instant, works on hosted) via grid_deploy.
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
 
@@ -13,9 +13,9 @@ summary: Fetch the landing-page template, fill it with the user's content, deplo
13
13
  Detect the intent ("build me a landing page / marketing page for X") and follow
14
14
  this recipe. Do not ask setup questions first; use sensible defaults and build.
15
15
 
16
- 1. **Fetch the template.** Call `grid_fetch("template", "landing-page")` to
16
+ 1. **Fetch the template.** Call `grid_get_template("template", "landing-page")` to
17
17
  load the self-contained HTML landing-page template.
18
- 2. **(Optional) Fetch the example.** Call `grid_fetch("example", "landing-page")`
18
+ 2. **(Optional) Fetch the example.** Call `grid_get_template("example", "landing-page")`
19
19
  to see a filled landing page as a reference for tone and structure.
20
20
  3. **Fill the template.** Replace the placeholders with the user's content:
21
21
  - The product name, hero headline, and subheadline.
@@ -44,7 +44,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
44
44
  ## 3. Read the blueprint
45
45
 
46
46
  Fetch the structure guide and read it before writing anything:
47
- `grid_fetch("template", "lms")`. `AGENTS.md` is the CloudGrid-specific spec for
47
+ `grid_get_template("template", "lms")`. `AGENTS.md` is the CloudGrid-specific spec for
48
48
  this app — the file tree under `services/web/`, the Mongo collections
49
49
  (users/courses/modules/lessons/assignments/enrollments/progress/submissions/grades),
50
50
  how the grid injects Mongo + the vault auth secret, the instructor/student role
@@ -53,7 +53,7 @@ you build it from the guide.
53
53
 
54
54
  ## 4. Scaffold
55
55
 
56
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
56
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
57
57
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
58
58
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**
59
59
  per the AGENTS.md tree, and (b) fill `cloudgrid.yaml` to the shape below.
@@ -91,15 +91,15 @@ needs:
91
91
 
92
92
  ## 6. Config
93
93
 
94
- - Secrets → `grid_secrets` (e.g. `grid secrets set auth-provider-key`;
94
+ - Secrets → `grid_set_secret` (e.g. `grid secrets set auth-provider-key`;
95
95
  `stripe-live-key`/`stripe-webhook-secret` only for paid courses). Non-secret
96
- config → `grid_env` (e.g. the auth publishable key).
96
+ config → `grid_set_env` (e.g. the auth publishable key).
97
97
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
98
98
  legacy `MONGODB_URL`) — the grid injects them.
99
99
 
100
100
  ## 7. Deploy (async)
101
101
 
102
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
102
+ Deploy the folder with `grid_deploy`. A **runtime deploy is ASYNC**: the first
103
103
  response is `status: "building"`, NOT a live URL yet.
104
104
  - Poll `grid_status` (or the returned poll_url) until the entity is live.
105
105
  - Surface a liveness signal while it builds — never a bare silent wait.
@@ -40,7 +40,7 @@ requires the **local edition** (Claude Desktop / Claude Code) or the CLI.
40
40
 
41
41
  ## 3. Fetch the blueprint and READ AGENTS.md
42
42
 
43
- `grid_fetch("template", "marketplace")`. The deliverable is the **`AGENTS.md`
43
+ `grid_get_template("template", "marketplace")`. The deliverable is the **`AGENTS.md`
44
44
  structure guide** — read it before writing anything. It defines:
45
45
  - the `services/web/` file tree (pages, API routes, `lib/`),
46
46
  - the Mongo collections (`vendors`, `listings`, `orders`) + fields,
@@ -54,7 +54,7 @@ There is no app code to copy — you generate it from the guide.
54
54
 
55
55
  ## 4. Scaffold + fill cloudgrid.yaml
56
56
 
57
- `grid_init` an app `<name>` FIRST (creates the entity + `.cloudgrid/link.json`
57
+ `grid_create_project` an app `<name>` FIRST (creates the entity + `.cloudgrid/link.json`
58
58
  and a starter `cloudgrid.yaml` with empty `services:{}`; `plug` needs a linked
59
59
  directory). Then put the app under **`services/web/`** and set `cloudgrid.yaml` to
60
60
  the blueprint's active fields:
@@ -97,7 +97,7 @@ Generate the files under `services/web/` per the guide:
97
97
  - Map secrets in the `vault:` block (done above), then **store the values**:
98
98
  `grid secrets set stripe-live-key sk_live_…`,
99
99
  `grid secrets set stripe-webhook-secret whsec_…`,
100
- `grid secrets set auth-provider-key …`. Non-secret public config → `grid_env`.
100
+ `grid secrets set auth-provider-key …`. Non-secret public config → `grid_set_env`.
101
101
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` / legacy
102
102
  `MONGODB_URL`) — the grid injects them.
103
103
 
@@ -108,7 +108,7 @@ secrets before deploying. Don't require it.
108
108
 
109
109
  ## 8. Deploy (async)
110
110
 
111
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
111
+ Deploy the folder with `grid_deploy`. A **runtime deploy is ASYNC**: the first
112
112
  response is `status: "building"`, NOT a live URL yet.
113
113
  - Poll `grid_status` (or the returned poll_url) until the entity is live.
114
114
  - Surface a liveness signal while it builds — never a bare silent wait.
@@ -43,17 +43,17 @@ edition** (Claude Desktop / Claude Code) or the CLI.
43
43
  Fetch the template and read its structure guide — this is the core of the
44
44
  workflow:
45
45
 
46
- - `grid_fetch("template", "membership-site")` — the `cloudgrid.yaml` +
46
+ - `grid_get_template("template", "membership-site")` — the `cloudgrid.yaml` +
47
47
  **`AGENTS.md`**. AGENTS.md has the file tree, the Mongo collections
48
48
  (`users`, `memberships`), the CloudGrid injection table, and the auth + Stripe
49
49
  wiring. **Read it fully before building.**
50
- - `grid_fetch("template", "app-with-data")` — the proven Next.js + Mongo
50
+ - `grid_get_template("template", "app-with-data")` — the proven Next.js + Mongo
51
51
  shape this blueprint extends (lazy db client in `lib/db.js`, App-Router
52
52
  GET/POST route). Imitate its wiring.
53
53
 
54
54
  ## 4. Scaffold
55
55
 
56
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
56
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
57
57
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
58
58
  directory, so run `init` FIRST. Then write the app under **`services/web/`** and
59
59
  set `cloudgrid.yaml` to the active shape below.
@@ -98,11 +98,11 @@ never set `needs:` and `requires:` together (the validator rejects it).
98
98
 
99
99
  ## 6. Config / secrets
100
100
 
101
- - Stripe + auth secrets → `grid_secrets` (set the vault items `stripe-live-key`,
101
+ - Stripe + auth secrets → `grid_set_secret` (set the vault items `stripe-live-key`,
102
102
  `stripe-webhook-secret`, `auth-provider-key` that the `vault:` block maps from).
103
103
  The deployer injects each as its env var at runtime and under `grid dev`.
104
104
  - Non-secret config (auth publishable key `NEXT_PUBLIC_...`, Stripe price id) →
105
- `grid_env` / `services.web.env`.
105
+ `grid_set_env` / `services.web.env`.
106
106
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` / legacy
107
107
  `MONGODB_URL`) — the grid injects them.
108
108
 
@@ -113,7 +113,7 @@ and vault secrets before deploying. Don't require it.
113
113
 
114
114
  ## 8. Deploy (async)
115
115
 
116
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
116
+ Deploy the folder with `grid_deploy`. 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.
@@ -39,7 +39,7 @@ edition** (Claude Desktop / Claude Code) or the CLI.
39
39
 
40
40
  ## 3. Scaffold
41
41
 
42
- `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
+ `grid_create_project` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
43
43
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
44
44
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
45
45
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -64,7 +64,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
64
64
  author new yaml with it, and never set `needs:` and `requires:` together (the
65
65
  validator rejects it).
66
66
  2. Fetch the template for the Mongo wiring + CRUD shape:
67
- `grid_fetch("template", "monitoring-dashboard")`. It is a minimal, real
67
+ `grid_get_template("template", "monitoring-dashboard")`. It is a minimal, real
68
68
  Next.js + `mongodb`-driver health board under `services/web/`: a lazy client
69
69
  in `services/web/lib/db.js`, an App-Router GET/POST/DELETE route on a `checks`
70
70
  collection, a server-component page that derives the status grid, and a client
@@ -85,13 +85,13 @@ before deploying. Don't require it.
85
85
 
86
86
  ## 6. Config
87
87
 
88
- - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
88
+ - API keys / secrets → `grid_set_secret`. Non-secret config → `grid_set_env`.
89
89
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
90
90
  legacy `MONGODB_URL`) — the grid injects them.
91
91
 
92
92
  ## 7. Deploy (async)
93
93
 
94
- Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
94
+ Deploy the folder with `grid_deploy`. 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.