cgithub is a lightweight GitHub alternative frontend. It has no bloated JavaScript and doesn't require API keys. It can run on Cloudflare Workers or as a local Node server; to use it, run your own instance then replace `github.com` in your URL with your domain. ![Screenshot of cgithub repository page.](docs/screenshot.png) ## Development Run the Cloudflare version locally with: ```sh pnpm run dev ``` Run the Node server locally with: ```sh pnpm run dev:local ``` To deploy the Worker to Cloudflare: ```sh pnpm run deploy ``` ## Features Implemented: - Repository overview - Directory listing and file browsing (`tree`/`blob`) - Commit history (but this often results in 429 Too Many Requests on Cloudflare) - Issue and pull request lists and search - Release lists and details - Wiki - User and organization profiles Not implemented: - Issue, pull request, and commit details - Issue and pull request status and labels - Code search (GitHub requires signing in) - Pagination (only the first page of issues, pull requests, commits, releases, branches, and tags is shown) - Blame, contributors, stargazer/fork lists, network graphs, and insights - Actions, checks, projects, packages, discussions, and gists - Profile tabs other than the overview (repositories, projects, packages, people, sponsoring) - Anything requiring an account: signing in, notifications, starring, commenting, editing, or any other write action - Private repositories ## Browser extension redirects cgithub redirects unsupported routes back to github.com. A browser extension that rewrites github.com URLs to a cgithub instance with `declarativeNetRequest` will match those redirects and send the request back, looping forever. To avoid this, the extension should configure `excludedInitiatorDomains` with the cgithub domain: ```jsonc { "action": { "type": "redirect", "redirect": { "transform": { "host": "cgithub.example" } }, }, "condition": { "urlFilter": "||github.com", "resourceTypes": ["main_frame"], // So cgithub's own meta refresh to github.com isn't redirected back here. "excludedInitiatorDomains": ["cgithub.example"], }, } ``` ## Related - [GotHub](https://codeberg.org/gothub/gothub) ## Disclosures AI coding assistants, in particular Claude, are used in the development process. [Phospor Icons](https://phosphoricons.com/) used under MIT license.