Adopt it
Ten minutes for a repo with nothing, less for one that already has a site.
A repo with no site
-
Scaffold
From a cubesite checkout, pointed at the project:
node scripts/scaffold.mjs ../mcp-actualThis writes
site/and.github/workflows/pages.yml. It never overwrites a file it does not own, so it is safe to re-run. -
Fill in the TODOs
Three in
site/src/_data/site.js(tagline, description, and the optional npm/docker links), and the rest insite/src/index.njk: what it does, three capabilities, and the shortest command that gets someone running.cd site && npm install && npm run dev -
Commit the lockfile too
The workflow runs
npm ci, which needssite/package-lock.jsonin the repo.git add site .github/workflows/pages.yml git commit -m "Add a project site" -
Turn Pages on
Settings → Pages → Source: GitHub Actions. This is the one step no script does for you — the workflow cannot enable the feature it deploys to. Push, and the site is live at
cubicecho.github.io/<repo>/. -
Point the repo at it
Set the repo's Website field to the Pages URL, link it from the first lines of the README, and add the project to cubicecho.com.
A repo that already has a site
Don't re-scaffold it. Sync the parts cubesite owns and leave your pages alone:
node scripts/scaffold.mjs ../mcp-router --theme
That writes four files, overwriting whatever was there:
site/src/css/cubesite.css— the shared themesite/src/_includes/mark.njk— the inline marksite/src/assets/favicon.svgandlogo.svg
Then, by hand:
-
Load
cubesite.cssbefore your own stylesheet, and cut from yours everything the theme now covers — what is left is the project's own, and it should be short. -
Replace the emoji in the header with
{% include "mark.njk" %}, and give the wordmark the markup the theme expects — see template/src/_includes/base.njk. -
Swap your
pages.ymlfor the canonical one if yours has drifted from it.
What a project site is
One page, usually: the name, the one-line pitch, what it does, how to run
it, and links out. Anything longer belongs in the README — the site points
at the README, not the other way round. Repos with genuinely more to say
(mcp-router, mcp-skills-manager) add
get-started and docs pages on the same layout.
That is the ceiling, not the floor.
The floor is worth stating plainly, because it is the whole point: a library with three sentences of description and an install line still gets a site. It costs one file and it is the difference between a link that shows someone what this is and a link that shows them a repo.