PreviewShipPreviewShip

Focused guides

PreviewShip Documentation

Start here if you want to deploy framework build output, HTML, Markdown, PDF, or an AI-generated page, then manage the fixed project URL, access mode, versions, and cleanup paths.

Codex Chat Sharing

This is a companion workflow for Codex users. It is useful for sharing debugging context, implementation records, or review discussions, but it is not required for normal PreviewShip deployments.

Global install
npx skills add blockdancez/PreviewShip --skill share-codex-chat -a codex -g --yes
Codex command
$share-codex-chat 分享当前 Codex 对话
Codex chat sharing

Claude Code Chat Sharing

This is a companion workflow for Claude Code users. It is useful for sharing research trails, implementation records, and review discussions while preserving tool activity as readable timeline details.

Global install
npx skills add blockdancez/PreviewShip --skill share-claude-code-chat -a codex -g --yes
Codex command
$share-claude-code-chat 分享 Claude Code 对话
Claude Code chat sharing

Quick Start

PreviewShip turns browser-ready frontend artifacts into fixed preview URLs. Choose the method that fits your workflow:

  1. 1Register a free account at previewship.com
  2. 2Create an API Key in the console (API Keys page)
  3. 3Deploy React/Vue/Vite/Next static output, a zip with index.html, a single HTML/Markdown/PDF file, pasted HTML, or agent-generated output via CLI, MCP, editor extension, or console upload
  4. 4Share the fixed preview URL, then manage access, versions, rollback, redeploy, or project cleanup when needed

Supported Inputs & Project Model

Use PreviewShip when the browser can already open the artifact you want to share. It is built for frontend review links, not source-code builds or backend hosting.

Built frontend output

Deploy React, Vue, Vite, Astro, Svelte, Angular, Next static export, or any static folder such as dist, build, out, public, or a zip that contains index.html and assets.

Single files and pasted HTML

Upload a standalone .html, .md, .markdown, or .pdf file, or paste a complete HTML document. PreviewShip packages it into a browser-ready preview.

Fixed project URL

A project keeps one stable preview URL. Rollback queues a new deployment from the retained version and switches the latest pointer only after success.

Public or password access

Projects are public by default. Pro projects can require a password, and switching back to public clears the stored password.

Version history and recovery

Free shows 3 retained versions, Pro Monthly shows 10, and Pro Yearly shows 40. Rollback queues a new deployment from the retained version; redeploy latest can restore an expired link when the artifact is retained.

Quota cleanup

Free includes 1 project. If it is full, delete an unused project or upgrade before deploying or claiming another preview. Deletion is permanent.

PreviewShip does not run npm install, framework builds, SSR, databases, functions, or backend services after upload. Build framework projects first and deploy the generated static output.

CLI

Deploy from the terminal with one command, then manage fixed project URLs, public/password access, versions, rollback, redeploy, and deletion. The CLI also supports JSON output for AI agents and CI.

Install

Use npx directly (no install needed) or install globally:

Terminal
npm install -g previewship
npx (no install)
npx previewship deploy ./dist

Set API Key

Set your API Key for authentication:

Interactive
previewship login
Non-interactive
previewship login --key ps_live_your_key_here

Or set via environment variable:

Env variable
PREVIEWSHIP_API_KEY=ps_live_... previewship deploy ./dist

Deploy

Deploy a built static directory or a single HTML, Markdown, or PDF document to get a preview link:

For framework projects, run the build command first and deploy the generated static output folder such as dist, build, out, or public. Do not upload raw source-code zips with package.json, src/, and node_modules; PreviewShip hosts static artifacts and does not run npm install or build after upload.
Terminal
previewship deploy ./dist
Single HTML file
previewship deploy ./report.html -n ai-report
Markdown file
previewship deploy ./README.md -n docs-preview
With options
previewship deploy ./dist -n my-project --exclude "*.map"

JSON Output for Agents

Use --json flag for structured output, ideal for AI agents and CI pipelines:

JSON output
previewship deploy ./dist --json

Project management commands

Use these commands when you need to inspect projects, change access, restore an expired link, roll back the fixed URL, or delete an unused Free project slot.

Project lifecycle
previewship deployments list --json
previewship projects list --json
previewship projects access 42 --password "review-pass"
previewship projects access 42 --public
previewship projects versions 42
previewship projects rollback 42 105 --confirm my-project
previewship projects redeploy 42
previewship projects delete 42 --confirm my-project
Core commands: login, deploy, status, deployments list, projects list/get/access/versions/rollback/redeploy/delete, usage, whoami, help

MCP Server

The MCP server lets AI coding agents deploy previews and manage projects as native tool calls. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible client.

Configuration

For Claude Code, add to ~/.claude/settings.json:

~/.claude/settings.json
{
  "mcpServers": {
    "previewship": {
      "command": "npx",
      "args": ["-y", "previewship-mcp"],
      "env": {
        "PREVIEWSHIP_API_KEY": "ps_live_your_key_here"
      }
    }
  }
}

For Cursor, create .cursor/mcp.json in your project root:

