@cloudgrid-io/mcp 0.21.17 → 0.21.19

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 (84) hide show
  1. package/README.md +2 -2
  2. package/package.json +10 -3
  3. package/src/corpus/cli-reference.md +8 -8
  4. package/src/corpus/cloudgrid-yaml.md +5 -5
  5. package/src/corpus/cookbook.md +1 -1
  6. package/src/corpus/playbook.md +1 -1
  7. package/src/corpus/skill-brain.md +1 -1
  8. package/src/corpus/skill-claim.md +2 -2
  9. package/src/corpus/skill-feedback.md +5 -5
  10. package/src/corpus/skill-plug.md +4 -4
  11. package/src/corpus/templates/_cloudgrid.yaml.reference +7 -7
  12. package/src/corpus/templates/admin-dashboard/cloudgrid.yaml +7 -7
  13. package/src/corpus/templates/ai-app/cloudgrid.yaml +7 -7
  14. package/src/corpus/templates/ai-knowledge-base/AGENTS.md +1 -1
  15. package/src/corpus/templates/ai-knowledge-base/cloudgrid.yaml +7 -7
  16. package/src/corpus/templates/analytics-dashboard/cloudgrid.yaml +7 -7
  17. package/src/corpus/templates/api-dashboard/cloudgrid.yaml +7 -7
  18. package/src/corpus/templates/api-docs/cloudgrid.yaml +7 -7
  19. package/src/corpus/templates/api-service/cloudgrid.yaml +7 -7
  20. package/src/corpus/templates/app-with-data/cloudgrid.yaml +7 -7
  21. package/src/corpus/templates/appointment-booking/cloudgrid.yaml +7 -7
  22. package/src/corpus/templates/approval-workflow/cloudgrid.yaml +7 -7
  23. package/src/corpus/templates/billing-dashboard/cloudgrid.yaml +7 -7
  24. package/src/corpus/templates/blog-cms/cloudgrid.yaml +7 -7
  25. package/src/corpus/templates/booking-system/cloudgrid.yaml +7 -7
  26. package/src/corpus/templates/calendar-scheduler/AGENTS.md +1 -1
  27. package/src/corpus/templates/calendar-scheduler/cloudgrid.yaml +7 -7
  28. package/src/corpus/templates/changelog/cloudgrid.yaml +7 -7
  29. package/src/corpus/templates/company-website/cloudgrid.yaml +7 -7
  30. package/src/corpus/templates/course-platform/cloudgrid.yaml +7 -7
  31. package/src/corpus/templates/crm/cloudgrid.yaml +7 -7
  32. package/src/corpus/templates/dashboard/cloudgrid.yaml +7 -7
  33. package/src/corpus/templates/deck/cloudgrid.yaml +7 -7
  34. package/src/corpus/templates/directory/cloudgrid.yaml +7 -7
  35. package/src/corpus/templates/docs-site/cloudgrid.yaml +7 -7
  36. package/src/corpus/templates/erp/cloudgrid.yaml +7 -7
  37. package/src/corpus/templates/event-board/cloudgrid.yaml +7 -7
  38. package/src/corpus/templates/expense-tracker/cloudgrid.yaml +7 -7
  39. package/src/corpus/templates/feature-request-board/cloudgrid.yaml +7 -7
  40. package/src/corpus/templates/financial-dashboard/cloudgrid.yaml +7 -7
  41. package/src/corpus/templates/forum/cloudgrid.yaml +7 -7
  42. package/src/corpus/templates/hr-portal/cloudgrid.yaml +7 -7
  43. package/src/corpus/templates/internal-tools-portal/cloudgrid.yaml +7 -7
  44. package/src/corpus/templates/inventory/cloudgrid.yaml +7 -7
  45. package/src/corpus/templates/invoice/cloudgrid.yaml +7 -7
  46. package/src/corpus/templates/job-board/cloudgrid.yaml +7 -7
  47. package/src/corpus/templates/kanban/cloudgrid.yaml +7 -7
  48. package/src/corpus/templates/landing-page/cloudgrid.yaml +7 -7
  49. package/src/corpus/templates/lms/cloudgrid.yaml +7 -7
  50. package/src/corpus/templates/marketplace/AGENTS.md +1 -1
  51. package/src/corpus/templates/marketplace/cloudgrid.yaml +7 -7
  52. package/src/corpus/templates/membership-site/cloudgrid.yaml +7 -7
  53. package/src/corpus/templates/monitoring-dashboard/cloudgrid.yaml +7 -7
  54. package/src/corpus/templates/multi-service/cloudgrid.yaml +7 -7
  55. package/src/corpus/templates/online-store/cloudgrid.yaml +7 -7
  56. package/src/corpus/templates/portfolio/cloudgrid.yaml +7 -7
  57. package/src/corpus/templates/product-catalog/cloudgrid.yaml +7 -7
  58. package/src/corpus/templates/product-launch/cloudgrid.yaml +7 -7
  59. package/src/corpus/templates/project-management/cloudgrid.yaml +7 -7
  60. package/src/corpus/templates/property-listings/cloudgrid.yaml +7 -7
  61. package/src/corpus/templates/quiz-platform/cloudgrid.yaml +7 -7
  62. package/src/corpus/templates/report/cloudgrid.yaml +7 -7
  63. package/src/corpus/templates/restaurant-reservations/cloudgrid.yaml +7 -7
  64. package/src/corpus/templates/revenue-dashboard/cloudgrid.yaml +7 -7
  65. package/src/corpus/templates/saas-marketing/cloudgrid.yaml +7 -7
  66. package/src/corpus/templates/semantic-search/cloudgrid.yaml +7 -7
  67. package/src/corpus/templates/semantic-search/services/backend/requirements.txt +2 -2
  68. package/src/corpus/templates/semantic-search/services/refresh/requirements.txt +2 -2
  69. package/src/corpus/templates/semantic-search/services/web/package-lock.json +3 -3
  70. package/src/corpus/templates/simple-semantic-search/cloudgrid.yaml +7 -7
  71. package/src/corpus/templates/status-page/cloudgrid.yaml +7 -7
  72. package/src/corpus/templates/subscription-management/cloudgrid.yaml +7 -7
  73. package/src/corpus/templates/task-manager/cloudgrid.yaml +7 -7
  74. package/src/corpus/templates/ticket-system/cloudgrid.yaml +7 -7
  75. package/src/corpus/templates/time-tracking/cloudgrid.yaml +7 -7
  76. package/src/corpus/templates/travel-booking/cloudgrid.yaml +7 -7
  77. package/src/corpus/templates/waitlist/cloudgrid.yaml +7 -7
  78. package/src/corpus/templates/web-app/cloudgrid.yaml +7 -7
  79. package/src/corpus/workflows/forum.md +1 -1
  80. package/src/corpus/workflows/simple-semantic-search.md +1 -1
  81. package/src/tools/constants.js +4 -1
  82. package/src/tools/deploy.js +37 -10
  83. package/src/tools/register.js +49 -58
  84. package/src/widgets/grid-login.html +14 -14
