If I Could Make My Own GitHub

TLDR

  • Developer wishlist for a reimagined code forge: pre-commit remote CI, nuanced PR approval, JJ as VCS, lightweight federation across Raspberry Pis, and signed offline-capable Actions.

Key Takeaways

  • Modern forges (GitHub, GitLab, Gitea) all copy GitHub’s pattern: bolt features onto git that wasn’t designed for centralized team workflows.
  • Pre-commit remote hooks should replace the post-push feedback loop that produces commit histories ending in asdfasdf at midnight.
  • PR approval should support weak/conditional states (like Gerrit’s -2 to +2 scale) and LLM-assisted risk gating to skip four-eyes on trivial changes.
  • Stacked PRs should be first-class, not a third-party add-on; local repo clone should include issues and PR approvals, not just code.
  • Actions should be SHA-pinned, tarballed into the repo, and runnable locally – no forced dependency on remote action registries.

Hacker News Comment Review

  • Commenters split on whether non-boolean PR approval is coherent: merge permission is inherently a boolean; the real ask is better annotation UX, not a new permission model – Gerrit’s numeric scale was cited as the practical precedent.
  • tangled.org (ATProto-based forge) was flagged as already shipping several requested features: JJ change-id stacked PRs, lightweight git server shim over SQLite, and self-hostable on low-power hardware.
  • Storing review data inside git (via namespaced branches or a .reviews branch) was proposed as a way to make the forge and VCS converge without a separate database.

Notable Comments

  • @nerdypepper: tangled.org already supports JJ stacked PRs, SQLite-backed git shim, and Raspberry Pi self-hosting – most of the wishlist exists today.
  • @jordemort: “I don’t understand why any of this would take submarine money to build.”
  • @ralferoo: proposes storing PR and review data in git namespaces or a dedicated .reviews branch to unify forge and VCS state.

Original | Discuss on HN