Date: 2026-08-12
Accepted
LyraCore is an all-Rust project. The obvious tools for a docs-and-landing site keep it that way: mdBook is a Rust binary and gives book-shaped guides for free, and Zola is a single Rust binary that covers a templated landing page, markdown guides, and news posts without npm.
The site has to be two things at once — a public landing page for the project and a home for guides. mdBook
covers only the second, so it would need a hand-written index.html beside it. Zola covers both.
Against that: the maintainer works in React daily and in neither of the Rust site generators. The site’s value comes from iterating on how it reads and looks, and that iteration is only as fast as the maintainer’s feedback loop. The landing page is also the one part of the project likely to grow interactive elements — a realm status widget, an online-player count — which the static generators do not do.
Build the site with Vite, React, and TypeScript. Author guides in MDX. Build to static files and deploy to GitHub Pages with a GitHub Actions workflow.
An npm dependency tree and a node toolchain now exist in the LyraCoreProject org. This is contained: the site
repo has no path dependency on any other repo, its build never runs in another repo’s CI, and nothing in
LyraCore learns about node. The blast radius of the choice is this repo.
The cost is a second ecosystem to keep patched, and a contributor who only has a Rust toolchain cannot build the site locally. Accepted in exchange for the maintainer being able to make the site good.