frieren
a self-hosted git server in one binary — everyone reads, only the owner writes
Merge branch 'feat/web'
efd8b263cfd423ed098e9f1d46ca4c5104f149bb
justin06lee · Aug 18, 2026, 11:24 PM (4h ago)
Makefile | 5 +- README.md | 17 + e2e_test.go | 11 + web.go | 24 +- web/.gitignore | 41 ++ web/app/[repo]/blob/[ref]/[...path]/page.tsx | 66 ++++ web/app/[repo]/commit/[hash]/page.tsx | 33 ++ web/app/[repo]/commits/[[...ref]]/page.tsx | 46 +++ web/app/[repo]/layout.tsx | 40 ++ web/app/[repo]/page.tsx | 47 +++ web/app/[repo]/refs/page.tsx | 62 +++ web/app/[repo]/tree/[ref]/[[...path]]/page.tsx | 23 ++ web/app/error.tsx | 20 + web/app/globals.css | 130 +++++++ web/app/icon.svg | 12 + web/app/layout.tsx | 46 +++ web/app/not-found.tsx | 15 + web/app/page.tsx | 63 ++++ web/bun.lock | 497 +++++++++++++++++++++++++ web/components/CloneBox.tsx | 26 ++ web/components/Crumbs.tsx | 41 ++ web/components/Diff.tsx | 56 +++ web/components/Markdown.tsx | 43 +++ web/components/Offline.tsx | 31 ++ web/components/RepoNav.tsx | 46 +++ web/components/Starfield.tsx | 34 ++ web/components/TreeTable.tsx | 63 ++++ web/lib/api.ts | 96 +++++ web/lib/diff.ts | 71 ++++ web/lib/format.ts | 31 ++ web/lib/params.ts | 13 + web/lib/shiki.ts | 46 +++ web/next.config.ts | 7 + web/package.json | 37 ++ web/postcss.config.mjs | 7 + web/tsconfig.json | 34 ++ 36 files changed, 1876 insertions(+), 4 deletions(-)