package/README.md CHANGED
@@ -10,7 +10,7 @@ It ships in two editions from one codebase:
10
10
  wrappers) for web clients like claude.ai. See [REMOTE.md](REMOTE.md).
11
11
 
12
12
  The local edition wraps the `grid` CLI for authenticated operations (the CLI
13
- handles auth, org context, and error formatting) and calls the API directly for the
13
+ handles auth, grid context, and error formatting) and calls the API directly for the
14
14
  plug, login, and visibility tools.
15
15
 
16
16
  ## CLI compatibility
@@ -231,7 +231,7 @@ block) and structured result data bypass the text scrubber.
231
231
 
232
232
  **No other data collection by this server.** The server does not track usage
233
233
  analytics or transmit data beyond the flows listed above and the authenticated
234
- CloudGrid API calls the individual tools make (e.g. `/orgs`, `/grids`,
234
+ CloudGrid API calls the individual tools make (e.g. `/grids`,
235
235
  `/pickup`, `/deploys`, `/inspirations/{id}/source`). CLI-wrapping tools shell
236
236
  out to the CloudGrid `grid` CLI, which shares the same
237
237
  `~/.cloudgrid/credentials` file and does not send additional telemetry through
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudgrid-io/mcp",
3
- "version": "0.21.17",
3
+ "version": "0.21.19",
4
4
  "description": "MCP access to CloudGrid — the live runtime environment where the user's apps run WITH the infrastructure they need out of the box: managed MongoDB, Redis (cache/queues/pub-sub), a pgvector store, persistent disk, and built-in AI with no API keys, in any language or stack, no Docker or Kubernetes to manage. Brainstorm, build, plug, and improve apps, games, dashboards, and tools; instant single-page publishes and full runtime-app deploys with a live URL — for developers and non-technical users. Three editions: local stdio (full toolset), hosted web (light, CLI-free), and a public docs-search server.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -31,6 +31,7 @@
31
31
  "test:plug-output-schema": "node test/plug-output-schema.test.mjs",
32
32
  "test:zip-deploy": "node test/zip-deploy.test.mjs",
33
33
  "test:create-gates": "node test/create-gates.test.mjs",
34
+ "test:login-required-create": "node test/login-required-create.test.mjs",
34
35
  "test:plug-create-grid-choice": "node test/plug-create-grid-choice.test.mjs",
35
36
  "test:hello": "node test/hello.test.mjs",
36
37
  "test:grid-provisioning": "node test/grid-provisioning.test.mjs",
@@ -86,10 +87,10 @@
86
87
  },
