Is your feature request related to a problem? Please describe.
ReactPress aims to be WordPress-like for themes, but the platform stack is incomplete on HEAD:
themes/package.json calls reactpress theme add, but CLI has no theme command; server has no extension module
- Toolkit defines preview API, 60s ISR, and ports 3003–3008 — server/CLI are not wired
- Themes can be copied into the repo but cannot be installed, upgraded, previewed, or kept fresh after publish like a real theme platform
Describe the solution you'd like
One shared contract in toolkit; thin server/CLI wrappers. Phased delivery:
P0 — Core
- Server
extension module: install, activate, preview-draft API
- CLI:
theme add|list|update|remove + themes.lock.json + runtime at .reactpress/runtime/{id}/
- Move theme-registry into toolkit (server/CLI import shared code, no
require('../cli/lib/...'))
- On publish / update / delete / scheduled publish → on-demand Next.js revalidation; toolkit path helpers + HMAC
/api/revalidate in starter
P1 — Developer & discovery
reactpress theme dev <id> — symlink themes/{id} in dev, inject REACTPRESS_API_URL
- Multi-slot preview pool (3003–3008), hot-swap draft tokens
- Hosted
catalog.json, theme search, admin Discover tab
P2 — Production
- Zero-downtime activation: build → health check → atomic
active-theme.json; theme rollback
reactpress theme add <spec>
reactpress theme list
reactpress theme update [--check] [id]
reactpress theme remove <id>
reactpress theme dev <id>
reactpress theme rollback
Describe alternatives you've considered
- Manual runtime copy — no lock file, no admin, breaks on every edit
- Webhooks-only cache refresh — every site builds a sidecar; does not fix 60s ISR for editors
- Duplicate registry in server and CLI — drifts; breaks standalone API deploy
- Single preview port — works but slow; iframe blanks on every theme switch
- PM2 hard restart for prod switch — current behavior; risks 502 with no rollback
Is your feature request related to a problem? Please describe.
ReactPress aims to be WordPress-like for themes, but the platform stack is incomplete on HEAD:
themes/package.jsoncallsreactpress theme add, but CLI has nothemecommand; server has noextensionmoduleDescribe the solution you'd like
One shared contract in toolkit; thin server/CLI wrappers. Phased delivery:
P0 — Core
extensionmodule: install, activate, preview-draft APItheme add|list|update|remove+themes.lock.json+ runtime at.reactpress/runtime/{id}/require('../cli/lib/...'))/api/revalidatein starterP1 — Developer & discovery
reactpress theme dev <id>— symlinkthemes/{id}in dev, injectREACTPRESS_API_URLcatalog.json,theme search, admin Discover tabP2 — Production
active-theme.json;theme rollbackDescribe alternatives you've considered