# PRSS premium themes

Paid PRSS themes. **This repo is private**; only the compiled output is
published, as `@prss/premium-themes`.

The published layout matches the free themes, so the API points a theme at
`.../@prss/premium-themes@<version>/build/<theme>` and PRSS resolves
`manifest.json`, `index.html`, `theme.css`, `client.js` and the template
bundles beneath it.

## Why the split

Themes have to be fetched from a CDN without authentication, so the compiled
bundle is necessarily public — that is true today and does not change here.
What stays private is the **source**, which is why these themes live apart from
`prss-io/themes` rather than in it.

Premium themes are deliberately not forkable: PRSS's theme creator builds its
base-theme list from public repos and filters out anything premium.

## Shared components

`packages/_shared` mirrors the layer in `prss-io/themes`. It is a copy on
purpose: this repo stays self-contained, and `@prss/themes` publishes build
output only. Port changes across by hand when the public layer moves.

Each theme aliases `@/components/ui`, `@/hooks` and `@/lib` into it and compiles
that source with its own Tailwind config, so shared components pick up the
theme's design tokens.

```bash
npm install
npm run build      # build every theme and assemble build/
npm run verify     # check the published layout is complete
```
