Changelog
What each ShipAgent release contains.
1.0.0 — first release
ShipAgent 1.0.0 is a Next.js 16 SaaS starter rebuilt so an AI agent can set it up, verify it and ship it.
What it is
- Next.js 16, React 19, TypeScript, Tailwind 4, shadcn/ui.
- Drizzle ORM + Postgres (Neon, Supabase or any Postgres), Better Auth with teams, Stripe, PayPal and Creem, a credit ledger, Resend, Cloudflare R2, Upstash, the AI SDK with OpenRouter, fal and Replicate, a CMS, an admin dashboard.
- Deploys to Cloudflare Workers (OpenNext, GitHub Actions, encrypted env file) or to Vercel.
- Eight languages: English, Chinese, Japanese, French, German, Korean, Spanish, Italian, with a key-by-key fallback to English.
- Two one-time licenses: one year of updates, or lifetime.
Skills (skills/, read by Claude Code, Cursor and Codex)
setup-database,setup-auth,setup-stripe,setup-email,setup-storage,setup-ai: each ends in a check script (scripts/check-*.ts) that exits non-zero until the integration really works.deploy-cloudflare,deploy-vercel: the deployed/api/healthanswering 200 is the proof.add-tool-page: one more paid feature, with credits, tracking and translations.reference/: how the code is organised, for changes the skills do not cover.
Fixes made while rebuilding
- Restricted Stripe keys (
rk_live_…) are treated as live, not test. - TLS is on for any hosted Postgres, not only for four known providers;
?sslmode=in the URL is honoured. - The anonymous sign-in endpoint is gone.
- Google and GitHub buttons appear only when their client id is configured.
- Turnstile verifies the magic-link and email-code routes, not only email + password routes the app does not use.
- fal reads
FAL_KEYeverywhere. - PostHog waits for cookie consent when the consent banner is on.