TinyShip
TinyShip
 TinyShip
TinyShip
TinyShip Documentation
TinyShip User GuideGetting StartedRecipesBasic Configuration
Credits System ConfigurationAffiliate System Configuration
Storage Service ConfigurationDatabase ConfigurationCaptcha Configuration
Development Best PracticesLocal E2E Workflow
User Guide

Recipes

Shape the TinyShip starter into a concrete SaaS product with tinyship-recipe

Use tinyship-recipe to shape the starter into a concrete product (image or video SaaS, directory, digital product store, waitlist, and more). It is a playbook, not another hard-coded sub-template in the repo.

Philosophy

Every extra "sub-template" means three frameworks to maintain, and they drift when the main starter updates. So:

  • Skills lock contracts: schema, migration names, credit rules, nav hide/keep, acceptance checks
  • Agents do the rest: home copy, page details, and brand-facing text for your product
  • Reuse existing modules: auth, payments, credits, AI pages — no duplicate stacks

Framework (Next / Nuxt / TanStack) and database (PG / SQLite / D1) stay your choice (or tinyship-setup); the recipe does not pick them for you.

Install and trigger

Same as other Agent Skills:

npx skills add TinyshipCN/tinyship-skills

Example prompts:

  • "use a recipe for a directory site"
  • "make an AI image app"
  • "build a waitlist"
  • "build an AI video generator"
  • "build a digital product store"
  • "SaaS template with TinyShip"

That runs the tinyship-recipe wizard: detect project → pick recipe → setup if needed → ask scope/brand/copy → apply → verify.

Available recipes

IDProductNotes
ai-imageAI image SaaSReuses /image-generate + credits + plans
ai-videoAI video SaaSReuses /video-generate + credits + plans; a failed video returns its credits
ai-chatAI chat / GPT wrapperReuses /ai + credits + plans
membership-contentPaid membership contentBlog, pricing, premium page
waitlistPre-launch signupAuth-first; hide pay and demos
directoryDirectory / navigation siteNew schema + submit/review; credit listings and ad slots
digital-productDigital product storeMulti-product catalog; real-money one_time unlock + download; no license in v1

Complex recipes (like directory and digital-product) add tables and pages plus acceptance scripts; simple ones mostly reshape nav and copy toward existing capabilities.

Recipe intros

ai-image

AI image SaaS. Users sign in, spend credits on /image-generate, and buy more via plans. Other demos are hidden; Generate is promoted in the nav. After apply, configure an image provider key with tinyship-ai.

ai-video

AI video SaaS on /video-generate + credits + plans. Needs a starter recent enough to store video jobs in the ai_video_task table (libs/ai/video-task-service.ts must exist) so a failed generation returns its credits. If your project is older, the recipe stops and asks you to update the starter first.

After applying it, run tinyship-ai to add a video provider key (FAL_API_KEY, QWEN_API_KEY, or VOLCENGINE_ACCESS_KEY_ID). See AI video generation for models and per-model credit costs.

The recipe deliberately ships a minimal product: one generate page, credits, and plans. Your agent will suggest optional extensions at the end (a "My videos" list, a task detail page, an admin video list, clearer failure copy); it only builds them if you ask.

ai-chat

AI chat / GPT wrapper. Reuses /ai with credits and plans. Promotes Chat in the nav and hides image/video demos. After apply, configure a chat provider key with tinyship-ai.

membership-content

Paid membership around posts. Public blog teasers, pricing plans, and a gated premium page (e.g. /premium-features). Primary CTA goes to /pricing; Blog and Pricing stay in the nav. Configure a payment provider with tinyship-payment.

waitlist

Pre-launch signup. Auth is the product: hide pricing and demos, collect accounts via Better Auth signup (no extra waitlist schema). Switch to another recipe when you open the product.

directory

Directory / navigation site (complex). Home becomes the listing; signed-in users submit, admins approve; credits pay for listings and featured slots, plus hand-entered ads. Ships new tables, a migration, acceptance scripts, and an admin Directory entry.

digital-product

Digital product store (complex). Multi-product catalog; real-money one_time checkout on the product page; delivery is a purchase entitlement plus file download — no license key in v1. Hides Pricing, Demos, and Blog from the nav. New tables plus payment fulfillment hooks (providers untouched). Acceptance uses fake orders only — never live Stripe / Creem / etc.

Usage and acceptance

After apply, check the running app (default Chinese locale and /en):

  1. Home reflects your product, not the TinyShip three-framework pitch
  2. Primary CTA lands on the recipe target (image generate, submit, signup, product page, etc.)
  3. Hidden demo links are gone from header and footer (including mobile); route files stay
  4. Sign-in / sign-up titles use the product name
  5. Complex recipes: required pages return 200; migrations and seeds match the playbook

Logo text may still say TinyShip until tinyship-brand; report it, do not treat it as a recipe failure.

How skills divide work

NeedSkill
Env, database, framework cleanuptinyship-setup
App name, logo, themetinyship-brand
OAuth / SMStinyship-auth
Payment providerstinyship-payment
AI provider keystinyship-ai
Shape a product typetinyship-recipe
Brand-new tables/pagestinyship-feature
Deploytinyship-deploy / tinyship-cloudflare

Product direction: roadmap. Release notes: Updates 2.7.0.

Getting Started

Set up and run TinyShip project in your local environment

Basic Configuration

Application name, Logo, theme system and internationalization configuration

On this page

PhilosophyInstall and triggerAvailable recipesRecipe introsai-imageai-videoai-chatmembership-contentwaitlistdirectorydigital-productUsage and acceptanceHow skills divide work