87
88
  "dependencies": {
88
89
  "@modelcontextprotocol/ext-apps": "^1.7.5",
89
- "@modelcontextprotocol/sdk": "^1.30.0",
90
+ "@modelcontextprotocol/sdk": "^1.32.1",
90
91
  "express": "^4.22.2",
91
92
  "fflate": "^0.8.3",
92
- "undici": "^8.10.0",
93
+ "undici": "^8.11.2",
93
94
  "zod": "^3.23.0"
94
95
  },
95
96
  "devDependencies": {
@@ -100,5 +101,11 @@
100
101
  "repository": {
101
102
  "type": "git",
102
103
  "url": "https://github.com/cloudgrid-io/mcp.git"
104
+ },
105
+ "//overrides-qs": "qs is held at 6.15.x by express and body-parser, which both declare ~6.15.1: a tilde range that excludes 6.16.0, so no lockfile refresh reaches the patched version. cloudgrid runs this same override in packages/api and functions/event-consumer through the identical pins. REMOVE once express/body-parser declare a range admitting >= 6.16.0: npm view body-parser dependencies.qs . See cloudgrid-io/cloudgrid#4346.",
106
+ "overrides": {
107
+ "proxy-addr": "^2.0.8",
108
+ "fast-uri": "^3.1.8",
109
+ "qs": "^6.16.0"
103
110
  }
104
111
  }
@@ -50,7 +50,7 @@ Verify: `grid --version` and `grid doctor`.
50
50
 
51
51
  ```
52
52
  grid login # Google OAuth in the browser
53
- grid whoami # confirm user + active org
53
+ grid whoami # confirm user + active grid
54
54
  grid plug # build + deploy the current directory, prints the live URL
55
55
  grid open # open it in the browser
56
56
  ```
@@ -72,7 +72,7 @@ grid logs --since 10m
72
72
  grid visibility set my-api link
73
73
  grid feedback
74
74
 
75
- # Switch org, list what's on the grid
75
+ # Switch grid, list what's on the grid
76
76
  grid use atomic
77
77
  grid grid
