Public Shell Layer
The canonical public surface for Prox OS is now apps/os-shell.
Purpose
The canonical public surface for Prox OS is now apps/os-shell.
The root route (/) is the crawler-readable and human-readable homepage.
Launchpad (/launchpad) is the public product handoff. Interactive OS runtimes
remain owner-scoped, currently at @esmadrider/runtime/os.
apps/website is retained only as an archived reference layer. It is not a
production deployable and should not carry a second visual homepage.
Layer Split
| Layer | Owner | Purpose | Current route direction |
|---|---|---|---|
| Public Shell Surface | apps/os-shell | Homepage, product positioning, SEO metadata, AI crawler files, and public route handoffs. | prox-os.com/ and /launchpad |
| OS Shell Runtime | apps/os-shell | Interactive desktop-like runtime, app registry, windows, Studio surfaces, connectors, and AI control plane. | Owner-scoped runtime routes such as /@esmadrider/runtime/os |
| Archived Website Reference | apps/website | Former standalone landing page implementation kept for copy and structure reference only. | No production deploy script |
| Docs | apps/docs | Public documentation generated from root docs/**. | docs.prox-os.com/docs and /docs handoff |
| API Worker | apps/api-worker | Hono and Cloudflare Workers API boundary. | api.prox-os.com |
Why The Website App Is Paused
The standalone website split created two competing homepage sources:
| Source | Problem |
|---|---|
pnpm dev:os | Shows the homepage that product work naturally edits and screenshots. |
pnpm dev:website | Shows a second landing page that is not the canonical runtime entry. |
pnpm deploy:os | Updates the OS Shell bundle, but previously did not clearly own the public homepage. |
pnpm deploy:website | Suggested an independent production homepage, which caused deployment confusion. |
The chosen direction is to keep one canonical homepage: the one inside
apps/os-shell.
Route Direction
| Public route | Intended role | Current behavior |
|---|---|---|
/ | Public product landing page. | Served by apps/os-shell. |
/launchpad | Personal command center handoff. | Served by apps/os-shell. |
/@esmadrider/runtime/os | Current owner-scoped OS runtime entry. | Supported in apps/os-shell. |
/docs | Public docs entry. | Handoff to https://docs.prox-os.com/docs. |
/pricing | Pricing and early-access entry. | Served by apps/os-shell. |
/community | Community and open spaces entry. | Served by apps/os-shell. |
SEO And AI Reader Assets
The public files live in apps/os-shell/public:
| File | Purpose |
|---|---|
robots.txt | Search and AI crawler policy. |
sitemap.xml | Public route map. |
llms.txt | Short AI-reader summary. |
llms-full.txt | Longer public product and architecture summary. |
og-image.svg | Open Graph preview image. |
_redirects | Cloudflare Pages route handoffs and SPA fallback. |
apps/os-shell/index.html provides the static metadata, Open Graph tags,
structured data, and no-JavaScript fallback before React boots.
Deployment
Root scripts:
pnpm dev:os
pnpm build:os
pnpm deploy:ospnpm deploy:os builds apps/os-shell and uploads dist to the Cloudflare
Pages project prox-os. It is the single command that updates the public
homepage, Launchpad, and owner-scoped OS Runtime routes.
pnpm deploy:website is intentionally removed from the root scripts. The
@prox-os/website package no longer exposes a deploy target.
Boundaries
- Public homepage code belongs under
apps/os-shell/src/surfaces/landing/**. - Static crawler and AI-reader assets belong under
apps/os-shell/public/**. apps/websiteshould not receive new product homepage features.- If copy from
apps/websiteis useful, migrate it intoapps/os-shelland update this document. - Public copy should describe planned capabilities as direction or roadmap when they are not yet implemented.
- Public website content must not contain secrets, private strategy, internal prompts, unpublished customer data, or protected routes.
Future Options
| Option | Trigger |
|---|---|
Static generation or pre-rendering in apps/os-shell | Public pages expand beyond the homepage and crawler needs grow. |
| Separate docs/blog publishing layer | Changelog, case studies, blog content, or MDX publishing require a richer public content system. |
| Dynamic Open Graph images | Public sharing becomes a growth channel. |
| Worker route mediation | The product later needs multiple deployables behind prox-os.com with explicit routing rules. |