Назад към всички

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, deployment, databases, logs, and all Jack Cloud services.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namejack-cloud
descriptionDeploy 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.
homepagehttps://getjack.org
metadata[object Object]
allowed-toolsRead, 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

EndpointData SentPurpose
auth.getjack.orgOAuth tokens (GitHub/Google via WorkOS)Authentication
control.getjack.orgProject metadata, source code during deployProject 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):

TemplateWhat you get
apiHono API with example routes
helloMinimal hello-world starter
miniappFull-stack app with frontend
ai-chatAI chat app with streaming
nextjsNext.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

ProblemFix
"Not authenticated"Run jack login
"No wrangler config found"Run from a jack project directory
"Database not found"Run jack services db create
Deploy failsCheck jack logs for errors, fix code, jack ship again
Need to start overjack new creates a fresh project

Reference