78
78
  ```
@@ -81,19 +81,19 @@ grid grid
81
81
 
82
82
  | Command | Purpose |
83
83
  |---|---|
84
- | `login` / `logout` / `whoami` | Sign in (Google OAuth), sign out, show user + active org |
85
- | `use [slug]` | Set or show the active org |
84
+ | `login` / `logout` / `whoami` | Sign in (Google OAuth), sign out, show user + active grid |
85
+ | `use [slug]` | Set or show the active grid |
86
86
  | `new <name>` | Scaffold a new app or agent project (`--type`, `--needs`, `--agent`, `--dir`); the entity is created on first `plug` |
87
87
  | `plug [target]` | Build + deploy (or redeploy); first plug auto-creates the entity from `cloudgrid.yaml`; prints the live URL |
88
88
  | `dev` | Run the linked entity locally with grid-injected resources |
89
- | `status [name]` | Org dashboard, entity detail, or a deploy snapshot |
89
+ | `status [name]` | Grid dashboard, entity detail, or a deploy snapshot |
90
90
  | `logs [name]` | Stream entity logs |
91
91
  | `open [name]` | Open the entity URL in the browser |
92
92
  | `info [name]` / `builds [name]` | Entity metadata; recent deploys |
93
93
  | `visibility set <slug> <mode>` | private \| grid \| link — or the axes: `--inside <private\|spaces\|grid> --outside <none\|link\|public>` (+ `--require-signin`, `--space <slug>`) |
94
94
  | `rollback` / `versions` | Roll back to a prior deploy; list/tag minted versions |
95
95
  | `env` / `secrets` | Manage runtime env vars and secrets (secret values are never printed) |
96
- | `grid` / `list` | List what's on your hub / org |
96
+ | `grid` / `list` | List what's on your hub / grid |
97
97
  | `rename` / `delete` / `unplug` | Rename, archive, take off the grid |
98
98
  | `collab` / `pull` / `pickup` | Grant push access (`collab`), continue in place (`pull`), or fork a copy (`pickup`) |
99
99
  | `feedback [message]` | Send feedback to the CloudGrid team |
@@ -111,7 +111,7 @@ Global:
111
111
  - `-h, --help` — help for any command
112
112
 
113
113
  Common per-command:
114
- - `--org <slug>` — pick/override the org
114
+ - `--grid <slug>` — pick/override the grid
115
115
  - `--json` — machine-readable output (where supported)
116
116
  - `--no-clipboard` / `--no-notify` — suppress clipboard copy / OS notification on `plug`
117
117
  - `--since <dur>` / `--tail <n>` — `logs` window
@@ -135,7 +135,7 @@ rm -rf ~/.cloudgrid # remove stored credentials + config
135
135
  ## Troubleshooting
136
136
 
137
137
  - **`grid: command not found`** — ensure the npm global bin (or Homebrew bin) is on `$PATH`; re-run the installer.
138
- - **Auth errors / 401** — `grid login` again; check `grid whoami` shows the expected org, switch with `grid use <org>`.
138
+ - **Auth errors / 401** — `grid login` again; check `grid whoami` shows the expected grid, switch with `grid use <grid>`.
139
139
  - **Deploy fails** — run `grid doctor`; check `grid logs` and `grid status <name>` for the trace.
140
140
 
141
141
  ## Support
@@ -148,7 +148,7 @@ scale: auto # 'auto' (default), 'alert', or integer 1-10
148
148
 
149
149
  # ─── Infrastructure needs (v2, CANONICAL — the deployer injects from these) ─
150
150
  needs:
151
- database: true # Mongo (org-tier). Injects DATABASE_MONGODB_URL.
151
+ database: true # Mongo (grid-tier). Injects DATABASE_MONGODB_URL.
152
152
  cache: true # Redis with LRU eviction. Injects CACHE_REDIS_URL.
153
153
  kv: true # Redis, no eviction. Injects KV_REDIS_URL.
154
154
  queue: true # Redis for BullMQ etc. Injects QUEUE_REDIS_URL.
@@ -160,12 +160,12 @@ needs:
160
160
 
161
161
  # ─── Inter-entity communication ────────────────────────────────────
162
162
  calls: # Entities this app calls (outbound grants).
163
- - org:atomic/billing-api
164
- - org:atomic/content-service
163
+ - atomic/billing-api # <grid-slug>/<app-slug>, a bare slug, or an entity id.
164
+ - atomic/content-service
165
165
 
166
166
  callers: # Inbound caller policy.
167
167
  policy: auto # 'auto' or 'manual' (default: 'manual').
168
- scope: org # 'org', 'space', or 'explicit' (default: 'org').
168
+ scope: org # 'org' (the whole grid), 'space', or 'explicit' (default: 'org').
169
169
  fallback: deny # 'deny' or 'warn' (default: 'deny').
170
170
 
171
171
  # ─── Vault ──────────────────────────────────────────────────────────
@@ -176,7 +176,7 @@ vault: # Map of ENV_VAR: vault_item_key. Optional.
176
176
  # ─── Connectors and hooks ──────────────────────────────────────────
177
177
  connectors:
178
178
  - id: team-slack
179
- target: org # 'system' or 'org'
179
+ target: org # 'system' or 'org' (your grid)
180
180
  channel: "#deploys"
181
181
 
182
182
  hooks: # Outbound events. on ∈ release.published |
@@ -105,6 +105,6 @@ the drop's expiry. Editing an archived or expired drop returns 409
105
105
 
106
106
  ## Notes
107
107
 
108
- - Every command uses the active org and linked entity when you omit the name. Run
108
+ - Every command uses the active grid and linked entity when you omit the name. Run
109
109
  `grid whoami` to see the active context.
110
110
  - These skills wrap the CLI. Anything the CLI can do, a skill can drive.
@@ -29,7 +29,7 @@ Operating rules:
29
29
  On a re-plug/edit of an existing entity, leave its current visibility as-is unless the user asks to change it.
30
30
  6. Brainstorm first (lightly) for a real app, then minimize questions. For a substantial runtime app, take ONE lightweight beat before generating/plugging: confirm the goal + 3-5 core features in a sentence, check for a matching template/recipe (capability-map), and infer the data/runtime needs and STATE them ("I'll add a database so entries are saved"). Keep it to a line or two; never ask a non-technical user infra questions they can't answer. A simple single page skips this and builds immediately. Otherwise use sensible defaults and build; don't front-load setup questions.
31
31
  7. If a signed-in publish fails with a server error, do not fall back to anonymous publishing (it burns the anonymous quota and downgrades ownership); surface the error, use the CLI fallback if offered, or ask the user.
32
- 8. When signed in and the user has more than one grid, do not assume a target. For a NEW app, establish the grid UP FRONT — grid_start returns the grids; if there is more than one, ask "which grid should this go on?" before you start building, and carry that slug into grid_plug. As a backstop, grid_plug hard-gates this: an authed create with >1 grid and no chosen grid returns needs_grid (the picker) instead of plugging; a create with no auth and no anon returns needs_auth (sign-in vs anonymous) instead of silently publishing anonymously. Relay either ask to the user; never pick silently.
32
+ 8. When signed in, establish the grid UP FRONT for a NEW app — grid_start returns the grids. If there are NONE, do rule 3b before you start building: suggest a slug, confirm it, call grid_create_grid, and carry that slug into grid_plug (no wait needed — grid_plug holds until the grid is ready). If there is more than one, do not assume a target: ask "which grid should this go on?" before you start building, and carry that slug into grid_plug. As a backstop, grid_plug hard-gates this: an authed create with >1 grid and no chosen grid returns needs_grid (the picker) instead of plugging; a create with no auth and no anon returns needs_auth (sign-in vs anonymous) instead of silently publishing anonymously. Relay either ask to the user; never pick silently.
33
33
  9. When a build/plug fails unexpectedly, offer to report it to the CloudGrid team — only with the user's explicit consent (ask first). Send just the error + the failed request by default (call grid_report), and never send the whole conversation unless the user agrees (include_conversation). Respect privacy.
34
34
  10. To modify an existing page when you don't already have its HTML in context, first call grid_get_app_source to fetch the current HTML, apply your change, then call grid_plug with target_entity_id (the entity_id) to update the SAME URL in place. Do not ask the user to paste the HTML back.
35
35
  11. Publishing a single HTML page: pass it inline as grid_plug's html parameter (a full self-contained document). For a heavy or image-heavy page in the local edition, pass the path parameter instead so it is read from disk (no inline size limit); never base64-encode HTML and never pass a file path (or an @-prefixed path) as html. If a page looks empty, use grid_get_app_source to check what was actually published, then re-plug with the real HTML/path and target_entity_id.
@@ -39,7 +39,7 @@ when the user wants to see the result now.
39
39
 
40
40
  Other flags:
41
41
 
42
- - `--org <slug>` — target an entity in another org.
42
+ - `--grid <slug>` — target an entity in another grid.
43
43
  - `--json` — machine-readable output.
44
44
 
45
45
  ## Reading the output
@@ -44,10 +44,10 @@ URL path; the claim token goes in the body:
44
44
 
45
45
  ```
