Self-host your GitHub repositories.

self-forge

One day, I'd like to write a lightweight clone of GitHub.

For now, here's ~100 lines of Go that host your source files.

  • Clones all of a GitHub user's repositories
  • Serves the default branch of each via http.FileServer

This is a good example use-case of sync.WaitGroup โ€“ all clones are run as concurrent goroutines.

PORT=":80" GITHUB_USERNAME="healeycodes" go run serve.go
# optionally use PER_PAGE to raise the number of repositories (up to 100)
# TODO: pagination for unlimited repositories
Owner
Andrew Healey
software engineer โ–ฒ @vercel
Andrew Healey
Similar Resources

:zap: boilerplate template manager that generates files or directories from template repositories

:zap: boilerplate template manager that generates files or directories from template repositories

Boilr Are you doing the same steps over and over again every time you start a new programming project? Boilr is here to help you create projects from

Jan 6, 2023

A better way to clone, organize and manage multiple git repositories

A better way to clone, organize and manage multiple git repositories

git-get git-get is a better way to clone, organize and manage multiple git repositories. git-get Description Installation macOS Linux Windows Usage gi

Nov 16, 2022

Grab is a tool that downloads source code repositories into a convenient directory layout created from the repo's URL's domain and path

Grab is a tool that downloads source code repositories into a convenient directory layout created from the repo's URL's domain and path. It supports Git, Mercurial (hg), Subversion, and Bazaar repositories.

Jun 2, 2022

Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. ๐Ÿ” ๐Ÿ“Š

Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. ๐Ÿ” ๐Ÿ“Š

askgit is a command-line tool for running SQL queries on git repositories. It's meant for ad-hoc querying of git repositories on disk through a common interface (SQL), as an alternative to patching together various shell commands.

Jan 3, 2023

ghcv-cli makes it easy to view the user-created issues, pull requests, and repositories in the terminal.

ghcv-cli makes it easy to view the user-created issues, pull requests, and repositories in the terminal.

ghcv-cli ghcv-cli makes it easy to view the user-created issues, pull requests, and repositories in the terminal. About Show a list of pull requests c

Mar 13, 2022

Are you programming and suddenly your stomach is rumbling? No problem, order your Ifood without leaving your favorite text editor โค๏ธ

vim-ifood Vocรช ta programando e de repente bateu aquela fome? Sem problemas, peรงa seu Ifood sem sair do seu editor de texto favorito โค๏ธ Are you progra

Jun 2, 2022

๐Ÿ™๐Ÿฑ๐Ÿ–ฅ๏ธ GitHub stats in your terminal

๐Ÿ™๐Ÿฑ๐Ÿ–ฅ๏ธ GitHub stats in your terminal

๐Ÿ™ ๐Ÿฑ ๐Ÿ–ฅ๏ธ octotui - GitHub stats in terminal Inspired by metrics & github-profile-summary-cards & github-tui ๐Ÿ’– Data - irevenko/octostats TUI - termui

Dec 25, 2022

An extension for the GitHub Cli application that displays your current contribution graph

An extension for the GitHub Cli application that displays your current contribution graph

gh-graph An extension for the GitHub Cli application that displays your current contribution graph in the terminal (logged out contribution graph) Ins

Sep 29, 2021

Command-line utility to grab Github gists from your own account.

Command-line utility to grab Github gists from your own account.

gistfetch Command-line utility to grab Github gists from your own account. How do I use this? Add an API token with permissions to read Gists Fetch th

Dec 14, 2021
Related tags
CLI tool for manipulating GitHub Labels across multiple repositories

takolabel Installation Mac $ brew install tommy6073/tap/takolabel Other platforms Download from Releases page in this repository. Usage Set variables

Nov 3, 2022
Go terminal app listing open pull requests in chosen GitHub repositories
Go terminal app listing open pull requests in chosen GitHub repositories

go-pr-watcher About Shows open pull requests on configured GitHub repositories. Getting started Create GitHub personal token with read permissions Cre

Aug 23, 2022
git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command
git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command

git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command. You give git-xargs:

Feb 5, 2022
Mass download all github repositories(public & private) of an organization, ideally in a few seconds.

Git Mass Mass download all github repositories(public & private) of an organization, ideally in a few seconds. Writing this as a simple bash script wo

Dec 27, 2021
GitHub CLI extension to clone (or update) all repositories in an Organization, with the ability to filter via search queries.

gh-org-repo-sync GitHub CLI extension to clone all repositories in an Organization, with the ability to filter via search queries. If a local clone al

Nov 2, 2022
GitHub CLI extension to preview your markdown similar to the style of GitHub.
GitHub CLI extension to preview your markdown similar to the style of GitHub.

gh markdown-preview GitHub CLI extension to preview your markdown similar to the style of GitHub gh markdown-preview is a GitHub CLI extension to prev

Jan 8, 2023
A minimal CLI tool to enable (or disable) dependabot for all your repositories

Enable Dependabot A minimal CLI tool to enable (or disable) dependabot for all your repositories. Installation Install via Go go get -v github.com/RiR

Feb 10, 2022
Rhoas CLI as an Host example
Rhoas CLI as an Host example

RHOAS CLI rhoas is a command-line client for managing all of your application services on Kubernetes. Guides See our Guides for installation and usage

Nov 8, 2021
Slack remote terminal - execute commands on remote host using slack slash command

slackRT Slack remote terminal - execute commands on remote host using slack slash command Installation Go to api.slack.com/apps and sign in and create

Jul 12, 2022
Ghissue - This repo contains a github issue parser, that is useful for Enterprise Github accounts.

Ghissue - This repo contains a github issue parser, that is useful for Enterprise Github accounts. Sometimes is needed to parse the content of the issue for some data extraction or statistics purposes.

Feb 6, 2022