vole
Clone
Read only, no credentials:
https://rodent.software/vole.git
Write over SSH with a registered key:
git clone ssh://git@rodent.software:2222/vole.git
A free and open-source forge that lives in your Git repo.
Build out the forge web UI
f09ef39efe44de693748053a7b596ef328fcf06b · Keenan Nemetz · 15d ago · parent 70b70264
Build out the forge web UI Turn the web surface into a compact, server-rendered forge with HTMX as the progressive dynamic layer. - Split templates and assets into embedded files; add a tokenised dark theme, Lucide icons, and vendored HTMX. - Add the repository Overview page and a separate chronological Activity feed with type filters and HTMX fragment updates. - Finish the issue and change workflows: create pages, comments, close/reopen, labels and assignees, approval, discussion, line-anchored review comments, and HTMX list filters. - Add syntax-highlighted blobs, contributor/statistics derivation, branch-aware code browsing, and a repository Runs list. - Add a loopback-only development login for local write testing, with explicit configuration and listener checks. - Extend tests for the new pages, fragments, labels, assignees, anchors, and development login.
forge/config/config.go +9
| @@ -60,6 +60,11 @@ type Config struct { | |||
| 60 | 60 | // because WebAuthn is bound to that origin. It is also what the CLI uses to | |
| 61 | 61 | // print a link to something it just created. | |
| 62 | 62 | PublicURL string `toml:"public_url"` | |
| 63 | // DevLogin is a development-only escape hatch: when set to an account name, | ||
| 64 | // a browser request from loopback is signed in as that account. It is refused | ||
| 65 | // unless http_addr is itself a loopback address, and the instance logs a | ||
| 66 | // warning at startup. Never enable it on a shared instance. | ||
| 67 | DevLogin string `toml:"dev_login"` | ||
| 63 | 68 | ||
| 64 | 69 | Path string `toml:"-"` | |
| 65 | 70 | } | |
| @@ -188,6 +193,10 @@ ssh_addr = "127.0.0.1:2222" | |||
| 188 | 193 | # print the page for something it just created. Trailing slash is ignored. | |
| 189 | 194 | # public_url = "https://forge.example.com" | |
| 190 | 195 | ||
| 196 | # Development only: sign loopback browser requests in as this account. Refused | ||
| 197 | # unless http_addr is a loopback address. Never enable this on a shared instance. | ||
| 198 | # dev_login = "you" | ||
| 199 | |||
| 191 | 200 | # Let anyone create an account by registering a passkey. New accounts have no | |
| 192 | 201 | # repository-specific access; each repository's default role still applies. | |
| 193 | 202 | # Off unless you are running an instance that wants public contributions. | |