.cursor/mcp.json
{
  "mcpServers": {
    "previewship": {
      "command": "npx",
      "args": ["-y", "previewship-mcp"],
      "env": {
        "PREVIEWSHIP_API_KEY": "ps_live_your_key_here"
      }
    }
  }
}

For Windsurf, add to ~/.codeium/windsurf/mcp_config.json:

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "previewship": {
      "command": "npx",
      "args": ["-y", "previewship-mcp"],
      "env": {
        "PREVIEWSHIP_API_KEY": "ps_live_your_key_here"
      }
    }
  }
}

Available Tools

  • deploy_preview — Deploy a build-output directory or a single HTML, Markdown, or PDF document and get a fixed preview URL
  • check_deployment — Check deployment status by ID
  • show_usage — Show remaining deployment quota
  • list_projects / get_project — Inspect fixed URLs, project status, access mode, and redeploy availability
  • get_project_access / set_project_access — Switch between PUBLIC and PASSWORD; PUBLIC clears the saved password
  • list_project_versions / rollback_project_version — Show retained versions and roll a fixed URL back to a historical deployment
  • redeploy_project_latest — Restore an expired fixed preview link from the latest retained artifact
  • delete_project — Delete a confirmed project and permanently remove its fixed URL, hosted project, deployment association, and Showcase entry
For state-changing MCP tools, ask the agent to list projects first and confirm the exact project name before rollback or deletion.
When an AI agent creates a framework project, ask it to build first and deploy the generated static output. If it creates one self-contained HTML, Markdown, or PDF document, deploy the .html, .md/.markdown, or .pdf file directly.

Codex Chat Sharing

PreviewShip also provides an optional Codex skill for sharing the current Codex conversation. It turns the visible chat transcript into a high-fidelity HTML page, deploys it with the PreviewShip CLI, and returns a public URL.

This is a companion workflow for Codex users. It is useful for sharing debugging context, implementation records, or review discussions, but it is not required for normal PreviewShip deployments.

Install the skill

Global install
npx skills add blockdancez/PreviewShip --skill share-codex-chat -a codex -g --yes
Project-local install
npx skills add blockdancez/PreviewShip --skill share-codex-chat -a codex --yes

Use in Codex

After installation, reference the skill in a Codex conversation:

Codex command
$share-codex-chat 分享当前 Codex 对话
The skill is designed to export visible chat content and filter hidden system/developer context, tool logs, API keys, and secrets. Review the generated page before sharing sensitive work.

Claude Code Chat Sharing

PreviewShip also provides an optional Claude Code skill for sharing Claude Code conversations. It reads local Claude Code JSONL history, renders the visible chat into a high-fidelity HTML page, deploys it with the PreviewShip CLI, and returns a public URL.

This is a companion workflow for Claude Code users. It is useful for sharing research trails, implementation records, and review discussions while preserving tool activity as readable timeline details.

Install the skill

Global install
npx skills add blockdancez/PreviewShip --skill share-claude-code-chat -a codex -g --yes
Project-local install
npx skills add blockdancez/PreviewShip --skill share-claude-code-chat -a codex --yes

Use in Codex

After installation, reference the skill from Codex and ask it to share a Claude Code conversation:

Codex command
$share-claude-code-chat 分享 Claude Code 对话
The skill is designed to hide Claude Code reasoning text, avoid raw tool outputs and attachments, redact secret-looking values, and show safe tool activity summaries. Review the generated page before sharing sensitive work.

Cursor Setup

Cursor is fully compatible with VS Code extensions. You can install PreviewShip the same way.

Install via Command Palette

  1. 1Open Cursor, press Ctrl+P (Cmd+P on Mac)
  2. 2Paste the command below and press Enter:
Command Palette (Ctrl+P)
ext install previewship.previewship

Install via VSIX

If you prefer offline installation, download the .vsix file and follow the "Manual VSIX Install" section below.


VS Code Setup

Open VS Code, press Ctrl+P (Cmd+P on Mac), paste the command below and press Enter:

Command Palette (Ctrl+P)
ext install previewship.previewship
The installation steps are the same as Cursor. Once installed, you'll see PreviewShip commands in the command palette (Ctrl+Shift+P).

Manual VSIX Install

If the marketplace is unavailable in your environment, you can install the extension manually via a .vsix file.

Installation Steps

  1. 1Download the .vsix file using the button above
  2. 2Open Cursor or VS Code, go to Extensions panel (Ctrl+Shift+X)
  3. 3Click "..." in the top-right of the Extensions panel → "Install from VSIX..." → select the downloaded file

Alternatively, install via command line:

Terminal
code --install-extension previewship-latest.vsix

API Key

An API Key is required for all deployment methods (CLI, MCP, editor extension). Here's how to create one:

  1. 1Log in to previewship.com and go to the API Keys page
  2. 2Click "Create API Key", give it a name, and copy the generated key
  3. 3Use the key in CLI (previewship login), MCP config (PREVIEWSHIP_API_KEY env var), or editor extension (Set API Key command)
Your API Key is shown only once. Store it securely. If lost, revoke the old key and create a new one.

Deploy from Editor

