Jack Cloud
FlaggedDeploy web services to the cloud with Jack. Use when: you need to create APIs, websites, or backends and deploy them live. Teaches: project creation, deploym...
$ Add to .claude/skills/ About This Skill
# Jack Cloud — Deploy Anything from the Terminal
Jack deploys Cloudflare Workers projects in one command. Create an API, add a database, ship it live — all from the terminal.
Install
```bash npm i -g @getjack/jack jack login ```
External Endpoints
| Endpoint | Data Sent | Purpose | |----------|-----------|---------| | `auth.getjack.org` | OAuth tokens (GitHub/Google via WorkOS) | Authentication | | `control.getjack.org` | Project metadata, source code during deploy | Project management and deployments |
Security & Privacy
- `jack login` authenticates via browser OAuth (GitHub/Google via WorkOS). Auth token stored at `~/.config/jack/auth.json`
- No environment variables required — authentication is interactive
- Source code is uploaded during `jack ship` and deployed to Cloudflare Workers via Jack Cloud
- Project metadata (name, slug, deploy history) is stored on Jack Cloud
- No telemetry is sent without user consent (`jack telemetry` to configure)
- npm package: @getjack/jack — open source CLI
MCP Tools
If your agent has `mcp__jack__*` tools available, prefer those over CLI commands. They return structured JSON and are tracked automatically. The CLI equivalents are noted below for agents without MCP.
---
Create & Deploy a Project
```bash jack new my-api ```
This creates a project from a template, deploys it, and prints the live URL.
Pick a template when prompted (or pass `--template`):
| Template | What you get | |----------|-------------| | `api` | Hono API with example routes | | `hello` | Minimal hello-world starter | | `miniapp` | Full-stack app with frontend | | `ai-chat` | AI chat app with streaming | | `nextjs` | Next.js full-stack app |
Run `jack new` to see all available templates.
MCP: `mcp__jack__create_project` with `name` and `template` params.
After creation, your project is live at `https://<slug>.runjack.xyz`.
---
Deploy Changes
After editing code, push changes live:
```bash jack ship ```
For machine-readable output (useful in scripts and agents):
```bash jack ship --json ```
Builds the project and deploys to production. Takes a few seconds.
MCP: `mcp__jack__deploy_project`
---
Check Status
```bash jack info ```
Shows: live URL, last deploy time, attached services (databases, storage, etc.).
MCP: `mcp__jack__get_project_status`
---
Database (D1)
```bash jack services db create # Add D1 database (auto-configures wrangler.jsonc) jack db execute "SELECT * FROM users" # Query data jack db execute --json "SELECT ..." # JSON output jack db execute --write "INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')" jack db execute --write "CREATE TABLE posts (id INTEGER PRIMARY KEY, title TEXT, body TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP)" jack db execute "SELECT name FROM sqlite_master WHERE type='table'" # View schema jack db execute "PRAGMA table_info(users)" ```
After schema changes, redeploy with `jack ship`.
MCP: `mcp__jack__create_database`, `mcp__jack__execute_sql` (set `allow_write: true` for writes; DROP/TRUNCATE blocked by default).
---
Logs
Stream production logs to debug issues:
```bash jack logs ```
Shows real-time request/response logs. Press Ctrl+C to stop.
MCP: `mcp__jack__tail_logs` with `duration_ms` and `max_events` params for a bounded sample.
---
Common Workflow: API with Database
```bash # 1. Create project jack new my-api --template api
# 2. Add database jack services db create
# 3. Create tables jack db execute --write "CREATE TABLE items (id INTEGER PRIMARY KEY, name TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP)"
# 4. Edit src/index.ts — add routes that query the DB # Access DB via: c.env.DB (the D1 binding)
# 5. Deploy jack ship
# 6. Verify curl https://my-api.runjack.xyz/api/items ```
---
Secrets
Store API keys and sensitive values:
```bash # Set a secret (prompts for value) jack secrets set STRIPE_SECRET_KEY
# Set multiple jack secrets set API_KEY WEBHOOK_SECRET
# List secrets (names only, values hidden) jack secrets list ```
Secrets are available in your worker as `c.env.SECRET_NAME`. Redeploy after adding secrets:
```bash jack ship ```
---
Project Structure
``` my-project/ ├── src/ │ └── index.ts # Worker entry point ├── wrangler.jsonc # Config: bindings, routes, compatibility ├── package.json └── .jack/ └── project.json # Links to Jack Cloud ```
- `wrangler.jsonc` defines D1 bindings, environment vars, compatibility flags
- `.jack/project.json` links the local directory to your Jack Cloud project
- `src/index.ts` is the main entry point — typically a Hono app
---
Advanced Services
Storage (R2)
```bash jack services storage create # Create R2 bucket jack services storage list # List buckets jack services storage info # Bucket details ```
Access in worker via `c.env.BUCKET` binding. Use for file uploads, images, assets.
MCP: `mcp__jack__create_storage_bucket`, `mcp__jack__list_storage_buckets`, `mcp__jack__get_storage_info`
Vector Search (Vectorize)
```bash jack services vectorize create # Create index (768 dims, cosine) jack services vectorize create --dimensions 1536 # Custom dimensions jack services vectorize list jack services vectorize info ```
Access via `c.env.VECTORIZE_INDEX` binding. Use for semantic search, RAG, embeddings.
MCP: `mcp__jack__create_vectorize_index`, `mcp__jack__list_vectorize_indexes`, `mcp__jack__get_vectorize_info`
Cron Scheduling
```bash jack services cron create "*/15 * * * *" # Every 15 minutes jack services cron create "0 * * * *" # Every hour jack services cron list jack services cron test "0 9 * * MON" # Validate + show next runs ```
Your worker needs a `scheduled()` handler or `POST /__scheduled` route.
MCP: `mcp__jack__create_cron`, `mcp__jack__list_crons`, `mcp__jack__test_cron`
Custom Domains
```bash jack domain connect app.example.com # Reserve domain jack domain assign app.example.com # Assign to current project jack domain unassign app.example.com # Unassign jack domain disconnect app.example.com # Fully remove ```
Follow the DNS instructions printed after `assign`. Typically add a CNAME record.
---
List Projects
```bash jack ls # List all your projects jack info my-api # Details for a specific project jack open my-api # Open in browser ```
MCP: `mcp__jack__list_projects` with optional `filter` (all, local, deployed, cloud).
---
Troubleshooting
| Problem | Fix | |---------|-----| | "Not authenticated" | Run `jack login` | | "No wrangler config found" | Run from a jack project directory | | "Database not found" | Run `jack services db create` | | Deploy fails | Check `jack logs` for errors, fix code, `jack ship` again | | Need to start over | `jack new` creates a fresh project |
---
Reference
- Services deep dive — detailed patterns for each service
- Jack documentation
Use Cases
- Deploy web services, APIs, and backends to the cloud quickly
- Learn cloud deployment fundamentals through guided project creation
- Set up live-hosted websites and API endpoints with minimal configuration
- Manage cloud service deployments for small to medium projects
- Prototype and deploy web applications to production environments rapidly
Pros & Cons
Pros
- +Compatible with multiple platforms including claude-code, openclaw
- +Lightweight design with minimal setup requirements
- +Well-documented with detailed usage instructions and examples
- +Strong community adoption with a large number of downloads
Cons
- -Requires API tokens or authentication setup before first use
- -No built-in analytics or usage metrics dashboard
FAQ
What does Jack Cloud do?
What platforms support Jack Cloud?
What are the use cases for Jack Cloud?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.