About this site
colophon
code.fugl.dev is a static read of a git server. Every page you have clicked was written at build time out of git log and the merge commits it found there — no database behind it, no API in front of it, nothing to log into.
why there is no forge
The server is Soft Serve behind a Cloudflare Tunnel: anonymous read over HTTPS, authenticated SSH through a bastion. It hosts repositories and does not host issues, pull requests, reviews, or a board, because those are kept in the repositories themselves.
A pull request is a chain of commits under refs/meta/prs/<n>, opened, reviewed and merged from the command line, with the merge gate running the repo’s own checks against the merged tree rather than the branch. The backlog is markdown files whose lanes are derived from branches and PR refs, so merging moves the card and the board cannot go stale. Every read command speaks JSON, because the other reviewer is usually an agent.
Nothing garbage collects those refs — git keeps whatever any ref under refs/ can reach — but a ref only exists where someone pushed it, and no ordinary clone carries refs/meta. So the build asks for them and takes what comes back; where nothing does, the merge commit’s own subject line — Merge PR #12: … (pr/rubric-scoring) — is the whole record of the number, the title and the branch the work came from, which is why this site prints it as the record it is rather than paraphrasing it into a card. A merge with no ref behind it still has a sha, a file list and a diff. That is a whole page.
how the pages are built
A bun workspace: the app in apps/, source-shipped TypeScript packages in packages/, and the build, serving, PR and planning tooling in infra/. Nothing is compiled before it is imported — the packages ship TypeScript and the app’s bundler is the only compiler.
The diffs and file trees are rendered to HTML ahead of time, with their styles inlined, so they are readable with the JavaScript turned off and this site’s stylesheet never learns what a diff line is. A Cloudflare Worker serves the generated static assets from a code.fugl.dev custom domain. Ordinary paths resolve to their prerendered files, with an explicit not-found document rather than a client-side fallback. The Worker also preserves the existing /russ/*, /sks/* and /sara/*, which this host inherited from an older redirector and still sends on to Codeberg, while Git smart-HTTP requests continue to reach the canonical server.
clone this site
$ git clone https://git.fugl.dev/russ/code.gitanonymous, no account$ git clone ssh://git.fugl.dev/russ/codeneeds the bastion ProxyCommandHTTPS needs nothing. For SSH, add this to ~/.ssh/config — the client never dials git.fugl.dev itself, cloudflared reaches the bastion on its behalf, which is how one hostname serves both transports:
Host git.fugl.dev
ProxyCommand cloudflared access ssh --hostname bastion.fugl.dev
StrictHostKeyChecking accept-newread it in a terminal
With that config in place, ssh git.fugl.dev opens the server’s own interface — the same list of public repositories, without the browser.
- tab
- switch between Repositories and About
- enter
- open a repo
- c
- copy its clone command
- /
- filter
- q
- quit