46
46
  JWT=$(jq -r .jwt ~/.cloudgrid/credentials 2>/dev/null)
47
- ORG=$(grep -E '^\s*active_org_slug:' ~/.cloudgrid/config.yaml | awk '{print $2}')
47
+ GRID=$(grep -E '^\s*active_org_slug:' ~/.cloudgrid/config.yaml | awk '{print $2}')
48
48
  # ENTITY_ID from the drop response; TOKEN from claim_url's ?token=...
49
49
  curl -sS -X POST "https://api.cloudgrid.io/api/v2/entities/$ENTITY_ID/pickup" \
50
- -H "Authorization: Bearer $JWT" -H "X-CloudGrid-Org: $ORG" \
50
+ -H "Authorization: Bearer $JWT" -H "X-CloudGrid-Grid: $GRID" \
51
51
  -H "Content-Type: application/json" \
52
52
  -d "{\"claim_token\":\"$TOKEN\"}"
53
53
  ```
@@ -3,7 +3,7 @@ version: 0.2.0
3
3
  name: feedback
4
4
  description: |
5
5
  Read the CloudGrid feedback feed. Use when the user wants to see feedback, check
6
- what people said, review reactions, or read recent feedback events for their org.
6
+ what people said, review reactions, or read recent feedback events for their grid.
7
7
  Wraps grid feedback list.
8
8
  argument-hint: "[--since 7d]"
9
9
  allowed-tools: Bash
@@ -11,7 +11,7 @@ allowed-tools: Bash
11
11
 
12
12
  # CloudGrid Feedback
13
13
 
14
- List recent feedback events for the active org. Wraps `grid feedback list`.
14
+ List recent feedback events for the active grid. Wraps `grid feedback list`.
15
15
 
16
16
  ## Step 0 — Bootstrap
17
17
 
@@ -31,15 +31,15 @@ List recent feedback events for the active org. Wraps `grid feedback list`.
31
31
  grid feedback list
32
32
  ```
33
33
 
