docs: upgrade both docs sites to maelstrom-level architecture with Diataxis, TypeDoc, and Tailwind design system (#156)#184
Open
NachoVazquez wants to merge 1 commit into
Open
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gonx-docs | a5753ef | Commit Preview URL Branch Preview URL |
Jun 22 2026, 10:55 AM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
nx-cloudflare | a5753ef | Jun 22 2026, 10:55 AM |
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx affected -t e2e --parallel=1 |
✅ Succeeded | 3m 24s | View ↗ |
nx affected -t build --yes |
✅ Succeeded | 24s | View ↗ |
nx affected -t lint test |
✅ Succeeded | 39s | View ↗ |
nx-cloud record -- nx format:check |
✅ Succeeded | 2s | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-06-22 10:59:49 UTC
097f8e6 to
0f74287
Compare
b2ac82c to
69a1a2c
Compare
… failing test targets
69a1a2c to
a5753ef
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

TL;DR
Both docs sites (
gonx-docsandnx-cloudflare-docs) have been upgraded from basic Starlight setups to a maelstrom-level architecture: Tailwind v4 + glassmorphism design system, custom component overrides (sidebar, theme toggle, pagination with page feedback + copy-for-AI), TypeDoc auto-generated API reference, llms.txt generation, view transitions, Fumadocs-style TOC serpentine indicator, and Diátaxis content restructure.Files to review (113, +7103 / -2171):
docs/nx-cloudflare-docs/(start here)docs/gonx-docs/package.jsonWhy
The docs sites were functional but basic — default Starlight styling, no custom components, no API reference, no search enhancements, and the content structure didn't follow a consistent framework. The maelstrom docs site (
maelstrom-co/maelstrom/apps/docs) had already solved these problems with a mature architecture. This PR ports that architecture to both plugins while adapting the branding (orange for nx-cloudflare, purple for gonx).How
Phase 1 — Infrastructure port (per site, 26 files each):
custom.css(theme tokens, noise texture, h2 gradient borders),theme-vars.css(dark/light Starlight variable overrides),code-blocks.css(glass code blocks with copy buttons),sidebar.css(active states, scrollable nav),layout.css(desktop/mobile header, view transitions),toc.css(serpentine indicator),components.css(inline code pills, glass cards, search dialog, feedback buttons, focus indicators, reduced motion)PluginLogo.astro(inline SVG wordmark),Header.astro(mobile-only),Sidebar.astro(logo + search + scrollable nav + bottom bar with social icons + theme toggle),ThemeSelect.astro(sun/moon toggle with FOUC prevention),Head.astro(Inter + JetBrains Mono fonts, view transitions, code-block/toc-path init),Pagination.astro(page feedback + copy-for-AI + prev/next)code-blocks.ts(copy buttons + title bars),copy-for-ai.ts(page → markdown for LLMs),page-feedback.ts(localStorage "was this page helpful?"),preferences.ts(safe localStorage wrappers),toc-path.ts(Fumadocs-style SVG serpentine with scroll-tracked active highlight)astro.config.mjsrewritten: Tailwind vite plugin, React + sitemap integrations, starlight-llms-txt plugin, starlight-typedoc plugin (auto-generates API reference fromsrc/index.ts), custom shiki themes (github-light/dark),meta-titletransformer, fonts via Astro Fonts API, component overrides, Diátaxis sidebar structure,lastUpdated+paginationenabledPhase 2 — Diátaxis content restructure:
Both sites reorganized into quadrant-based directories:
getting-started/— introduction, quick-start, installation (new)guides/— generators and targets/executors (how-to reference)reference/— TypeDoc auto-generated API docs (new)understanding/— explanation pages (wrangler config inference, static analysis)community/— migration, contributing (new)tutorials/— first-go-project (gonx only, new)New pages created:
introduction.md,installation.md(both sites),contributing.md,static-analysis.md,first-go-project.md(gonx). All internal links updated to new slugs.Dropped from maelstrom (by design):
Dependency upgrades:
@astrojs/react,@astrojs/sitemap,@astrojs/starlight-tailwind,@tailwindcss/vite,tailwindcss,starlight-llms-txt,starlight-typedoc,typedoc,typedoc-plugin-markdownReviewer notes
src/index.tsre-exports 3 generator functions + 3 schema interfaces → 7 reference pages. gonx'ssrc/index.tsexports the NxPlugin object → 2 reference pages. Both useexcludeInternal: trueand GitHub source links..astro/generated files are gitignored. The root.gitignorehas.astro— these are build artifacts, not committed.preloadfont option was removed in Astro 6 (fonts are preloaded by default).implicitDependencieswired. Both docsproject.jsonfiles declare implicit deps on their plugin packages, sonx affected -t buildrebuilds docs when plugin source changes.nx-cloudflare.naxo.dev, gonx docs →gonx.naxo.dev(already configured). Both need Cloudflare dashboard wiring.Tests
Both docs sites build successfully:
bunx nx build nx-cloudflare-docs→ 22 pages, 0 errors, sitemap generated, pagefind search index builtbunx nx build gonx-docs→ 23 pages, 0 errors, sitemap generated, pagefind search index builtbunx nx format:check→ cleanLinks