Repository navigation
feat(site): seed the product site from the Vite/React Router proof - #2
Merged
Merged
Conversation
Replaces the scaffold's placeholder SPA with the approved proof: React Router v7 in framework mode, prerendered to static HTML (no Node server at request time), styled with Tailwind and the vendored @cryptos-pki/ui kit (vendor/cryptos-ui, copied from cryptos-web; see its NOTICE for the commit). The page (split hero, what-it-is, trust model, FleetOS Manager section, footer with the trademark notices) and its content come straight from the proof; nothing about the look or copy changes here. Adds CI for the new build: a build+lint+typecheck job that also checks the prerendered output for broken internal links, a DCO check, and a release-drafter workflow (extends CryptOS-PKI/.github, first version 0.1.0, rc prereleases) in place of the scaffold's generic one. Actions across every PR workflow are pinned by commit SHA and moved to ubuntu-24.04. Swaps in the Apache 2.0 license plumbing the same way the license PR does, since this PR replaces every file the license PR touched under src/. README, AGENTS.md and CLAUDE.md are updated for the new layout. Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
Bugs5382
marked this pull request as ready for review
October 16, 2026 00:48
The vendored CryptOS UI kit's fonts (@fontsource-variable/inter, @fontsource/jetbrains-mono) ship under the SIL Open Font License, which the dependency-license allowlist didn't yet include. Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com> # Conflicts: # NOTICE # README.md # package-lock.json # package.json # src/App.tsx # src/Counter.test.tsx # src/Counter.tsx # src/main.tsx # src/setupTests.ts
This was referenced Oct 16, 2026
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.
What and why
I'm seeding the real product site on top of the hub scaffold, from the approved proof (served at
the review build Shane looked at). I kept the proof's look, hero, marks and sections as they are --
no redesign -- and changed only what the repo needs on top of it: license headers, CI and docs.
app/: React Router v7 in framework mode (ssr: false,prerender()inreact-router.config.ts), prerendered to static HTML at build time, no Node server at requesttime. One route (
/), composed fromapp/content/cryptos.ts(all of this product's copy) and aset of product-agnostic components (hero, nav, section, feature grid, terminal card, footer).
vendor/cryptos-ui/: a vendored copy of cryptos-web'spackages/uidesign kit, at commit6720003 (documented in
vendor/cryptos-ui/NOTICE, which also says how to refresh it). It'scopied in because cryptos-web doesn't publish this package; it's read-only here.
src/SPA,index.html, and the vitest/testing-librarystack that came with it (nothing here has business logic to unit-test; CI builds, lints,
typechecks and checks the prerendered output's links instead).
Acknowledgements) -- this PR replaces every file that one touches under the old
src/, so Icarried the same change here rather than leaving this branch on the MIT placeholder. Whichever
of these two PRs merges second will need a rebase; expect a conflict on the license-plumbing
files since both branches touch them independently off
main.ci.ymljob (lint, typecheck, build/prerender, thenscripts/check-links.mjsagainst theprerendered output for broken internal links), a
job-dco.yaml(copied from cryptos-web), and arelease-drafter.yml(also copied from cryptos-web's shape) replacing the scaffold's genericjob-version-bump.yaml, which was hardcoded to the Bugs5382 release App's client ID -- wrong Appfor a CryptOS-PKI repo. The new one is App-gated the same way (
vars.APP_CLIENT_ID), extendsCryptOS-PKI/.githubat its current main SHA,first-version: 0.1.0,rcprereleases.existing golic/PR-checks/label/license-check/actionlint workflows) is now pinned by commit SHA,
and every job runs on
ubuntu-24.04.section notes that this repo diverges from the hub's
vite/appbaseline, which has noframework-mode/prerendered layout yet -- a possible follow-up for project-template, out of scope
here).
Verification
How this was verified
task license(dry run): every source file carries the header, LICENSE is verbatim. (golic doesnot descend into
vendor/; its headers already match, copied as-is from cryptos-web, andvendor/cryptos-ui/NOTICEdocuments the source commit.)npm run lint,npm run typecheck,npm run buildall pass locally.npm run buildprerenders/tobuild/client/index.html.node scripts/check-links.mjs build/client: checked the prerendered HTML, no broken internallinks (3 external links counted, not fetched).
actionlint -shellcheck=passes on every workflow file.I'll add a closing comment summarizing what was done before this merges.
Refs #3