34
- The feed is scoped to the active org. It is not filtered by entity. Useful flags:
34
+ The feed is scoped to the active grid. It is not filtered by entity. Useful flags:
35
35
 
36
36
  - `--since <duration>` — only events newer than this, for example `24h`, `7d`.
37
37
  - `--limit <n>` — number of events. Default 50, max 200.
38
- - `--org <slug>` — read another org's feed (where you have access).
38
+ - `--grid <slug>` — read another grid's feed (where you have access).
39
39
 
40
40
  ## Reading the output
41
41
 
42
- Each event has a time, an id, an org, and a message. Group or summarize by theme
42
+ Each event has a time, an id, a grid, and a message. Group or summarize by theme
43
43
  when there are many. Surface the ones that look like bugs or blockers first.
44
44
 
45
45
  ## Note: reading vs sending
@@ -52,9 +52,9 @@ Signed in, publish into your own grid instead (owned, no claim needed):
52
52
 
53
53
  ```
54
54
  JWT=$(jq -r .jwt ~/.cloudgrid/credentials 2>/dev/null)
55
- ORG=$(grep -E '^\s*active_org_slug:' ~/.cloudgrid/config.yaml | awk '{print $2}')
55
+ GRID=$(grep -E '^\s*active_org_slug:' ~/.cloudgrid/config.yaml | awk '{print $2}')
56
56
  curl -sS -X POST https://api.cloudgrid.io/api/v2/plug \
57
- -H "Authorization: Bearer $JWT" -H "X-CloudGrid-Org: $ORG" \
57
+ -H "Authorization: Bearer $JWT" -H "X-CloudGrid-Grid: $GRID" \
58
58
  -F "artifact=@/path/to/index.html;type=text/html"
59
59
  ```
60
60
 
@@ -107,8 +107,8 @@ Other shapes:
107
107
  - **A URL as an inspiration:** `grid plug https://example.com`
108
108
  - **Bind to an existing entity first:** `grid plug --existing <entity-id>`
109
109
 
110
- If this is the user's first deploy in the org, the CLI may ask which org to use.
111
- Pass `--org <slug>` to skip that prompt.
110
+ If this is the user's first deploy in the grid, the CLI may ask which grid to use.
111
+ Pass `--grid <slug>` to skip that prompt.
112
112
 
113
113
  ## After plug
114
114
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: my-app
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: my-app
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -104,20 +104,20 @@ name: my-app
104
104
 
105
105
  # Entities this app calls (outbound). Service-account token injected per pair.
106
106
  # calls:
107
- # - org:atomic/billing-api
107
+ # - atomic/billing-api
108
108
 
109
109
  # Inbound caller policy — who can call YOUR entity.
110
110
  # callers:
111
111
  # policy: auto # 'auto' | 'manual' (default).
112
- # scope: org # 'org' (default) | 'space' | 'explicit'.
112
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
113
113
  # fallback: deny # 'deny' (default) | 'warn'.
114
114
  # # allowed_apps: # required only when scope: explicit
115
- # # - org:atomic/frontend
115
+ # # - atomic/frontend
116
116
 
117
117
 
118
118
  # ─── VAULT ──────────────────────────────────────────────────────────────────
119
119
 
120
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
120
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
121
121
  # vault:
122
122
  # STRIPE_KEY: stripe-live-key
123
123
  # SENDGRID_API_KEY: sendgrid-key
@@ -127,7 +127,7 @@ name: my-app
127
127
 
128
128
  # connectors:
129
129
  # - id: team-slack
130
- # target: org # 'system' | 'org'.
130
+ # target: org # 'system' | 'org' (your grid).
131
131
  # channel: "#deploys"
132
132
  # hooks:
133
133
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: my-admin
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: my-admin
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -104,20 +104,20 @@ name: my-admin
104
104
 
105
105
  # Entities this app calls (outbound). Service-account token injected per pair.
106
106
  # calls:
107
- # - org:atomic/billing-api
107
+ # - atomic/billing-api
108
108
 
109
109
  # Inbound caller policy — who can call YOUR entity.
110
110
  # callers:
111
111
  # policy: auto # 'auto' | 'manual' (default).
112
- # scope: org # 'org' (default) | 'space' | 'explicit'.
112
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
113
113
  # fallback: deny # 'deny' (default) | 'warn'.
114
114
  # # allowed_apps: # required only when scope: explicit
115
- # # - org:atomic/frontend
115
+ # # - atomic/frontend
116
116
 
117
117
 
118
118
  # ─── VAULT ──────────────────────────────────────────────────────────────────
119
119
 
120
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
120
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
121
121
  # vault:
