Hype StackHypeStack

Search

Search the packs, templates, docs, and pages

Community packs

We don't ship it?
Build it yourself.

A pack is a folder with a manifest.json and your source files. Write one, install it into any Hype Stack project from a directory, a git repo, or npm. Same format we use for ours.

the whole pack
pack-analytics/
manifest.json
files/
frontend/
backend/
manifest.json
{
"name": "pack-analytics",
"category": "feature",
"dependencies": ["starter-saas-workos"],
"files": [ … ],
"nav": [ … ],
}
what a pack is

A folder, a manifest, and your code.

01

Declare where files go

Each entry has a source and a target written as a path template, like {{frontend.features}}, so your pack lands correctly in a project laid out differently from yours.

02

Declare how it wires in

A backend route, a sidebar entry, an env var, a settings tab. Twenty fields, each one patching a known file at install time.

03

Install it anywhere

One command takes a folder, a git ref, or an npm version. The pack goes through the same installer our own packs do.

{
  "$schema": "https://www.hype-stack.dev/schema/pack-manifest-v1.json",
  "name": "pack-analytics",
  "version": "1.0.0",
  "displayName": "Analytics",
  "description": "Page view tracking with a dashboard widget",
  "category": "feature",
  "dependencies": ["starter-saas-workos"],
  "files": [
    {
      "source": "files/frontend/src/features/analytics",
      "target": "{{frontend.features}}/analytics",
      "strategy": "create"
    }
  ],
  "nav": [
    { "group": "primary", "label": "Analytics", "icon": "BarChart3", "to": "/analytics" }
  ]
}

Your feature.
Our installer.

Dependency resolution, overwrite prompts, npm installs, database migrations. A pack you wrote gets all of it.

the loop, start to finish
01Scaffold it
community init pack-analytics

A manifest, a files/ tree, and a README that already validates.

02Check it
community validate

Catches the silent one: a file sitting in files/ that no manifest entry declares never gets copied.

03Install it
community add ./pack-analytics

Into a real project, through the same installer our packs use.

Three addresses, one command

Ship it however you already ship things.

There is no registry to submit to and no review to wait on. Push the folder somewhere and people install it directly.

  • A folder

    while you write it

    ./pack-analytics

  • A git repo

    pinned to a tag

    github:you/pack#v1.0.0

  • npm

    versioned like anything else

    npm:@you/pack-analytics

the cli records where each one came from, in stack.json

Twenty wiring points

Copying files is rarely enough.

Declare a route, a nav entry, an env var, a scheduled job, an admin widget. The CLI patches the right file at install time, and re-running never duplicates an entry.

routessocketscontextenvenumspermissionsjobssdkConfigurationsfrontendRoutesnavnavbarActionsuserMenuActionsproviderssettingsTabsonboardingStepsdashboardRowsorgDetailsRowsorgDetailsCardspostLoginRedirectshouldInvertLogo
Nothing of yours executes

A pack is data, not a plugin.

There is no hook file, no install script, no lifecycle callback. Everything a pack asks for is declared in JSON and carried out by the CLI, so installing one from a stranger runs none of their code.

what the pack ships

  • manifest.json
  • source files

what runs it

  • the Hype Stack CLI
  • on your machine

the guarantee, not a setting

  • 2

    Things a pack has to contain

    A manifest.json and a files/ directory. There is no build step and nothing to compile.

    manifest.json
    files/
  • 20

    Places a manifest can wire into the app

    Routes, sockets, nav, env, jobs, permissions, settings tabs, admin widgets. All declarative.

    10 frontend5 backend3 admin2 shared
  • 0

    Lines of your code that run on their machine

    A pack is data. The CLI is what acts on it, so installing a stranger's pack executes nothing they wrote.

    install scripts
    lifecycle hooks
    declarative json
Models included

Your pack can own database tables too.

Drop a .prisma file into the schema directory and the CLI offers to generate the migration in that project, against its own history. It refuses first if a model name is already taken, naming both packs, before anything is written.

Feature packs to grow with

Every pack ships real source code: frontend, backend, and admin surfaces where the feature needs them. Add them when you need them, one command each.

Two ways to install features

Same features underneath, different starting point. Either command resolves what the packs depend on, copies the source into your repository, and merges the database schema.

Ready-made

Take a template

A landing page, a design system, a themed layout, and the features already wired into it. Rebrand it, put your product in the middle, ship.

Browse templates
From scratch

$ hype-stack compose

AuthBillingTeamsAI

Compose your own design

Your design and your choices, without rebuilding auth, billing, or notifications. Tick the packs you want and the CLI wires them into the open-source starter.

Browse packs

Questions, answered

Yes. Everything lands as plain source in your repository: frontend, backend, admin, database schema. There is no runtime dependency on us and nothing phones home.

Start with one command.

Scaffold a pack that already validates, fill in your code, and install it into a project you have open.

a folder / a manifest / your code