frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Browse GitHub repos in Emacs without cloning

https://github.com/agzam/remoto.el
23•iLemming•2d ago
Wouldn't be nice to press <C-x C-f> (find-file) and instead of a file path, give it a GitHub URL, and then just browse the repo in Dired?

Comments

Pay08•2d ago
Really neat. Out of curiosity, does this need to use the Github API? I hoped something like this could be done with plain http.
iLemming•2d ago
Of course it needs to use the API. How are you otherwise read the private repos?
necovek•2d ago
Authenticated HTTP or even SSH should allow it, especially if you are restricting to GH and know how their web URLs translate into git repo URLs.
iLemming•2d ago
Ah, okay. I get now what the question meant. Sorry, it's past midnight here and my brain is ketchup. Git's own protocols let you talk to a remote repo without cloning it, so why not use that, right? Multiple reasons:

- Tree listing. There's no raw HTTP URL that gives you a directory listing. raw.githubblabla.com can't do directory indexes. You'd have to shell out to git ls-tree ... etc over the ssh, which means essentially implementing a partial git client.

- Getting subtries is also problematic

- Branch listing and repo search - no git protocol equivalent for those - need the API

- Current approach fetches the entire tree in one API call. Doing the same over pack protocol means negotiating a fetch, receiving packfile data and parsing it. Much heavier, much more code.

We can only imagine a world where git's transport layer gives you a browsable filesystem interface. It doesn't - git's protocols are optimized for syncing object graphs, not random-access file browsing.

v9v•2d ago
I use https://github.com/TxGVNN/github-explorer for this and even though it doesn't have a C-x C-f nicety (you just m-x github-explorer then type in the repo name) it works via http (or at least I don't recall giving it any API key or anything).
iLemming•1d ago
From what I can tell (by just glancing over the code) - it doesn't open the tree in Dired. I just wanted to browse any GitHub repo in Dired. You can browse the tree in any branch, view and copy files out, grab GH urls for files, for regions, etc. You just can't make any edits - no file/subdir renaming.
iLemming•2d ago
r/emacs discussion https://www.reddit.com/r/emacs/comments/1sutzz6/new_package_...
captn3m0•1d ago
What I want at this point is a classic.github.com which uses the old UI from 2013. That was perfect and fast.
the_biot•1d ago
But github now handles so much more traffic, without a doubt. I'm not so sure their infrastructure is keeping up, but if it is, the current sluggishness may just be its speed under any load.

If you want to see what it should be, check any forgejo/codeberg repo.

iLemming•1d ago
The bigger point is not about "a better UI", it's about having control over plain text. My issue with things like Jira/GitHub/Slack is not that they don't provide nice UI/UX but that they do that each on their own terms - I can't easily edit a Jira comment without having to deal with their shittiest wysiwyg bullcrap; I can't quickly and easily extract a code snippet from a Slack message without wanting to smash my keyboard in anger. If I can see that crap on my screen and can read it, why the heck they make it so vexatiously difficult to extract it and deal with it in something else? Why do I have to go through enormous hoops, every fucking time?

Using Emacs liberated me from wasting my energy for crap like that. Why would I ever complain about GitHub changing/not having/breaking their UI, if I just want to browse files and the well-trodden path for doing just that has existed in my tool belt for years, why wouldn't I just use that?

self_awareness•1d ago
It would be even nicer if we could somehow mount the github repo through FUSE so that we can run ripgrep on the codebase or even launch the LSP.

For changed files we could implement CoW, so we could keep modified files without uploading them to remote.

For speedup we could cache files locally.

.... oh yeah, I guess we have all this (dired, ripgrep, lsp, speed) for free when running `git clone <url>` ?

iLemming•15h ago
A lazy-clone virtual filesystem? That is way out of scope for this project. FUSE needs a userspace daemon and Elisp is not a practical choice for implementing it - you're gonna need to build a CLI companion. Ripgrep and LSP both need access to most or all files. You'd have to fetch every blob, at which point you're fighting the GitHub API's rate limits - not worth it, easier just to clone. CoW would add a local mutation layer, which means state management, conflict detection, and by the time you get there, you're reimagining git itself.

The point about ripgrep worth considering though - maybe search command that hits the search API would be nice. There are some constraints though - 30 requests/minute (I think); it would only work with indexed branches (non main branches may not be); it only indexes files under certain size (something like less than 400Kb); there's no regex; All that makes me think maybe it's better to make it easy to clone/jump to cloned repo instead.

medivhX•23h ago
Does this work with private repos? Or only public GitHub repos?
iLemming•16h ago
Yes - works with both.