122
122
  # STRIPE_KEY: stripe-live-key
123
123
  # SENDGRID_API_KEY: sendgrid-key
@@ -127,7 +127,7 @@ name: my-admin
127
127
 
128
128
  # connectors:
129
129
  # - id: team-slack
130
- # target: org # 'system' | 'org'.
130
+ # target: org # 'system' | 'org' (your grid).
131
131
  # channel: "#deploys"
132
132
  # hooks:
133
133
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: my-chatbot
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: my-chatbot
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -104,20 +104,20 @@ name: my-chatbot
104
104
 
105
105
  # Entities this app calls (outbound). Service-account token injected per pair.
106
106
  # calls:
107
- # - org:atomic/billing-api
107
+ # - atomic/billing-api
108
108
 
109
109
  # Inbound caller policy — who can call YOUR entity.
110
110
  # callers:
111
111
  # policy: auto # 'auto' | 'manual' (default).
112
- # scope: org # 'org' (default) | 'space' | 'explicit'.
112
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
113
113
  # fallback: deny # 'deny' (default) | 'warn'.
114
114
  # # allowed_apps: # required only when scope: explicit
115
- # # - org:atomic/frontend
115
+ # # - atomic/frontend
116
116
 
117
117
 
118
118
  # ─── VAULT ──────────────────────────────────────────────────────────────────
119
119
 
120
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
120
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
121
121
  # vault:
122
122
  # STRIPE_KEY: stripe-live-key
123
123
  # SENDGRID_API_KEY: sendgrid-key
@@ -127,7 +127,7 @@ name: my-chatbot
127
127
 
128
128
  # connectors:
129
129
  # - id: team-slack
130
- # target: org # 'system' | 'org'.
130
+ # target: org # 'system' | 'org' (your grid).
131
131
  # channel: "#deploys"
132
132
  # hooks:
133
133
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created
@@ -93,7 +93,7 @@ injected as env vars at `grid dev` (local) and at runtime (after `grid plug`):
93
93
 
94
94
  The **AI Gateway needs no API key** — `needs: { ai: true }` injects
95
95
  `RUNTIME_GATEWAY_URL` and `@cloudgrid-io/runtime` routes through it. The `vault:` block only
96
- **maps** an org vault item key → an env var name; store the real value once with
96
+ **maps** a grid vault item key → an env var name; store the real value once with
97
97
  `grid secrets set <vault-item-key> <value>`. Never commit a secret; never hardcode
98
98
  a connection string.
99
99
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: my-knowledge-base
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: my-knowledge-base
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -111,20 +111,20 @@ needs:
111
111
 
112
112
  # Entities this app calls (outbound). Service-account token injected per pair.
113
113
  # calls:
114
- # - org:atomic/billing-api
114
+ # - atomic/billing-api
115
115
 
116
116
  # Inbound caller policy — who can call YOUR entity.
117
117
  # callers:
118
118
  # policy: auto # 'auto' | 'manual' (default).
119
- # scope: org # 'org' (default) | 'space' | 'explicit'.
119
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
120
120
  # fallback: deny # 'deny' (default) | 'warn'.
121
121
  # # allowed_apps: # required only when scope: explicit
122
- # # - org:atomic/frontend
122
+ # # - atomic/frontend
123
123
 
124
124
 
125
125
  # ─── VAULT ──────────────────────────────────────────────────────────────────
126
126
 
127
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
127
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
128
128
  # This RAG blueprint needs NO secret by default — the AI Gateway is injected via
129
129
  # `needs: { ai: true }` (no API key to manage). Uncomment a vault block ONLY if
130
130
  # you add auth (gate the chat UI) or payments. Store the value once with
@@ -138,7 +138,7 @@ needs:
138
138
 
139
139
  # connectors:
140
140
  # - id: team-slack
141
- # target: org # 'system' | 'org'.
141
+ # target: org # 'system' | 'org' (your grid).
142
142
  # channel: "#deploys"
143
143
  # hooks:
144
144
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: analytics-dashboard
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: analytics-dashboard
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -104,20 +104,20 @@ name: analytics-dashboard
104
104
 
105
105
  # Entities this app calls (outbound). Service-account token injected per pair.
106
106
  # calls:
107
- # - org:atomic/billing-api
107
+ # - atomic/billing-api
108
108
 
109
109
  # Inbound caller policy — who can call YOUR entity.
110
110
  # callers:
111
111
  # policy: auto # 'auto' | 'manual' (default).
112
- # scope: org # 'org' (default) | 'space' | 'explicit'.
112
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
113
113
  # fallback: deny # 'deny' (default) | 'warn'.
