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
- Subscribe on the pricing page and add your GitHub username in Account → Templates.
- When access is open you receive a GitHub invitation (read access) — accept it within 7 days. If it expires we re-send it automatically.
- 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 mainQuick start: Ship TanStack
- Install dependencies with pnpm.
- Copy .env.example to .env.development and fill in database, auth and Stripe values.
- Push the schema and start the dev server.
- 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 devQuick start: Ship Electron
- Set product name, protocol and domain in app.config.json and run the rename script.
- Install root and renderer dependencies, then start in development.
- 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 devDeploy and release
- 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.
- Desktop: add signing and notarization secrets, then push a desktop-v* tag; CI builds, signs, notarizes and publishes the release and update manifest.
- 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.0Pull template updates
- While subscribed, fetch from the template remote and merge the changes you want.
- Every template release is listed in the changelog.
git fetch upstream
git merge upstream/main