Source for the documentation site at docs.riahub.ai.
Built with Astro Starlight and hosted on GitHub Pages.
npm install
npm run devThe dev server runs at http://localhost:4321.
.
├── public/ # Static assets (incl. CNAME for custom domain)
│ └── ria/ # Docs-owned RIA Hub brand/status/example assets
├── src/
│ ├── components/
│ │ ├── docs/ # Public Astro component API for MDX authors
│ │ ├── islands/ # Svelte implementation details
│ │ └── media/ # Media helpers such as YouTube parsing
│ ├── content/
│ │ └── docs/ # Markdown / MDX pages
│ │ ├── index.mdx # Landing page
│ │ ├── guides/ # How-to guides
│ │ └── reference/ # Reference material
│ ├── data/ # Typed reusable docs data
│ └── styles/ # Starlight custom CSS and RIA docs tokens
├── astro.config.mjs # Site config + sidebar
└── .github/workflows/ # GitHub Pages deploy workflow
- Drop a
.mdor.mdxfile intosrc/content/docs/guides/orsrc/content/docs/reference/. - Give it a frontmatter block with at least
titleanddescription. - Use
.mdfor prose-only docs. Use.mdxwhen importing Astro components from@components/docs/*. - Do not import Svelte islands directly in MDX; the Astro wrappers decide when hydration is needed.
- The page will appear in the sidebar automatically (sections use
autogenerate).
Brand, status, and terminal assets live under public/ria/. The Starlight header uses the combination mark, the landing page uses BrandPanel, StatusLight uses the copied status icons, and TerminalCard uses the terminal icon. public/CNAME is deployment metadata for the custom domain.
Pushes to main trigger .github/workflows/deploy.yml, which builds the site and publishes it to GitHub Pages.
public/CNAME contains docs.riahub.ai. A CNAME DNS record at docs.riahub.ai points to qoherent.github.io. The Cloudflare proxy is off (DNS only) so GitHub can issue and serve the TLS certificate.