114
114
  # # allowed_apps: # required only when scope: explicit
115
- # # - org:atomic/frontend
115
+ # # - atomic/frontend
116
116
 
117
117
 
118
118
  # ─── VAULT ──────────────────────────────────────────────────────────────────
119
119
 
120
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
120
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
121
121
  # vault:
122
122
  # STRIPE_KEY: stripe-live-key
123
123
  # SENDGRID_API_KEY: sendgrid-key
@@ -127,7 +127,7 @@ name: analytics-dashboard
127
127
 
128
128
  # connectors:
129
129
  # - id: team-slack
130
- # target: org # 'system' | 'org'.
130
+ # target: org # 'system' | 'org' (your grid).
131
131
  # channel: "#deploys"
132
132
  # hooks:
133
133
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: my-api-dashboard
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: my-api-dashboard
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -104,20 +104,20 @@ name: my-api-dashboard
104
104
 
105
105
  # Entities this app calls (outbound). Service-account token injected per pair.
106
106
  # calls:
107
- # - org:atomic/billing-api
107
+ # - atomic/billing-api
108
108
 
109
109
  # Inbound caller policy — who can call YOUR entity.
110
110
  # callers:
111
111
  # policy: auto # 'auto' | 'manual' (default).
112
- # scope: org # 'org' (default) | 'space' | 'explicit'.
112
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
113
113
  # fallback: deny # 'deny' (default) | 'warn'.
114
114
  # # allowed_apps: # required only when scope: explicit
115
- # # - org:atomic/frontend
115
+ # # - atomic/frontend
116
116
 
117
117
 
118
118
  # ─── VAULT ──────────────────────────────────────────────────────────────────
119
119
 
120
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
120
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
121
121
  # vault:
122
122
  # STRIPE_KEY: stripe-live-key
123
123
  # SENDGRID_API_KEY: sendgrid-key
@@ -127,7 +127,7 @@ name: my-api-dashboard
127
127
 
128
128
  # connectors:
129
129
  # - id: team-slack
130
- # target: org # 'system' | 'org'.
130
+ # target: org # 'system' | 'org' (your grid).
131
131
  # channel: "#deploys"
132
132
  # hooks:
133
133
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created
@@ -19,7 +19,7 @@
19
19
 
20
20
  # Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
21
21
  # Must start and end with a letter or digit.
22
- # Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
22
+ # Becomes part of your public URL: <name>-<4hex>--<grid>.cloudgrid.io
23
23
  name: api-docs
24
24
 
25
25
  # One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
@@ -54,7 +54,7 @@ name: api-docs
54
54
 
55
55
  # ─── DEPLOY NOTIFICATIONS ──────────────────────────────────────────────────
56
56
 
57
- # Slack notification to the org's default channel on deploy failure.
57
+ # Slack notification to the grid's default channel on deploy failure.
58
58
  # true = notify (default), false = silent.
59
59
  # notify: true
60
60
 
@@ -104,20 +104,20 @@ name: api-docs
104
104
 
105
105
  # Entities this app calls (outbound). Service-account token injected per pair.
106
106
  # calls:
107
- # - org:atomic/billing-api
107
+ # - atomic/billing-api
108
108
 
109
109
  # Inbound caller policy — who can call YOUR entity.
110
110
  # callers:
111
111
  # policy: auto # 'auto' | 'manual' (default).
112
- # scope: org # 'org' (default) | 'space' | 'explicit'.
112
+ # scope: org # 'org' (the whole grid; default) | 'space' | 'explicit'.
113
113
  # fallback: deny # 'deny' (default) | 'warn'.
114
114
  # # allowed_apps: # required only when scope: explicit
115
- # # - org:atomic/frontend
115
+ # # - atomic/frontend
116
116
 
117
117
 
118
118
  # ─── VAULT ──────────────────────────────────────────────────────────────────
119
119
 
120
- # Map org vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
120
+ # Map grid vault items to env vars. Keys UPPER_SNAKE_CASE; values = vault item keys.
121
121
  # vault:
122
122
  # STRIPE_KEY: stripe-live-key
123
123
  # SENDGRID_API_KEY: sendgrid-key
@@ -127,7 +127,7 @@ name: api-docs
127
127
 
128
128
  # connectors:
129
129
  # - id: team-slack
130
- # target: org # 'system' | 'org'.
130
+ # target: org # 'system' | 'org' (your grid).
131
131
  # channel: "#deploys"
132
132
  # hooks:
133
133
  # - on: deploy.failed # release.published | deploy.failed | feedback.received | entity.created