🧪 Skills

Jack Cloud

Deploy 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...

v0.3.1
❤️ 0
⬇️ 1.0k
👁 2
Share

Description


name: jack-cloud description: > Deploy web services to the cloud with Jack. Use when: you need to create APIs, websites, or backends and deploy them live. Teaches: project creation, deployment, databases, logs, and all Jack Cloud services. homepage: https://getjack.org metadata: {"clawdbot":{"emoji":"🃏","homepage":"https://github.com/getjack-org/skills","requires":{"bins":["node","npm"],"env":[]},"install":[{"id":"npm","kind":"npm","package":"@getjack/jack","bins":["jack"],"label":"Install Jack CLI (npm)"}]}} allowed-tools: Read, Edit, Grep, Glob

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

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

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:

jack ship

For machine-readable output (useful in scripts and agents):

jack ship --json

Builds the project and deploys to production. Takes a few seconds.

MCP: mcp__jack__deploy_project


Check Status

jack info

Shows: live URL, last deploy time, attached services (databases, storage, etc.).

MCP: mcp__jack__get_project_status


Database (D1)

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:

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

# 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:

# 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:

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)

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)

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

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

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

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

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs