Source: https://www.hype-stack.dev/docs/development/upgrading

# Upgrading

Packs are copied into your repository, the same way shadcn/ui works. You own the files. That means upgrades are merges,
not invisible package bumps.

## What `stack.json` tracks

`stack.json` at the project root records:

- App paths (`backend`, `frontend`, `admin`, `mobile`, `extension`, `enums`)
- Installed pack ids, plus an install record per pack, template, and the base template with the commit and version it
  came from. That is how a later run can tell which pack actually moved
- Where a community pack came from, so `community list` can answer "whose code is this"
- The shell actions packs contributed, replayed after every install
- Deploy targets and services (after you run [`deploy`](/docs/cli/deploy))

The CLI uses it to know what is already installed and what infrastructure already exists. Commit it. It is
configuration, not a secret store.

## Pack and template updates

A pack or template you bought never stops downloading. An All-Access license covers the whole catalog for 12 months.
While a license covers a pack you can re-run:

```bash
npx @hype-stack/cli compose
# or
npx @hype-stack/cli template <name>
```

Because the files are already yours, a re-install can overwrite local edits. Treat updates like vendored code:

1. Commit your project first
2. Re-run the CLI for the packs you want refreshed
3. Diff and merge carefully
4. Run migrations if schema changed
5. Typecheck and test before deploying

When an All-Access year ends you keep everything already in the repo, and the packs you bought outright keep
downloading. You renew only if you want the next year of the full catalog. See [pricing](/pricing).

## Dependency bumps

Root and app `package.json` files are yours. Bump React, Hono, Prisma, and the rest the way you would in any monorepo:

```bash
pnpm update
pnpm typecheck
pnpm test
```

Watch Prisma major upgrades: regenerate the client and re-run migrations. Watch HyperFetch / Hono type changes: the
frontend SDK is derived from the backend app type.

## Agent rules and skills

If you scaffolded with editor rules, newer CLI versions may ship improved rules. Re-running create/compose with the same
`--editor` flags can refresh them; diff before keeping changes so you do not lose custom rules you added.

Skills update on their own schedule. `create` fetched them from skills.sh and pinned each by content hash in
`skills-lock.json`, so `npx skills update` pulls the current text and shows you the diff.

## What does not auto-update

- Copied pack source
- Codemod results already applied to your routes and nav
- Your theme tokens and landing pages

That is intentional. The trade-off for owning the code is that improvements arrive when you pull them.

## Related

- [What is Hype Stack](/docs/getting-started) for the ownership model
- [Compose](/docs/cli/add-pack) and [Template](/docs/cli/add-template)
- [Migrations](/docs/backend/migrations)
