Scaffold VitePress 1.x documentation site with GitHub Pages CI/CD#51
Scaffold VitePress 1.x documentation site with GitHub Pages CI/CD#51dexcompiler merged 6 commits intomainfrom
Conversation
Co-authored-by: dexcompiler <115876036+dexcompiler@users.noreply.github.com>
|
@cursoragent review |
What I changed after deeply studying the code
|
Co-authored-by: Rusty <rusty@rustynode.dev>
Co-authored-by: Rusty <rusty@rustynode.dev>
Co-authored-by: Rusty <rusty@rustynode.dev>
|
@copilot cursor agent made some changes to the PR. can you diff and verify? |
Co-authored-by: dexcompiler <115876036+dexcompiler@users.noreply.github.com>
Reviewed all 3 cursor-agent commits. The changes are accurate — every API it added to the docs (DI helpers, The notable correct fixes cursor made:
One issue found: cursor changed |


Adds a production-ready VitePress documentation website for the Clockworks library, wired to auto-deploy to GitHub Pages at
https://dexcompiler.github.io/Clockworks/on every push tomain.Infrastructure
docs/package.json— VitePress^1.6.3dev dependency,type: module(required for VitePress ESM config), standarddocs:dev/build/previewscriptsdocs/.vitepress/config.ts— full site config:base: '/Clockworks/'(required for project-page subdirectory hosting),logo: '/logo.png'(resolved underbase), local search,github-light/github-darkcode themes, line numbers, edit-on-GitHub links, last-updated timestampsdocs/.vitepress/theme/index.ts— re-exports VitePress default theme as a clean extension pointdocs/.gitignore— excludesnode_modules/,.vitepress/dist/,.vitepress/cache/, andpublic/logo.png(generated at CI time)docs/public/.gitkeep— ensures the public directory is tracked;logo.pngis copied fromassets/clockworks-display-resized.pngin the workflow stepNavigation
Top nav: Guide · Concepts · API Reference (NuGet, external) · Changelog · version badge (GitHub releases).
Sidebars for
/guide/and/concepts/enumerate all pages explicitly (VitePress does not auto-discover).Content pages (all populated from existing README/CHANGELOG/sub-READMEs)
docs/index.md— hero landing page with 6 feature tilesdocs/changelog.md,docs/contributing.md,docs/testing.md,docs/README.mdCI/CD —
.github/workflows/docs.ymlTwo-job workflow (
build→deploy):main; deploy job is gated torefs/heads/mainnpm ciindocs/(requires committedpackage-lock.json)assets/clockworks-display-resized.png→docs/public/logo.pngbefore build.vitepress/distas a Pages artifact; deploys viaactions/deploy-pages@v4permissionsblock (pages: write,id-token: write) andconcurrencyguard to prevent overlapping deploymentsOriginal prompt
Goal
Scaffold a fully-featured VitePress 1.x documentation website for the Clockworks library and wire it up to deploy automatically to GitHub Pages via GitHub Actions. The site should be production-ready on day one: correct base URL, working navigation, real content populated from the existing README/CHANGELOG/sub-READMEs, and a robust CI+deploy workflow.
Repository Context
dexcompiler/ClockworksClockworksv1.3.0 (MIT)https://dexcompiler.github.io/Clockworks/Existing content to draw from:
README.md(10.9 KB) — features, quick-start examples, HLC/VectorClock trade-offs, demo instructions, security notesCHANGELOG.md— Keep-a-Changelog format, v1.2.0 and v1.3.0 entriesproperty-tests/README.md— detailed property test guide with invariant tableseng/README.md— cloud agent / dev environment setupassets/clockworks-display-resized.png— hero imageSource layout (for reference):
Deliverables
1.
docs/package.json{ "name": "clockworks-docs", "version": "1.0.0", "private": true, "scripts": { "docs:dev": "vitepress dev", "docs:build": "vitepress build", "docs:preview": "vitepress preview" }, "devDependencies": { "vitepress": "^1.6.3" } }2.
docs/.vitepress/config.tsFull VitePress config. Key requirements:
base: '/Clockworks/'— critical for GitHub Pages subdirectory hostingtitle: 'Clockworks'description: 'Deterministic, fully controllable time for distributed-system simulations and testing.'headmetadata (og:title, og:description, og:type)themeConfig:logo: '/Clockworks/logo.png'(reference the hero image path)siteTitle: 'Clockworks'navwith: Guide, Concepts, API Reference (external NuGet link), Changelog, and a version badge linking to GitHub releasessidebarwith two sections:/guide/: Getting Started, Installation, Simulated Time, Timeouts, UUIDv7 Generation, Hybrid Logical Clock, Vector Clock, Instrumentation/concepts/: Why Clockworks, HLC vs Vector Clocks, Determinism Model, Security ConsiderationssocialLinkswith GitHub iconfooterwith MIT license and copyrightsearch: { provider: 'local' }— free, no Algolia account requirededitLinkpointing tohttps://github.com/dexcompiler/Clockworks/edit/main/docs/:pathlastUpdated: truemarkdownconfig:theme: { light: 'github-light', dark: 'github-dark' }lineNumbers: true3.
docs/.vitepress/theme/index.tsMinimal custom theme that extends the default VitePress theme. Just export the default — no customization needed yet, but the file establishes the extension point cleanly:
4.
docs/public/logo.pngDo NOT create a binary file. Instead, create
docs/public/.gitkeepwith a comment note — the actual logo image (assets/clockworks-display-resized.png) should be referenced with instructions in the README. Add a note indocs/README.mdexplaining how to copy/symlink the asset.5. All guide pages — populated with real content
docs/index.md— Landing / Hero pageVitePress hero layout with:
layout: homeheroblock:name: Clockworkstext: 'Time is just another dependency.'tagline: 'Deterministic, fully controllable time and time-ordered identifiers for distributed-system simulations and testing. Built on .NET 10 TimeProvider.'/Clockworks/guide/) and "View on GitHub" (external,https://github.com/dexcompiler/Clockworks)featuresblock with 6 feature tiles:docs/guide/index.md— Installation & Quick StartContent:
-...
This pull request was created from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.