# zap.ts > The TypeScript SaaS starter kit. Auth, billing, database, mail, storage and queues, wired and ready. ## Docs - [Introduction](https://zap-ts.zapstudio.dev/): zap.ts is a paid starter kit for building a SaaS product in TypeScript. Sign-in, payments, database, email and file uploads are already built. - [Project structure](https://zap-ts.zapstudio.dev/project-structure): What each folder in zap.ts holds, and the rule that decides where your own code should go. - [Quickstart](https://zap-ts.zapstudio.dev/quickstart): Get zap.ts running on your computer in five commands. You do not need any paid account to start. - [Tech stack](https://zap-ts.zapstudio.dev/tech-stack): Every main tool zap.ts is built with, what it does, and why it was chosen over the alternatives. - [Troubleshooting](https://zap-ts.zapstudio.dev/troubleshooting): The problems people hit most often with zap.ts, and what to do about each one. ## Concepts - [Conventions](https://zap-ts.zapstudio.dev/concepts/conventions): The rules the zap.ts codebase follows, the commands that check them, and the reason behind each one. - [Effect](https://zap-ts.zapstudio.dev/concepts/effect): zap.ts uses Effect in the code that talks to the outside world. This page explains what you are looking at, so you can read it without learning it first. ## Guides - [Adding a Package](https://zap-ts.zapstudio.dev/guides/adding-a-package): When a new shared package is worth creating, and the four small steps to make one that every app can import. - [AI Agents](https://zap-ts.zapstudio.dev/guides/agents): How AGENTS.md tells an AI coding agent the rules of a zap.ts codebase, and how to extend it for your own product. - [Dependencies](https://zap-ts.zapstudio.dev/guides/dependencies): How to add a library to zap.ts. There is one rule, and it keeps every app on the same version. - [Deployment](https://zap-ts.zapstudio.dev/guides/deployment): Ship each zap.ts app to Cloudflare or to Vercel. You can also mix the two, and put each app where it fits best. - [Environment](https://zap-ts.zapstudio.dev/guides/environment): How settings and secret keys work in zap.ts: one schema per app, your values in .env.local, and one check that tells you what is missing. - [Going to Production](https://zap-ts.zapstudio.dev/guides/going-to-production): The checklist to work through before real users arrive. Demo data, test keys, placeholder ids and the zap.ts branding all need replacing. - [Internationalization](https://zap-ts.zapstudio.dev/guides/internationalization): How zap.ts shows text in more than one language, where the words live, and how to add a locale. - [Local Development](https://zap-ts.zapstudio.dev/guides/local-development): Your day-to-day work in zap.ts: the Docker services, running several apps at once, the demo data and resetting the database. - [Skills](https://zap-ts.zapstudio.dev/guides/skills): The task recipes that ship with zap.ts - what each one covers, when it fires, and how to write your own. - [Testing](https://zap-ts.zapstudio.dev/guides/testing): How tests are organised in zap.ts, how to give a test a real database, and why you cannot mock modules here. ## Apps - [Admin](https://zap-ts.zapstudio.dev/apps/admin): The back office, where you look at your users, ban one, or sign in as one to see what they see. - [API](https://zap-ts.zapstudio.dev/apps/api): Build your own public API here, described with OpenAPI. Your app's own private server logic does not need to live here. - [Docs](https://zap-ts.zapstudio.dev/apps/docs): The documentation site that ships with the starter kit, for you to write your own product docs in. - [Emails](https://zap-ts.zapstudio.dev/apps/emails): A local preview app that shows every email template in your browser while you design it. - [Marketing](https://zap-ts.zapstudio.dev/apps/marketing): The public site — the landing page, the blog and the legal pages, in English and French. - [Web](https://zap-ts.zapstudio.dev/apps/web): The app your users sign in to, with the dashboard, the account, the organization and billing. ## Packages - [AI](https://zap-ts.zapstudio.dev/packages/ai): One way to call a model, for text, objects, embeddings, images, video, speech and transcription. - [Analytics](https://zap-ts.zapstudio.dev/packages/analytics): Events from the browser and from the server, sent to PostHog and tied to the signed-in user. - [Authentication](https://zap-ts.zapstudio.dev/packages/authentication): Sign-in, sessions, organizations and onboarding, built on Better Auth and set up once for the whole workspace. - [Authorization](https://zap-ts.zapstudio.dev/packages/authorization): One policy that says what an owner, an admin and a member of an organization may do, and one way to ask it. - [Billing](https://zap-ts.zapstudio.dev/packages/billing): Take payments and manage subscriptions. Seven payment companies are supported, and you can switch between them by changing two lines. - [Database](https://zap-ts.zapstudio.dev/packages/database): One Postgres schema, two database clients, and the scripts that generate, migrate, seed and show your data. - [Environment](https://zap-ts.zapstudio.dev/packages/environment): One typed env object for every package, built by varlock from the .env.schema files. - [Flags](https://zap-ts.zapstudio.dev/packages/flags): Feature flags in the browser and on the server, decided by PostHog through the Flags SDK. - [Mail](https://zap-ts.zapstudio.dev/packages/mail): Send emails with one call. Six providers, React templates, and a local inbox you can read in your browser. - [Observability](https://zap-ts.zapstudio.dev/packages/observability): Sentry set up for every part of the app - the browser, the TanStack Start server, and the Hono API. - [Queues](https://zap-ts.zapstudio.dev/packages/queues): Run slow work after the response. One package describes the job, and one small package per platform sends and runs it. - [Storage](https://zap-ts.zapstudio.dev/packages/storage): Upload, download, delete and link files in a bucket, with six small calls and a local bucket that runs on your machine. - [TanStack Start](https://zap-ts.zapstudio.dev/packages/tanstack-start): The router, the HTML page, the entry files and the sign-in form that the TanStack Start apps of the repository share. - [UI](https://zap-ts.zapstudio.dev/packages/ui): The components, the design tokens and the theme that every app of the repository shares. ## Recipes - [Add a feature](https://zap-ts.zapstudio.dev/recipes/add-a-feature): Build one feature from end to end — a database table, a server function and a page — so you can see how the parts of zap.ts fit together. - [Add an OAuth provider](https://zap-ts.zapstudio.dev/recipes/custom-oauth-provider): Let people sign in with GitHub, or any other provider, next to the Google sign-in that already ships. - [Self-host](https://zap-ts.zapstudio.dev/recipes/self-host): Run zap.ts on your own server instead of Cloudflare, and what you take on when you do. - [Swap a provider](https://zap-ts.zapstudio.dev/recipes/swap-a-provider): Change the company that handles your payments, your email or your file storage, without rewriting your app. ## Agent resources - [llms-full.txt](https://zap-ts.zapstudio.dev/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://zap-ts.zapstudio.dev/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://zap-ts.zapstudio.dev/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://zap-ts.zapstudio.dev/openapi.json. - [API catalog](https://zap-ts.zapstudio.dev/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [AI catalog](https://zap-ts.zapstudio.dev/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs). - [agent-readability.json](https://zap-ts.zapstudio.dev/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://zap-ts.zapstudio.dev/sitemap.xml): Every indexable page URL with its last-modified date.