diff options
| -rw-r--r-- | cgithub/CLAUDE.md | 3 | ||||
| -rw-r--r-- | cgithub/README.md | 59 |
2 files changed, 33 insertions, 29 deletions
diff --git a/cgithub/CLAUDE.md b/cgithub/CLAUDE.md index 6c6dc60..ef7b133 100644 --- a/cgithub/CLAUDE.md +++ b/cgithub/CLAUDE.md @@ -41,4 +41,5 @@ pnpm test ## Instructions - Use `for (const ... of ...)` instead of `.forEach()` -- Update `scraper.test.ts`
\ No newline at end of file +- Update `scraper.test.ts` +- When implementing a new feature update `README.md` diff --git a/cgithub/README.md b/cgithub/README.md index cfcdccd..533c88f 100644 --- a/cgithub/README.md +++ b/cgithub/README.md @@ -5,41 +5,40 @@ domain.  -## Development +## Features -To run the server locally: -``` -$ pnpm run dev -``` +Implemented: -To run tests: -``` -$ pnpm test -``` +- 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 -## Deployment +Not implemented: -To deploy to Cloudflare Workers: -``` -$ pnpm run deploy -``` - -The worker name and other settings live in `wrangler.jsonc`. +- 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, starring, commenting, editing, or + any other write action +- Private repositories ## Browser extension redirects -Pages cgithub can't render (marketing pages, code search, anything unrouted) are -redirected back to github.com. A browser extension that rewrites github.com URLs -to a cgithub instance with `declarativeNetRequest` will match those redirects -too and send the request straight back, looping forever. - -To avoid this, cgithub never answers with an HTTP redirect: it serves a small -page that navigates to github.com with a two-second `<meta http-equiv="refresh">`. -Because that navigation is initiated by the cgithub origin, the extension can -let it through with `excludedInitiatorDomains`; without that, the user at least -lands on a page they can stop on, with a link, instead of an endless loop. - -A rule that redirects to a cgithub instance should therefore look like this: +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 { @@ -56,6 +55,10 @@ A rule that redirects to a cgithub instance should therefore look like this: } ``` +## Related + +- [GotHub](https://codeberg.org/gothub/gothub) + ## Disclosures AI coding assistants, in particular Claude, are used in the development process. |
