Skip to content

Website and shared package

apps/website builds two Astro/Starlight static outputs: dist/product for www.monstaff.io and dist/docs for docs.monstaff.io (MONSTAFF_SITE=docs). Nginx selects the output by host in the same website image/service. The GKE ingress and Cloudflare DNS include the docs host. The apex monstaff.io remains the authenticated application.1

The product home and downloads use a separate responsive layout and an illustrative Svelte tour. Public claims project the canonical product positioning. Downloads read the live desktop manifest at runtime; no release version is embedded in the page. Old product-host documentation paths redirect to their corresponding docs URLs.1

Documentation entries remain symbolic-link projections of knowledge/wiki/; therefore the website is a renderer, not an independent documentation source. Edit the target wiki page and never the projection. The existing Starlight navigation and search remain on the docs host.

The Starlight schema is extended to accept OKF metadata such as type, status, tags, generated, verified and sources.

@monstaff/shared provides TypeScript types, Zod schemas and constants used across backend, admin and website boundaries; the desktop Core protocol lives in crates/monstaff-core-protocol. It should contain transport contracts that are genuinely shared, not backend domain implementation.

Consumers resolve the package through its built output. Clean CI must build shared before dependent typechecks/builds. Local ignored dist artifacts can become stale and must not be treated as canonical.

  • Change schema and inferred type together.
  • Add compatibility handling for persisted or networked formats.
  • Test the Core protocol against Core dispatch and client library implementations.
  • Do not weaken boundary types to any to bypass drift.

The product home and downloads are available in English at / and /download/, and Italian at /it/ and /it/download/. The language switch retains the current page, including the download flow. Both versions share the latest-release manifest and emit localized metadata with reciprocal language alternatives. Documentation retains its existing canonical content on the docs host.2

  1. Product website capability discovery and domain split. ↩ ↩2

  2. English and Italian product website. ↩