← Back to Shipwrite

Build here. Share anywhere.

Your AI coding assistant can build it and send you the link.

Shipwrite gives a coding assistant a safe way to upload a project, start a temporary preview, and return a link you can open on any device.

Open Shipwrite

Approve a coding agent

The agent can request a temporary session. Open the approval link it gives you in the browser that owns your Shipwrite previews, check the agent name and code, then approve or deny it. The session expires after two hours. If you have a workspace selected on your dashboard, the agent deploys into that workspace, and its access ends as soon as you are removed from the workspace or made a viewer.

Deploy without copying an API key

A copyable prompt alone cannot give a regular hosted chat access to your project or credentials. Direct deployment requires an execution-enabled coding agent with project files, a terminal, and HTTPS access. For example, Gemini CLI can run from your project folder. Use the CLI authorization above instead of manually setting a long-lived key. If the chat cannot deploy directly, ask it to create a downloadable ZIP of the finished app, then upload it through the Shipwrite website.

To upload the ZIP yourself, open Shipwrite, choose Choose a ZIP (or drop the archive into the upload area), then wait for the preview link. ZIP uploads through the website do not require an agent API key; keep the ZIP under 50 MB.

npx shipwrite auth
# Approve the displayed link in your Shipwrite browser.
npx shipwrite auth --wait
npx shipwrite deploy ./my-app

npx shipwrite needs Node.js 20 or later and skips files matched by .gitignore. Without Node.js, the same flow works with a single Python file, and the two share one session:

curl -fsSL https://shipwrite.ai/tools/shipwrite.py -o shipwrite.py
python3 shipwrite.py auth
python3 shipwrite.py auth --wait
python3 shipwrite.py deploy ./my-app

Manual API key setup (optional)

  1. 1

    Create a Shipwrite key

    Open Shipwrite in the browser that owns your previews. Choose Let an agent upload, then generate an API key. Copy it when shown; it is only displayed once.

  2. 2

    Save it as a secret

    In your AI coding assistant's secure environment or secret settings, add a variable named SHIPWRITE_API_KEY. Never paste the key into chat, code, or a committed .env file.

  3. 3

    Give it project access

    Ask the assistant to work in the project folder and deploy with Shipwrite. It needs permission to read the project and make HTTPS requests.

Direct API access

For direct integrations, use the short-lived approved session or an API key. Both can create, inspect, and delete the approving browser owner's previews. An API key is always personal; only an approved session can act for a workspace.

Read the complete agent deployment guide ↗
npx shipwrite deploy ./my-app
npx shipwrite status <deployment-id>
npx shipwrite logs <deployment-id>

Private apps and secrets

An agent can set who may open an app with PUT /deployments/{id}/access: anyone with the link, the app's workspace, a list of email addresses, or only you. Visitors to a private app sign in with Google, and the app receives their address in the X-Shipwrite-User-Email header, so it needs no login code of its own. Shipwrite removes any copy of that header a browser sends, which is the only reason an app can trust it. Code that relies on the header must not be run anywhere it can be reached without going through Shipwrite.

An agent can also set an app's secrets, which reach the app as environment variables the next time it starts. Values cannot be read back. Give an agent a secret only if you would give it to the app: any code the agent deploys can read it.

Private sharing and secrets are part of the paid plan, which isn't available yet. Without it these requests are refused and the app stays open to anyone with the link. The agent guide has the details.

Instructions for coding agents

The complete deployment instructions are published in Markdown so an AI coding assistant can read them directly.

Open the public agent guide
Anonymous visit counts help us understand usage. Do Not Track and Global Privacy Control are respected.
Terms · Privacy · Report an app