Source: https://www.hype-stack.dev/docs/getting-started

# What is Hype Stack

Hype Stack is two things that work together.

The first is the starter: a free, open-source full-stack codebase with a React 19 frontend, a Hono backend on Postgres,
a desktop build, an Expo mobile app, a browser extension, and the types, tests, and local infrastructure already wired
between them. You can clone it today and it runs.

The second is a catalog of features you install into that starter with one CLI command. Auth, organizations, billing,
notifications, a calendar, a whiteboard, an AI workspace: each arrives as source files in your repository, not as a
dependency in your `package.json`. Pick the ones you need, skip the rest, and edit any of it afterwards.

The starter ships without those features on purpose. It is a blank canvas that already knows how to be an app.

## The three pieces

| Piece         | What it is                                                                       | Cost                                                     |
| ------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------- |
| **Starter**   | The skeleton: monorepo, frontend, backend, Docker services, CI, end-to-end types | Free and open source                                     |
| **Packs**     | One feature each: an auth starter, a layout, or something like billing           | Five are free. The rest: paid once, yours for good       |
| **Templates** | A curated bundle of packs plus a theme, a landing page, and extra screens        | Paid once, yours for good                                |

Selling packs is what funds the open-source starter. The free core stays free.

### Packs

A pack is a feature delivered as files. There are eighteen today, in three categories.

**Starters** decide how identity works, and everything else builds on one of them. You install exactly one.

- `starter-auth-betterauth` is free: email and Google sign-in, sessions, a profile page, and a minimal admin console.
  Every account gets a personal workspace, which is what lets every feature pack install on it.
- `starter-saas-betterauth` and `starter-saas-workos` add organizations with members and invitations, roles and
  permissions enforced on the server and mirrored in the UI, per-organization feature flags, and an admin app with
  users, organizations, and a dashboard.

Starting free and moving to a SaaS starter later is one command. The schema is the same, so nothing migrates.

**Layouts** decide how the app is shelled: the sidebar, the navigation, the settings pages. `layout-basic` is free.
`layout-glass`, `layout-joyful`, and `layout-native-app-shell` are paid. All four are interchangeable, so you can swap
the whole look without touching feature code.

**Feature packs** are the drop-ins.

| Pack                                                                     | What it adds                                                                 |
| ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| `pack-billing-stripe`, `pack-billing-lemonsqueezy`, `pack-billing-polar` | Plans, checkout, customer portal, webhooks, admin revenue. Pick one provider |
| `pack-teams` (free)                                                      | Teams inside an organization, roles, email invites                           |
| `pack-projects` (free)                                                   | Projects, members, favorites, a navbar project switcher                      |
| `pack-notifications`                                                     | In-app inbox over websockets, optional email channel, admin campaigns        |
| `pack-calendar`                                                          | Five calendar views, drag to reschedule, working hours                       |
| `pack-whiteboard`                                                        | Realtime collaborative infinite canvas with presence and version history     |
| `pack-ai-chat`                                                           | Streaming chat, voice, image generation, RAG document library, usage caps    |
| `pack-newsletter`                                                        | Public signup, hosted archive, paced Resend sends, an admin email studio     |
| `pack-cookies` (free)                                                    | Cookie consent banner and preferences modal, themed to your tokens           |

Browse them all on the [packs page](/packs), where every pack has a live preview you can click through before buying.

### Templates

A template is an opinionated product on top of the starter: a starter, a layout, the feature packs that fit, a custom
theme, and screens built for one kind of product.

| Template                                  | What it is                                                                         |
| ----------------------------------------- | ---------------------------------------------------------------------------------- |
| [Better Studio](/templates/better-studio) | Multi-tenant SaaS with auth, billing, and a unified app shell                      |
| [Open Calendar](/templates/open-calendar) | Scheduling product built on the calendar pack: five views and drag-and-drop        |
| [Aether](/templates/aether)               | AI chat SaaS built on the AI chat pack: streaming, voice, images, document library |
| [Vault](/templates/vault)                 | Workflow automation with connected tools, tracking, and approvals                  |
| [Mind Map](/templates/mind-map)           | Collaborative whiteboard built on the whiteboard pack, synced live over websockets |
| [Indie Hacker](/templates/indie-hacker)   | Personal portfolio with a shelf of products, live revenue, and a newsletter        |

Every template page has a recording of the real app running, so you can judge it before you spend anything.

## How you build with it

```bash
# Start from a curated product
npx @hype-stack/cli template aether

# Or pick packs yourself, interactively
npx @hype-stack/cli compose

# Or take the bare starter with nothing added
npx @hype-stack/cli create my-app
```

**You rarely need `create` on its own**

Run `template` or `compose` in an empty directory and the CLI scaffolds the project first, then installs what you
picked. Reach for `create` when you want the empty canvas and nothing else.

