DevOps i chmura · Automatyzacja
cloudflare
/cloudflare
Wdraża aplikację Vibes na Cloudflare Workers przez Deploy API.
Dla kogo
- Autor
- popmechanic ↗
- Repozytorium
- VibesOS ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 26.07.2026
Ocena i bezpieczeństwo
100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Przestarzałość
Brak sygnałów. Repozytorium zmienione 26.07.2026, bez odwołań do wycofanych modeli i API.
Licencja
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Wdraża aplikację Vibes na Cloudflare Workers przez Deploy API.
Oryginalny opis (EN)
Self-contained deploy automation — invoke directly, do not decompose. Deploys a Vibes app to Cloudflare Workers via the Deploy API. Use when deploying, publishing, going live, pushing to production, or hosting on the edge.
Jak działa
- Deploy to Cloudflare
Sekcje z nagłówków SKILL.md, w oryginale · 104 linii, 605 słów
Podgląd SKILL.md
---
name: cloudflare
description: Self-contained deploy automation — invoke directly, do not decompose. Deploys a Vibes app to Cloudflare Workers via the Deploy API. Use when deploying, publishing, going live, pushing to production, or hosting on the edge.
license: MIT
allowed-tools: Bash, Read, Glob, AskUserQuestion, Write
metadata:
author: "Marcus Estes"
---
> **Plan mode**: If you are planning work, this entire skill is ONE plan step: "Invoke /vibes:cloudflare". Do not decompose the steps below into separate plan tasks.
```
╔═══════════════════════════════════════════════╗
║ ☁️ CLOUDFLARE WORKERS DEPLOY ║
║ Deploy API · Pocket ID · Edge Functions ║
╚═══════════════════════════════════════════════╝
```
## Deploy to Cloudflare
Deploy your Vibes app to Cloudflare Workers via the Deploy API.
### Prerequisites
1. **Assembled HTML file** (from `/vibes:vibes` or `/vibes:factory`)
2. **Vibes account** (browser login on first deploy)
No Cloudflare account or wrangler CLI needed — the Deploy API handles infrastructure.
### Quick Deploy
```bash
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/deploy-cloudflare.js" --name myapp --file index.html
```
On first run, a browser window opens for Pocket ID authentication. Tokens are cached for subsequent deploys.
**Static Assets:** Place images, fonts, or other static files in an `assets/` directory next to the app file. The deploy script auto-discovers and includes them (binary files are base64-encoded). Reference in code with absolute paths like `/assets/logo.png`.
### Deploy with AI enabled
```bash
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/deploy-cloudflare.js" --name myapp --file index.html --ai-key "sk-or-v1-your-key"
```
The `--ai-key` flag configures the OpenRouter API key for the `useAI()` hook. Without it, `/api/ai/chat` returns `{"error": "AI not configured"}`.
### Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/registry.json` | GET | Public registry read |
| `/check/:subdomain` | GET | Check subdomain availability |
| `/claim` | POST | Claim a subdomain (auth required) |
| `/api/ai/chat` | POST | AI proxy to OpenRouter (requires AI key) |
### Important: Custom Domain Required for Subdomains
Workers.dev domains only support one subdomain level for SSL. For multi-tenant
apps with subdomains (tenant.myapp.workers.dev), you MUST use a custom domain.
**Won't work:** `tenant.myapp.username.workers.dev` (SSL error)
**Will work:** `tenant.myapp.com` (with custom domain)
On workers.dev, use the `?subdomain=` query parameter for testing:
- `myapp.username.workers.dev` → landing page
- `myapp.username.workers.dev?subdomain=tenant` → tenant app
- `myapp.username.workers.dev?subdomain=admin` → admin dashboard
### Custom Domain Setup
1. **Add domain to Cloudflare** (get nameservers from Cloudflare DNS dashboard)
2. **Point registrar nameservers** to Cloudflare's assigned nameservers
3. **Delete conflicting DNS records** for the apex domain (A, AAAA, CNAME)
4. **Add Custom Domain** in Workers & Pages → your worker → Settings → Domains & Routes → Add → Custom Domain (apex: yourdomain.com)
5. **Add wildcard CNAME** in DNS: Name: `*`, Target: `<worker-name>.<username>.workers.dev` (Proxied: ON)
6. **Add Route** in Workers & Pages → your worker → Settings → Domains & Routes → Add → Route: `*.yourdomain.com/*`
After setup:
- `yourdomain.com` → landing page
- `tenant.yourdomain.com` → tenant app
- `admin.yourdomain.com` → admin dashboard
### Troubleshooting
| Problem | Cause | Fix |
|---------|-------|-----|
| Browser doesn't open for auth | Headless environment | Copy the printed URL and open manually |
| Deploy API returns 401 | Expired or invalid token | Delete `~/.vibes/auth.json` and retry |
| 404 on subdomain URL | Workers.dev doesn't support nested subdomains | Set up a custom domain (see Custom Domain Setup above) |
| `/api/ai/chat` returns "AI not configured" | Missing OpenRouter key | Redeploy with `--ai-key` |
| Stale content after redeploy | Browser cache | Hard refresh (Cmd+Shift+R) or clear cache |
### What's Next?
After successful deployment, present these options:
AskUserQuestion:
question: "Your app is deployed! What would you like to do next?"
header: "Next steps"
options:
- label: "Set up custom domain"
description: "Configure DNS for subdomain routing (required for multi-tenant)"
- label: "Enable AI features"
description: "Add OpenRouter API key for the useAI() hook"
- label: "Add auth & SaaS features"
description: "Transform into SaaS with /vibes:factory, then redeploy"
- label: "Open in browser"
description: "Visit the deployed URL to verify everything works"
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · popmechanic/VibesOS | 100 | MIT |
| ericrisco/rsc-harness | 100 | MIT |
| travnie/twojstar | 100 | ISC |
| getsentry/junior | 100 | Apache-2.0 |
| tdimino/claude-code-minoan | 100 | MIT |
| cloudflare/skills | 100 | Apache-2.0 |
| intentic/intentic | 96 | MIT |
| virtualian/pai | 95 | MIT |
| virtualian/pai | 95 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 5d7355dbfe1f (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100cloudflare-deploy
Wdraża aplikacje i infrastrukturę na Cloudflare przez Workers, Pages i powiązane usługi platformy. - 100cloudflare-deploy
Wdraża aplikacje i infrastrukturę na Cloudflare z użyciem Workers, Pages i powiązanych usług platformy. - 95cloudflare-deploy
Wdraża aplikacje i infrastrukturę w Cloudflare przez Workers, Pages i usługi pokrewne, gdy trzeba opublikować projekt. - 100cloudflare-deploy
Wdraża aplikacje i infrastrukturę na Cloudflare z użyciem Workers, Pages i powiązanych usług platformy. - 100cloudflare-deployment
Wdraża i zarządza Cloudflare Workers, Pages, KV, R2 i D1 przez wrangler CLI lub serwer MCP. - 100wrangler
Wdraża i zarządza Cloudflare Workers, Pages, R2, D1 i KV za pomocą narzędzia wrangler, także przy wdrożeniach na edge.