Once the extension is installed and your API Key is set:

  1. 1Open your frontend project folder in the editor
  2. 2Open the command palette (Ctrl+Shift+P) and run "PreviewShip: Deploy Workspace, HTML, Markdown, or PDF File" or "PreviewShip: Deploy Active HTML, Markdown, or PDF File"
  3. 3The extension packages the selected build output, HTML, Markdown, or PDF file, uploads it, and returns a preview URL when ready
Tip: By default, node_modules, .git, and other common directories are excluded. You can customize exclusions in the extension settings.
Deploy browser-ready static output, not raw source code. Build framework projects first; single HTML, Markdown, and PDF files are supported directly.

Console Deploy

You can also deploy directly from the web console without any tools. The console supports uploading a build-output zip, uploading a single HTML, Markdown, or PDF file, or pasting HTML source:

  1. 1Log in and go to the Deploy page
  2. 2Select or create a project, then upload a .zip containing static build output, upload a .html/.md/.markdown/.pdf file, or paste a complete HTML document
  3. 3PreviewShip deploys zip artifacts as static sites, packages single HTML input as index.html, adds a safe viewer for Markdown, and adds a redirect entry that opens PDF in the full-screen browser-native viewer
Zip uploads should contain the built static site with index.html and assets. Do not upload raw source-code zips; run npm run build first and zip the output folder.

Project Management

Projects are the stable container behind PreviewShip links. Each project owns a fixed URL, a latest deployment pointer, access mode, retained versions, and optional Showcase state.

  • Projects are created automatically when you deploy with a new project name, including claimed guest previews.
  • The fixed project URL does not change on each deploy; deployments and rollbacks update what that URL serves.
  • Public projects can be shared normally. Pro projects can use password access; switching back to public clears the password.
  • Version history is plan-based: Free keeps 3 rollback-capable versions, Pro Monthly keeps 10, and Pro Yearly keeps 40 when artifacts are retained.
  • Free includes 1 project. If the limit is full, delete an unused project or upgrade before deploying or claiming another preview.
  • Deleting a project removes the fixed preview URL, hosted project, deployment association, and Showcase entry permanently.
  • Only public, share-approved Showcase items can be indexed. Password projects, private or hidden items, and expired inaccessible content stay out of sitemap indexing.

Plans & Limits

PreviewShip plans combine deploy quota, project count, upload allowance, retention, version history, access control, and watermark removal:

FeatureFreePro MonthlyPro Yearly
Projects11020
Daily Deploys55080
Monthly Deploys20300500
Concurrent Builds133
Max Zip Size15 MB50 MB80 MB
Monthly Upload200 MB2 GB4 GB
Preview Expiry3 days30 days365 days
Version history / rollback3 versions10 versions40 versions
Access controlPublic onlyPublic or passwordPublic or password
PreviewShip WatermarkIncludedRemovedRemoved

FAQ

Which frameworks are supported?

PreviewShip works with any static frontend output — React, Vue, Svelte, Next.js export, vanilla HTML, Markdown documents, etc. Build first and deploy the output folder that contains index.html, or deploy a single .html/.md/.markdown/.pdf file directly.

How do I deploy from an AI coding agent?

Add the PreviewShip MCP server to your agent (Claude Code, Cursor, Windsurf), or use the CLI with --json flag. Your agent can deploy previews as part of the conversation.

What's the difference between CLI and MCP?

The CLI is a terminal command (npx previewship deploy). MCP is a protocol that lets AI agents call deploy as a native tool. Use CLI for scripts and manual deploys, MCP for seamless agent integration.

What happens when a preview expires?

Expired previews return a 404 page. The deployment record remains visible in your dashboard. You can redeploy to get a new link.

Is there a file size limit?

Yes. The Free plan allows up to 15 MB per upload. Pro plans support 50-80 MB depending on the billing cycle. Uploads can be build-output zips or single HTML, Markdown, or PDF files.

Is there a free tier?

Yes. The Free plan includes 5 deploys per day, 20 per month, 1 project, and 3 recent rollback versions. Free preview links include the PreviewShip watermark; Pro removes it, adds password access, and keeps more rollback history. No credit card required.

Can I deploy a single HTML, Markdown, or PDF file?

Yes. The web console accepts a single .html, .md, .markdown, or .pdf file or pasted HTML source; CLI/MCP accepts paths like ./report.html, ./README.md, and ./report.pdf; the VS Code/Cursor extension can deploy the active file. HTML and Markdown get web entry pages, while PDF opens in a full-screen browser-native reader.

Does each deployment create a new URL?

No. PreviewShip projects keep a fixed URL. A rollback queues a new deployment and switches the latest pointer only after it succeeds, so the review link stays stable across iterations.

Can I switch a password-protected project back to public?

Yes. Public access clears the stored project password. Public projects can be shared normally and may become eligible for Showcase and sitemap indexing when you choose to share them.

What should I do when the Free project limit is full?

Free includes one project. You can upgrade or delete an unused project before deploying or claiming another preview. Deletion removes the fixed preview URL, hosted project, deployment association, and Showcase entry permanently.