# Developer Portal (Astro/Starlight) ## Module DevPortal ## Status IMPLEMENTED ## Description Static developer portal built with Astro/Starlight framework providing interactive schema viewer, try-it API console, SDK quickstart guides, and offline bundle for air-gapped environments. ## Implementation Details - **Astro/Starlight Site**: `src/DevPortal/StellaOps.DevPortal.Site/` -- Astro-based static site with Starlight documentation theme. Configuration in `astro.config.mjs`, dependencies in `package.json`. - **Content Configuration**: `src/DevPortal/StellaOps.DevPortal.Site/src/content/config.ts` -- defines content collections for docs with schema validation. - **API Reference Page**: `src/DevPortal/StellaOps.DevPortal.Site/src/content/docs/api-reference.mdx` -- interactive API reference page with OpenAPI spec rendering. - **Getting Started Guide**: `src/DevPortal/StellaOps.DevPortal.Site/src/content/docs/guides/getting-started.mdx` -- SDK quickstart guide for developers. - **Navigation Search Guide**: `src/DevPortal/StellaOps.DevPortal.Site/src/content/docs/guides/navigation-search.mdx` -- documentation for portal navigation and search features. - **OpenAPI Spec**: `src/DevPortal/StellaOps.DevPortal.Site/public/api/stella.yaml` -- OpenAPI specification served by the portal for interactive API exploration. - **Try-It Console**: `src/DevPortal/StellaOps.DevPortal.Site/public/js/try-it-console.js` -- interactive API console for testing endpoints from the browser. - **RapiDoc Loader**: `src/DevPortal/StellaOps.DevPortal.Site/public/js/rapidoc-loader.js` -- loads RapiDoc component for OpenAPI rendering. - **API Reference Script**: `src/DevPortal/StellaOps.DevPortal.Site/public/js/api-reference.js` -- client-side script for API reference page interactions. - **Build Scripts**: `src/DevPortal/StellaOps.DevPortal.Site/scripts/build-offline.mjs` (offline bundle), `check-links.mjs` (link validation), `check-perf.mjs` (performance checks), `run-a11y.mjs` (accessibility audit), `sync-spec.mjs` (OpenAPI spec sync). - **Integrity Check**: `src/DevPortal/StellaOps.DevPortal.Site/SHA256SUMS.devportal-stubs` -- SHA-256 checksums for vendored stubs ensuring supply-chain integrity. ## E2E Test Plan - [ ] Build the DevPortal site with `npm run build` and verify it produces a static site with all pages rendered - [ ] Navigate to the API reference page and verify the OpenAPI spec is loaded and interactive (expandable endpoints, try-it functionality) - [ ] Run the offline build script (`build-offline.mjs`) and verify the output bundle is self-contained and works without network access - [ ] Run the link checker script (`check-links.mjs`) and verify no broken links exist in the rendered site - [ ] Run the accessibility audit (`run-a11y.mjs`) and verify no critical a11y violations - [ ] Verify the SHA256SUMS file matches the actual checksums of the devportal stubs