Repository navigation
Build the documentation as a VitePress site - #8
Merged
Merged
Conversation
Turn docs/ into a VitePress site with a home page, getting started, core concepts, testing, production, backends, reference, CI and architecture sections. Existing pages keep their paths and were audited against the implementation; new pages add a quickstart verified against the PyPI package, a CLI reference, a complete contract reference, and separate System One, HTTP and custom-backend pages. The README becomes a short landing page linking into the docs, with absolute GitHub links since it is also the PyPI project page. No hosting or deployment is configured. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🚀 Deploying Preview to Cloudflare 🚀Preview Deployments by commit
|
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.
Turns
docs/into a VitePress documentation site. Hosting and deployment are deliberately out of scope: there is nobase, no sitemap hostname and no workflow.Structure
index.md(hero, install + condensed result, feature grid, command table)introduction.md,installation.md,quickstart.md(new)decisions.md,datasets.md,gates.md(new)metrics.md,fuzzing.md(new);properties.md,regression.md(rewritten)production.md,policy.md(rewritten)backends.md(overview + mock);systemone.md,http.md,custom-backends.md(new, split out of the old backends page)cli.md(new);contracts.md,reports.md(rewritten)ci.md,architecture.md(rewritten)All nine existing pages keep their paths. Metric definitions moved from
reports.mdtometrics.md, and the fuzzing workflow (seeds, minimization, replay) moved fromproperties.mdtofuzzing.md. Code comments and.context/references to moved sections now point to the new pages. That is the only change undersrc/andtests/.How it was checked against the implementation
cli/__init__.py. The contract reference was written from the pydantic models, and every row of "Invalid combinations" was triggered against the real validator, with messages copied from its output.decguardinstalled from PyPI (0.1.0, then re-checked against 0.1.1, where the output matches apart from the version string and timings). Other outputs (fuzz, replay, diff, check, run) were copied from real runs ofexamples/refund.{...}skeleton, and the plugin example, which needs the plugin installed. The plugin example was built as a real entry-point package and run withvalidateandtest --all. The HTTP endpoint example was also run againstdecguard test.checkandvalidate.Build and links
npm ci && npm run docs:buildsucceeds. VitePress fails the build on dead links between pages; I confirmed that by adding a broken link once and removing it again.#anchors, so a separate script checked the built HTML: 1004 internal links, 300 of them with anchors, and 0 problems. I also broke one anchor to confirm the script catches it.Other changes
pyproject.tomlat build time. Version strings in page text are pinned to0.1.1and will need updating on each release.package.jsonwithdocs:dev,docs:buildanddocs:preview, andvitepress@1.6.4pinned exactly, with a lockfile.npm auditreports three advisories in VitePress's dev-server dependency chain (esbuild/vite). They affect only the local dev server, and VitePress 1.x has no fix yet..context/(architecture, conventions, state) are updated.Checks
ruff check,ruff format --check,mypy: pass. Ruff also formats Python blocks inside Markdown, so three doc snippets were reformatted.pytest: 313 passed, 8 opt-in real-backend skips.syngraphe check: no problems.🤖 Generated with Claude Code