a self-hosted git server in one binary — everyone reads, only the owner writes
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(-)