cargo-hosting
Put something on the internet from Cargo — hosted web apps (Vite by default, other static frameworks detected) and serverless edge workers that answer HTTP requests, plus the deployments that build and promote them, the env vars and secrets a worker reads, running a worker locally, and custom domains and search indexing for public sites. Triggers: "build me a dashboard for this", "host this app", "give me a URL to share", "deploy this", "I need a webhook endpoint", "make it live", "promote to production", "ship a UI for my team", "give my worker an API token", "set a secret on the worker", "Missing CARGO_API_TOKEN", "my app cannot call my worker", "run the worker locally", "put it on my own domain", "make the site indexable by Google". Skip when: the app or worker should be declared as committed workspace code — use cargo-project.
Rank
62
Safety
84
Downloads
1.0k
Updated
Oct 11, 2026
Version
1.1.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.1.1release · observed Sep 24, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s178dcd9wkfn0a2fqrygmt3jzn87j9e1:cargo-hosting- Install using `clawhub skill install s178dcd9wkfn0a2fqrygmt3jzn87j9e1:cargo-hosting` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/cargo-ai/cargo-hosting before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-hosting/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
146,195 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: cargo-hosting
description: "Put something on the internet from Cargo — hosted web apps (Vite by default, other static frameworks detected) and serverless edge workers that answer HTTP requests, plus the deployments that build and promote them, the env vars and secrets a worker reads, running a worker locally, and custom domains and search indexing for public sites. Triggers: \"build me a dashboard for this\", \"host this app\", \"give me a URL to share\", \"deploy this\", \"I need a webhook endpoint\", \"make it live\", \"promote to production\", \"ship a UI for my team\", \"give my worker an API token\", \"set a secret on the worker\", \"Missing CARGO_API_TOKEN\", \"my app cannot call my worker\", \"run the worker locally\", \"put it on my own domain\", \"make the site indexable by Google\". Skip when: the app or worker should be declared as committed workspace code — use cargo-project."
version: "1.1.1"
compatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token
homepage: https://github.com/getcargohq/cargo-skills
metadata:
author: getcargo
openclaw:
requires:
bins:
- cargo-ai
install:
- kind: node
package: "@cargo-ai/cli@latest"
bins:
- cargo-ai
homepage: https://github.com/getcargohq/cargo-skills
---
# Cargo CLI — Hosting
**Cargo Hosting** runs two kinds of workspace-scoped resources, plus the deployments that ship them:
- **App** — a static front end (a Vite single-page app by default; Next.js static export, Astro, SvelteKit, Nuxt, Gatsby and Create React App are detected too) served on its own subdomain (see [URLs](#urls)). The templates are built on `@cargo-ai/app-sdk` (Vite + refine + shadcn primitives, with `getCargoEnv()` / `useCargoApi()` wired to the workspace).
- **Worker** — a serverless HTTP handler that runs on the edge (`fetch(request, env)`), built on `@cargo-ai/worker-sdk` (auto OpenAPI 3.1 spec at `/openapi.json`, Swagger UI at `/docs`).
- **Deployment** — one build+upload of a local source directory to an app or worker. A deployment is **not live until it's promoted**.
> For organizing apps/workers into **folders**, use [`cargo-workspace-management`](../cargo-workspace-management/SKILL.md) (`folder …`). The `--folder-uuid` flags here consume those folder UUIDs.
> See `references/examples/apps.md`, `references/examples/workers.md`, and `references/examples/deployments.md` for end-to-end walkthroughs.
> See `references/response-shapes.md` for JSON response structures.
> See `references/troubleshooting.md` for common errors and how to fix them.
## Bootstrap
Already signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.
```bash
npm install -g @cargo-ai/cli # no global install? prefix every command with `npx @cargo-ai/cli`
cargo-ai login --email [email protected] # emailed code, no browser; creates the account on first use
_meta.json
{
"ownerId": "kn7by8t6yt9yghbxtxz6hv0bts87k6bq",
"slug": "cargo-hosting",
"version": "1.1.1",
"publishedAt": 1790272603670
}references/examples/apps.md
# App examples
Apps are static front ends (Vite single-page apps by default; other frameworks are detected, see `SKILL.md` → App builds) served on `https://<slug>-<workspace prefix>.app.getcargo.run` in production (read the exact host from `url`), scaffolded from `@cargo-ai/app-sdk`.
## Scaffold → create → deploy → promote (end to end)
```bash
# 1. See what templates exist, then scaffold a local project
cargo-ai hosting app init ./territories --list-templates
cargo-ai hosting app init ./territories --template territories-overview --name "Territories"
# 2. Create the workspace slot. --slug is unique per workspace; the host adds a workspace suffix.
cargo-ai hosting app create --name "Territories" --slug territories
# → { "uuid": "<app-uuid>", "slug": "territories", "url": "https://territories-1a2b3c4d.app.getcargo.run", ... }
# 3. (optional) Develop locally — write the .env.local the app needs, then run Vite
cargo-ai hosting app env <app-uuid> > ./territories/.env.local
cd ./territories && npm install && npm run dev
# 4. Build & upload (source = package root, not dist/). The backend runs `npm ci --ignore-scripts`,
# then the app's `build` script (or the framework default, `vite build` here).
cargo-ai hosting deployment create --app-uuid <app-uuid> --source ./territories
# → { "uuid": "<deployment-uuid>", "status": "...", ... }
# 5. Poll until the build is terminal
cargo-ai hosting deployment get <deployment-uuid>
# 6. Promote to make it live at the app's `url`
cargo-ai hosting deployment promote --uuid <deployment-uuid>
# 7. Confirm what's live
cargo-ai hosting deployment get-promoted --app-uuid <app-uuid>
```
## List and inspect
```bash
cargo-ai hosting app list # all apps in the workspace
cargo-ai hosting app list --folder-uuid <uuid> # only apps in one folder
cargo-ai hosting app get <app-uuid> # one app's details + live URL
```
## Local development env
`app env` prints the `.env.local` lines a local copy of the app needs — Cargo OAuth client, workspace UUID, app UUID, and API URL — so `getCargoEnv()` / `useCargoApi()` talk to the right workspace.
```bash
# Default API URL (https://api.getcargo.io)
cargo-ai hosting app env <app-uuid> > ./my-app/.env.local
# Point at a different API (e.g. a staging environment)
cargo-ai hosting app env <app-uuid> --api-url https://api.staging.getcargo.io > ./my-app/.env.local
```
## A public, indexable site
```bash
cargo-ai hosting app init ./site --template public-site --name "Example"
# edit the www.example.com canonicals, robots.txt and sitemap.xml to your real domain FIRST
cargo-ai hosting app create --name "Example" --slug site
cargo-ai hosting deployment create --app-uuid <app-uuid> --source ./site # runs the template's prerendering build script
# poll, promote, then attach a custom domain (API) — the default host is noindex
```
The template's `build` script prerenders each route to `<route>.html`. Link pages by those `.html` paths, because extensionreferences/examples/deployments.md
# Deployment examples A deployment is one build+upload of a local source directory to an app or worker. Two facts drive everything below: 1. A deployment belongs to **exactly one** app or worker — `--app-uuid` and `--worker-uuid` are mutually exclusive. 2. **Building is not promoting.** `deployment create` builds; the live URL only moves when you `deployment promote`. ## Create a deployment ```bash # App: backend runs `npm ci --ignore-scripts` then the app's `build` script (or the framework default) in a sandbox cargo-ai hosting deployment create --app-uuid <app-uuid> --source ./my-app # Worker: backend bundles the entrypoint cargo-ai hosting deployment create --worker-uuid <worker-uuid> --source ./my-worker ``` - `--source` is the **package root** (where `package.json` lives), not a pre-built `dist/`. The build happens server-side. - Default ignore list: `node_modules,dist,build,.git,.next`. Override the whole list with `--ignore`: ```bash cargo-ai hosting deployment create --app-uuid <app-uuid> --source ./my-app \ --ignore "node_modules,dist,build,.git,.next,coverage,.turbo" ``` ## Poll the build, then promote ```bash # Builds are async — poll until the status field is terminal cargo-ai hosting deployment get <deployment-uuid> # when terminal (built/succeeded), promote: cargo-ai hosting deployment promote --uuid <deployment-uuid> ``` If the build failed, inspect the deployment record for the error and fix the source before re-running `deployment create`. See `../response-shapes.md` for the fields to check. ## List deployment history ```bash cargo-ai hosting deployment list --app-uuid <app-uuid> # newest first cargo-ai hosting deployment list --worker-uuid <worker-uuid> ``` ## See what's currently live ```bash cargo-ai hosting deployment get-promoted --app-uuid <app-uuid> cargo-ai hosting deployment get-promoted --worker-uuid <worker-uuid> ``` ## Roll back to a previous deployment Promotion just points the live URL at a deployment, so rolling back is promoting an older one — no rebuild needed. ```bash # 1. Find the deployment you want to go back to cargo-ai hosting deployment list --app-uuid <app-uuid> # 2. Promote it cargo-ai hosting deployment promote --uuid <older-deployment-uuid> # 3. Verify cargo-ai hosting deployment get-promoted --app-uuid <app-uuid> ```
references/examples/workers.md
# Worker examples
Workers are serverless HTTP handlers that run on the edge — a standard `fetch(request, env)` entrypoint built on `@cargo-ai/worker-sdk`. The `blank` template ships an automatic OpenAPI 3.1 spec at `/openapi.json` and Swagger UI at `/docs`.
## Scaffold → create → deploy → promote (end to end)
```bash
# 1. Scaffold a local worker project
cargo-ai hosting worker init ./my-api --list-templates
cargo-ai hosting worker init ./my-api --template blank --name "My API"
# 2. Create the workspace slot. --slug is unique per workspace; the host adds a workspace suffix.
cargo-ai hosting worker create --name "My API" --slug my-api
# → { "uuid": "<worker-uuid>", "slug": "my-api", "url": "https://my-api-1a2b3c4d.worker.getcargo.run", ... }
# 2b. (only if the worker calls the Cargo API) give it a token — see "Env vars and the API token" below
# 3. Build & upload (source = package root). The backend bundles the entrypoint.
cargo-ai hosting deployment create --worker-uuid <worker-uuid> --source ./my-api
# → { "uuid": "<deployment-uuid>", "status": "...", ... }
# 4. Poll until the build is terminal
cargo-ai hosting deployment get <deployment-uuid>
# 5. Promote to go live
cargo-ai hosting deployment promote --uuid <deployment-uuid>
# 6. Confirm what's live, then hit it
cargo-ai hosting deployment get-promoted --worker-uuid <worker-uuid>
curl "$(cargo-ai hosting worker get <worker-uuid> | jq -r .url)/openapi.json"
```
## List and inspect
```bash
cargo-ai hosting worker list # all workers
cargo-ai hosting worker list --folder-uuid <uuid> # only workers in one folder
cargo-ai hosting worker get <worker-uuid> # one worker's details + URL
```
## Templates
```bash
cargo-ai hosting worker init ./tmp --list-templates
```
- **`blank`** — edge worker on `@cargo-ai/worker-sdk` with automatic OpenAPI 3.1 spec at `/openapi.json` and Swagger UI at `/docs`.
- **`custom-integration`** — a Cargo Custom Integration worker: manifest / actions / extractors / autocompletes / dynamic schemas, also with `/openapi.json`. Use this when you're building an integration the rest of Cargo can call as a connector action.
## Rename, move, remove
```bash
cargo-ai hosting worker update --uuid <worker-uuid> --name "Renamed Worker"
cargo-ai hosting worker update --uuid <worker-uuid> --folder-uuid <folder-uuid>
cargo-ai hosting worker update --uuid <worker-uuid> --folder-uuid null # back to root
cargo-ai hosting worker remove <worker-uuid> # also removes its deployments
```
## Env vars and the API token
`createCargoApi(c.env)` needs a `CARGO_API_TOKEN`, and Cargo does not inject one. Mint a token, then store it as a **secret** env var **before** deploying:
```bash
cargo-ai workspaceManagement token create --name "worker: my-api" # value shown once
export CARGO_API_TOKEN=<token value>
# Option A — workspace-wide: every worker (and app) in the workspace inherits it
cargo-ai workspaceManagement envVar creaAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/cargo-ai/skills/cargo-hosting",
"sourceUrl": "https://clawhub.ai/cargo-ai/skills/cargo-hosting",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T18:49:48.704Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-hosting/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-hosting/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T18:49:48.704Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1K downloads",
"href": "https://clawhub.ai/cargo-ai/cargo-hosting",
"sourceUrl": "https://clawhub.ai/cargo-ai/cargo-hosting",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T18:49:48.704Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.1.1",
"href": "https://clawhub.ai/cargo-ai/cargo-hosting",
"sourceUrl": "https://clawhub.ai/cargo-ai/cargo-hosting",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-24T17:56:43.670Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-hosting/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-hosting/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.1.1",
"description": "cargo-hosting 1.1.1 - Bumped version to 1.1.1. - Updated skill-metadata and documentation in SKILL.md. - Removed deprecated skill-card.md file.",
"href": "https://clawhub.ai/cargo-ai/cargo-hosting",
"sourceUrl": "https://clawhub.ai/cargo-ai/cargo-hosting",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-24T17:56:43.670Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
For crawlers
This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.
- One record, as JSON: card, facts, snapshot, contract, trust.
- Every agent, one feed: /.well-known/ai-catalog.json
- What this site sells, and the price: /.well-known/x402
- Paid run-check: /api/v1/agents/clawhub-cargo-ai-cargo-hosting/run-check
