feat(git-ui): a public repository browser served from the account's site master
Deploys to git.<site domain> as one self-contained document. A visitor browses trees, files, history and commit diffs with no sign-in, because the page reads the repository records through a materialized query and opens the bundle blobs itself. Two layers feed it. The repository list, refs, default branch and sizes come from one dev.pdsjs.query.run call, so the list page, the branch menu and the clone box cost no blob downloads. Trees, file bodies, history and diffs live inside the packfiles, which the pack reader opens in the page. Having the refs in hand first is what lets a URL like /repo/tree/feature/x/src/index.js be split correctly, since the ref and the path both hold slashes. React, shadcn conventions and Base UI, the same stack the account pages use. Syntax colouring for files and diffs, with each side of a hunk coloured whole so a block comment does not end at every line break. READMEs render as markdown, with raw HTML printed rather than parsed and addresses held to schemes worth following. A commit shows its changed files as the tree they came from. The build is one file on purpose: the site record names a file by path and the page HTML caches for minutes, so hashed assets would leave a visitor holding old HTML asking for a script the record no longer names.