Show HN: BeVisible.app - Blog that runs itself

https://www.bevisible.app
2•evanyang•49m ago•0 comments

Show HN: OSS Agent I built topped the TerminalBench on Gemini-3-flash-preview

https://github.com/dirac-run/dirac
338•GodelNumbering•19h ago•125 comments

Show HN: Gate – AI workers handle dev tickets in a visual workspace

https://soliddark.net/gate
2•SolidDark•2h ago•0 comments

Show HN: Utilyze – an open source GPU monitoring tool more accurate than nvtop

https://www.systalyze.com/utilyze
97•ManyaGhobadi•18h ago•23 comments

Show HN: Nat-zero – Scale-to-zero NAT instances for AWS (Terraform module)

https://machine.dev/blog/nat-zero-scale-to-zero-nat-instances/
2•leonardosul•2h ago•1 comments

Show HN: Waiting for LLMs Suck – Give your user a game

https://github.com/ftaip/waiting-game
12•dalemhurley•5h ago•12 comments

Show HN: A terminal spreadsheet editor with Vim keybindings

https://github.com/garritfra/cell
93•garritfra•20h ago•45 comments

Show HN: AgentSwift – Open-source iOS builder agent

https://github.com/hpennington/agentswift
37•hpen•7h ago•7 comments

Show HN: Turning a Gaussian Splat into a videogame

https://blog.playcanvas.com/turning-a-gaussian-splat-into-a-videogame/
229•yak32•4d ago•58 comments

Show HN: PrePrompt – rewrites vague prompts before they reach the LLM

https://preprompt.org/
2•yashdeeptehlan•5h ago•1 comments

Show HN: Blotter, a live map of LAPD radio activity

https://blotter.fm
2•s_e__a___n•7h ago•1 comments

Show HN: Unusual Wikipedia

https://unusualwiki.nk412.com/
10•grilledchickenw•15h ago•0 comments

Show HN: The Unix Magic poster, annotated (updated)

https://github.com/drio/unixmagic
59•drio•1d ago•6 comments

Show HN: Tiao, A two-player turn-based board game

https://playtiao.com
59•trebeljahr•1d ago•28 comments

Show HN: Free textbook on engineering thermodynamics

https://thermodynamicsbook.com/
173•2DcAf•1d ago•45 comments

Show HN: Startup Equity Adventure Game

https://options-game-polymathrobotics.pythonanywhere.com/
33•iliabara•1d ago•24 comments

Show HN: Vibe-coding video games with Claude (Day 14: Tetris)

https://gamevibe.us/14-tetromino
5•pzxc•16h ago•2 comments

Show HN: Git-agecrypt – transparent file-level encryption for Git

https://github.com/bartei/git-agecrypt
4•bartei81•16h ago•0 comments

Show HN: I built a dual crossword puzzle where two crosswords share one grid

https://forkle.co.uk/
19•daveoshawrus•21h ago•15 comments

Show HN: AgentSwarms – free hands-on playground to learn agentic AI, no setup

https://agentswarms.fyi/
24•rohan044•1d ago•9 comments

Show HN: Tera – A Compiler‑Native UI Framework with Shared Runtime/AI Context

https://github.com/terajs/terajs
3•thecodergabe•13h ago•0 comments

Show HN: Honker – Postgres NOTIFY/LISTEN Semantics for SQLite

https://github.com/russellromney/honker
312•russellthehippo•4d ago•80 comments

Show HN: AI memory with biological decay (52% recall)

https://github.com/sachitrafa/YourMemory
94•SachitRafa•1d ago•46 comments

Show HN: I remade my blog into a Windows 3.1 environment

https://passo.uno/win31/
28•theletterf•1d ago•25 comments

Show HN: I've built a nice home server OS

https://lightwhale.asklandd.dk/
191•Zta77•3d ago•84 comments

Show HN: Browser Harness – Gives LLM freedom to complete any browser task

https://github.com/browser-use/browser-harness
131•gregpr07•3d ago•64 comments

Show HN: A free ESG stock screener that publishes its losses and methodology

https://jumpstartsignal.com/
29•irldexter•1d ago•25 comments

Show HN: Gova – The declarative GUI framework for Go

https://github.com/NV404/gova
142•aliezsid•4d ago•29 comments

Show HN: Matrirc – run irssi in 2026, talk to people on Matrix

https://github.com/pawelb0/matrirc
12•pawelb0•1d ago•1 comments

Show HN: 2 weeks of coding, 3 months of OpenAI review, my ChatGPT App is live

4•Aldipower•16h ago•0 comments