Website overhaul: real package names, Clinical Coding Platform, Playwright tests#30
Merged
MelbourneDeveloper merged 5 commits intomainfrom Apr 12, 2026
Merged
Website overhaul: real package names, Clinical Coding Platform, Playwright tests#30MelbourneDeveloper merged 5 commits intomainfrom
MelbourneDeveloper merged 5 commits intomainfrom
Conversation
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.
TLDR
Rewrites the documentation website to advertise the actual shipped NuGet packages and CLI tools, replaces the old Healthcare Samples references with the Nimblesite Clinical Coding Platform, adds DocFX-driven API reference for every shipped library, and adds a Playwright E2E suite that fails the build if stale package names ever sneak back in.
What Was Added?
LICENSE— MIT, Copyright 2026 Nimblesite Pty Ltd..config/dotnet-tools.json— pinsdocfx 2.78.5as a local tool so the website build can generate API metadata reproducibly.Website/src/_data/versions.cjs— single source of truth for every NuGet version advertised on the site, overridable viaDATAPROVIDER_VERSION,DATAPROVIDERMIGRATE_VERSION,LQL_VERSION,NIMBLESITE_VERSIONenv vars at build time.Website/playwright.config.ts+Website/tsconfig.json+Website/tests/e2e/docs.spec.ts— Playwright E2E suite (419 LOC) that builds the site, serves it on port 8123, and crawls every doc/blog/API page asserting:MelbourneDev.*,DataProvider.MySql,dotnet add package DataProvider.Sqlite|SqlServer|Postgres,Lql.SQLite|Postgres|SqlServer,Lql.TypeProvider.FSharp,HealthcareSamples,--version 0.4.0, and the literal string0.4.0/docs/installation/MelbourneDeveloper/ClinicalCodingNimblesite.DataProvider.{Core,SQLite,Postgres,SqlServer,Migration.*},Nimblesite.Lql.{Core,Postgres,SQLite,SqlServer},Nimblesite.Sync.{Core,Http,Postgres,SQLite},Nimblesite.Reporting.Engine,Nimblesite.Sql.Model, andDataProviderMigrateWebsite/src/assets/images/clinical-coding/login.png— screenshot used on the Clinical Coding Platform page.docs/plans/website-update.md— 257-line plan document capturing the canonical package/tool reference and the no-content-duplication rule (component READMEs are the source of truth, copied into the site at build time).Migration/README.md— new component README (130 lines) so the migration docs page can be generated from a single source.@playwright/test,@types/node,http-serveradded toWebsite/package.jsondevDependencies, plustest:e2e/test:e2e:install/docfxnpm scripts.Website/src/_data/versions.cjs+versions.defaultenv-driven default0.9.6-beta.What Was Changed or Deleted?
.github/workflows/deploy-website.yml->deploy-pages.yml— workflow renamed and rewritten: now installs DocFX, runsdocfx metadata, runsgenerate-api-docs.cjs, builds Eleventy withDATAPROVIDER_VERSION/LQL_VERSION/NIMBLESITE_VERSIONinjected from the release tag, and deploys toMelbourneDeveloper/DataProviderWebsiteviapeaceiris/actions-gh-pages@v4.Website/docfx/docfx.json— expanded source list to include every shipped project:DataProvider,Lql/Lql,Lql/Nimblesite.Lql.{Core,Postgres,SQLite,SqlServer},DataProviderMigrate,Nimblesite.Reporting.{Engine,Api},Nimblesite.Sql.Model, plus the existing DataProvider/Sync entries.Website/scripts/copy-readmes.cjs+generate-api-docs.cjs— extended to copy the newMigration/README.mdand to walk the new DocFX-generated YAML for every project listed above.Website/package.json—dev/build/build:sitenow rungenerate-api-docs.cjsbefore Eleventy so API pages are always present locally and in CI.Website/src/_data/navigation.json— removed stale "F# Type Provider", "Gatekeeper", and old "Healthcare Samples" entries; renamed to "Clinical Coding Platform"; addedInstallationlink and Clinical Coding GitHub footer link.Website/src/docs/{getting-started,installation,quick-start,samples}.md— fully rewritten to match the real packages:dotnet tool install -g DataProvider/DataProviderMigrate/Lql,dotnet add package Nimblesite.DataProvider.{SQLite,Postgres,SqlServer},Nimblesite.Lql.*,Nimblesite.Sync.*.samples.mdis now the Clinical Coding Platform reference page.Website/src/blog/{getting-started-dataprovider,connecting-sql-server,lql-simplifies-development}.md— package names, CLI invocations, and version references updated to match shipped artifacts.Website/src/index.njk,about.md,_includes/layouts/base.njk,_includes/layouts/api.njk— versions now read from{{ versions.* }}instead of being hard-coded; nav/footer updated accordingly.Website/src/assets/css/styles.css(+77 lines) — styles for the Clinical Coding Platform page (screenshot frame, feature grid) merged into existing class system rather than introducing a section-scoped sheet.README.md,DataProvider/README.md,Lql/README.md,Sync/README.md— updated to reference the realNimblesite.*package names, the three CLI tools, and the Clinical Coding Platform; these flow throughcopy-readmes.cjsto/docs/{component}/.How Do The Automated Tests Prove It Works?
make ci(lint + test + build across .NET, Rust, F#, TypeScript) passes locally on this branch.Website/tests/e2e/docs.spec.ts(Playwright, run vianpm run test:e2e) covers:Homepage > renders hero and links to key docsandnav contains Clinical Coding Platform and no stale entries— assert hero text, samples CTA, and forbidden-string sweep over body and nav.Installation page > advertises the three real CLI tools and Nimblesite runtime— assertsdotnet tool install -g DataProvider,DataProviderMigrate,Lqland theNimblesite.DataProvider.*runtime packages.DOC_PAGES(every docs page, every DocFX-generated API namespace, every blog post) — each must return 200 and contain none of the 14 forbidden stale strings (MelbourneDev.,DataProvider.MySql, the fourdotnet add package DataProvider.*variants, the fourLql.*variants,HealthcareSamples,Healthcare Samples,--version 0.4.0,version": "0.4.0).github.com/MelbourneDeveloper/ClinicalCodingand renders the login screenshot.Spec / Doc Changes
docs/plans/website-update.mddocuments the canonical package/tool table, the single-source-of-truth rule (component READMEs ->/docs/{component}/viacopy-readmes.cjs), and the Playwright stale-string contract.README.md,DataProvider/README.md,Lql/README.md,Sync/README.md,Migration/README.md(new) updated/added — these are the canonical component docs that the website mirrors.Breaking Changes
deploy-website.ymlGitHub Actions workflow has been renamed todeploy-pages.yml. Anything that referenced the old workflow filename (e.g.workflow_callfrom a release pipeline) must be updated.