Ship docs: quick start, deploy and updates

Get from a Ship template to a live product: access the repo, set up locally, deploy the website and release the desktop app, and pull template updates.

Get repository access

  1. Subscribe on the pricing page and add your GitHub username in Account → Templates.
  2. When access is open you receive a GitHub invitation (read access) — accept it within 7 days. If it expires we re-send it automatically.
  3. Create your own private repo from the template: clone it, then push to a new repo you own (keep the template as an "upstream" remote).
git clone git@github.com:okayok-ai/ship-tanstack.git my-site
cd my-site
git remote rename origin upstream
git remote add origin git@github.com:<you>/my-site.git
git push -u origin main

Quick start: Ship TanStack

  1. Install dependencies with pnpm.
  2. Copy .env.example to .env.development and fill in database, auth and Stripe values.
  3. Push the schema and start the dev server.
  4. Edit src/lib/seo/site.ts, messages/*.json and the logo to rebrand; regenerate OG images with the script.
pnpm install
cp .env.example .env.development
pnpm db:push
pnpm dev

Quick start: Ship Electron

  1. Set product name, protocol and domain in app.config.json and run the rename script.
  2. Install root and renderer dependencies, then start in development.
  3. Point sign-in at your website backend and register the app-protocol callback with your OAuth provider.
npm install
(cd renderer && npm install)
npm run dev

Deploy and release

  1. Website: create a Vercel project, add production env vars, and set VERCEL_TOKEN / VERCEL_ORG_ID / VERCEL_PROJECT_ID as repo secrets. Production deploys only run on v* tags.
  2. Desktop: add signing and notarization secrets, then push a desktop-v* tag; CI builds, signs, notarizes and publishes the release and update manifest.
  3. Never force-push shared branches; release by committing, pushing main, then pushing an annotated tag.
git tag -a v0.1.0 -m "v0.1.0"
git push origin v0.1.0

Pull template updates

  1. While subscribed, fetch from the template remote and merge the changes you want.
  2. Every template release is listed in the changelog.
git fetch upstream
git merge upstream/main

Pricing for Ship templates · View the changelog