`compose` does more than copy files. It resolves what a pack depends on, checks your license, writes the source into
your repo, runs codemods so the new code is wired into your existing routes and navigation, merges the Prisma schema,
offers to run the migration, and records the result in `stack.json`. Then [`onboard`](/docs/cli/onboard) walks you
through the environment variables the new packs need.

Add a pack in month six and the same thing happens. The CLI keeps working after day one.

Prefer to stay in your editor? The CLI is also an [MCP server](/docs/cli/mcp). Cursor, Claude Code, Codex, and VS Code
can search the catalog, scaffold, and install packs through it.

## What "you own the code" means

Packs are copied, not installed, the same way shadcn/ui works. That has consequences worth being clear about:

- **No runtime dependency on us.** Your app does not call our servers or import our packages. Delete the CLI and the app
  keeps running.
- **No version lock.** The files are yours. Rename things, delete half of a feature, restyle all of it. Nothing breaks
  upstream.
- **One payment, lifetime downloads.** A pack or template you buy is yours for good: install it on as many of your own
  projects as you like, and pull every update we ship to it. No renewal.
- **All-Access is the yearly plan.** It unlocks the whole catalog, including packs released during the year, for 12
  months of downloads. When the year ends you keep everything already in your repository. You renew only if you want
  the next year of new packs. See [pricing](/pricing) for the tiers and how team seats work.
- **The trade-off is upgrades.** Because you own the files, improvements we ship later do not arrive automatically. You
  re-run the CLI and merge what you want, like any vendored code.

You can also write packs of your own and install them from a folder, a git repo, or npm. See
[Build your own pack](/docs/packs-templates/build-your-own).

## Who it's for

People shipping a product where the product is the business: a SaaS with users, organizations, billing, and a real
backend. Solo founders who do not want to spend two weeks on plumbing, and small teams who want a codebase with
conventions from the first commit.

It is also built to be worked on with AI. The repo ships editor rules for Cursor, T3 Code, Claude, Codex, Copilot,
OpenCode, and Windsurf, as many at once as your team needs, plus a starter set of agent skills, and the structure is
regular enough that an agent can find its way around. See [working with AI](/docs/development/working-with-ai).

### When it is the wrong tool

- **A marketing site or a blog.** Use Astro or a static site generator. This is an application stack.
- **A small internal CRUD tool over an API you already have.** Something like Refine will get you there faster.
- **You want a platform that also hosts and deploys for you.** Hype Stack gives you a repository and Docker containers.
  [`deploy`](/docs/cli/deploy) puts them on Fly or Railway for you, but the account and the bill are yours.

## How the pieces connect

Once a starter is installed, the monorepo looks like this at runtime:

```mermaid
flowchart LR
  subgraph clients [Clients]
    frontend["apps/frontend<br/>(web + Electron)"]
    admin["apps/admin"]
    mobile["apps/mobile<br/>(Expo)"]
    extension["apps/extension"]
  end

  backend["apps/backend<br/>(Hono API + scheduler)"]

  subgraph services [Services]
    postgres[("PostgreSQL")]
    valkey[("Valkey")]
    bucket[("S3 / RustFS")]
  end

  frontend -- "HTTP + WS" --> backend
  admin -- "HTTP" --> backend
  mobile -- "HTTP + WS" --> backend
  extension -- "HTTP" --> backend

  backend --> postgres
  backend --> valkey
  backend --> bucket
```

The frontend and admin are separate Vite apps, the mobile app is Expo, and the extension is its own Vite build per
browser. The backend is a Node Hono server with an in-process cron scheduler for background jobs. Postgres, Valkey, and
object storage run in Docker locally, or on Fly / Railway when you deploy. The CLI (`@hype-stack/cli`) and the pack
registry live outside your project. They write files into it, then get out of the way.

## How to use these docs

If you are onboarding, read in this order:

1. [Installation](/docs/getting-started/installation) or [Fastest Template](/docs/getting-started/fastest-template)
2. [Technologies](/docs/getting-started/technologies) for the stack and runtime boundaries
3. [CLI](/docs/cli) for `create`, `compose`, `template`, `onboard`, `deploy`, and `mcp`
4. [Frontend](/docs/frontend), [Backend](/docs/backend), and [Mobile](/docs/mobile) when you change app code
5. [Packs and templates setup](/docs/packs-templates) for credentials and env vars per feature

After that, jump to the system you are changing: [Authentication](/docs/backend/authentication),
[Organizations](/docs/backend/organizations), [Billing](/docs/packs-templates/packs/pack-billing-stripe), or
[Going to production](/docs/getting-started/going-to-production).

## Where to go next

- [Fastest Template](/docs/getting-started/fastest-template): a running app in about a minute.
- [Technologies](/docs/getting-started/technologies): every library in the stack, the repo layout, and why each piece is
  there.
- [Add a template](/docs/cli/add-template) and [add a pack](/docs/cli/add-pack): the CLI in detail.
- [Packs and templates setup](/docs/packs-templates): the external accounts and environment variables each one needs.
