Repository navigation
ci: deploy the docs site to GitHub Pages - #348
Merged
Merged
Conversation
adrienlacombe
force-pushed
the
claude/docs-github-pages
branch
from
October 29, 2026 19:05
a9aa51d to
3d82ad9
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
The production Pages deployment requires maintainer verification of admin-controlled settings, the first Docs workflow run, and live routes/assets before Vercel can be retired.
No open issues 🎉
1 file not reviewed
pnpm-lock.yaml: Generated file
What changed in this PR
Adds GitHub Pages deployment for the documentation site, building on #347’s static Vocs output and preparing the move from Vercel.
Changes:
- Adds a workflow to build and deploy docs on pushes to
masteror manual runs, with deployment-only write permissions. - Configures the
/get-starknetbase path and adjusts generated Markdown files and links for static hosting. - Updates the README documentation URL and adds Node.js types for the docs configuration.
Pages must be enabled by a repository admin before deployment; the first live deployment remains unverified.
| File | Description |
|---|---|
| README.md | Points readers to the GitHub Pages documentation URL. |
| pnpm-lock.yaml | Records the docs Node.js types dependency and related peer resolutions. |
| docs/vocs.config.ts | Reads the deployment base path from an environment variable. |
| docs/package.json | Adds Node.js types for process.env usage. |
| .github/workflows/docs.yml | Builds, prepares Markdown outputs, and deploys the static docs to Pages. |
Review effort: Balanced
Build the docs on every push to master (and on demand) and deploy `docs/dist/public` to https://starknet-io.github.io/get-starknet. - `DOCS_BASE_PATH` sets the vocs `basePath` for the Pages build only, so the current Vercel deployment keeps serving from `/` until it's retired - Pages can't rewrite URLs, so the workflow copies each page's Markdown to `<page>.md` and adds the base path to the links vocs writes in llms.txt, llms-full.txt and the page Markdown - README points to the new URL Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adrienlacombe
force-pushed
the
claude/docs-github-pages
branch
from
October 29, 2026 19:15
3d82ad9 to
fcc3aec
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.
Deploys the docs to https://starknet-io.github.io/get-starknet with GitHub Pages, replacing Vercel (
get-starknet.starknet-react.com).Before merging: a repo admin enables Pages
Settings → Pages → Source: GitHub Actions. Until then the deploy job fails, but the build still runs. The workflow can't enable Pages itself, because
GITHUB_TOKENdoesn't have admin rights.Changes
.github/workflows/docs.yml:masterand on demand (workflow_dispatch).DOCS_BASE_PATH=/get-starknet, uploadsdocs/dist/publicand deploys it withactions/deploy-pages.contents: read. Only the deploy job getspages: write/id-token: write.github-pagesenvironment, which by default only allows deploys from the default branch.docs/vocs.config.ts:basePath: process.env.DOCS_BASE_PATH. Only the Pages build sets it, so Vercel andvocs devkeep serving from/until Vercel is retired. Adds@types/nodeto docs devDependencies forprocess.vercel.jsondoes, so the workflow copies each page's Markdown fromassets/md/to<page>.md.llms.txt,llms-full.txtand the page Markdown as root-absolute paths that ignorebasePath(src/internal/llms.ts), so the workflow adds the base path to them.README.md: links to the new URL.Verification
pnpm install --frozen-lockfile,format:check,build,typecheck,lint:check,test(50 tests) andactionlintall pass;tscondocs/is clean.DOCS_BASE_PATHstill emits root paths (/assets/…), so the Vercel deployment is unchanged./get-starknet/with a static server./get-starknet/llms.txtand/get-starknet/<page>.mdreturn 200, and no unprefixed links remain in the Markdown outputs.Known gaps with a base path (upstream vocs)
/assets/md/…withoutbasePath. "View as Markdown" opens a 404, and "Copy page for AI" falls back to copying the page URL. "Open in ChatGPT/Claude" works. The fix is in wevm/vocs#627, still open; bump vocs once it lands./#vocs-contentwithout the base path.Not verified
Docsworkflow and the live site.Follow-up after the switch
Retire the Vercel project. Either delete it, or replace
vercel.jsonwith a permanent redirect to the new URL so old links keep working. Then removevercel.json.🤖 Generated with Claude Code