Show HN: Ledge.sh – Runnable Markdown Notes (ledge.sh)

71 points by dancablam a day ago

Hi HN,

Ledge is a Markdown notebook that runs shell commands, code, SQL, etc from inside your own notes.

I built Ledge because I spend much of my day copy/pasting commands from my notes into the terminal. I was inspired by how much cmux helped me organize my terminals - but there was still a split brain between my notes and frequently run commands. I've been daily-driving it for the past few weeks and use it for deploys, API calls, smoke tests, etc.

Ledge runs your real shell just like a terminal app and can be hosted locally or remotely over SSH using ledge-server. I've been building it since July and have recently added support for all the major platforms: Mac (Silicon), Windows (WSL required), Linux, iOS, Android. Mobile devices require SSH access to a ledge-server and Android is still in beta and looking for beta testers (see link on website)!

It's built on Bun and Electrobun and is free and open-source. Feel free to review the code and contribute at https://github.com/ledgesh/ledge

Feedback is very much welcome. Any must-have features that are missing?

TheGoodBarn 4 hours ago

This is awesome I will definitely play around with it. Fits the niche gap as a standalone app vs something like [Observable Framework](https://observablehq.github.io/framework/) for data analytical type things.

I wish Notion could just integrate these things together and make it work, or someone build an Obsidian plugin. More often than not it would be so convenient to do something like this.

dancablam 4 hours ago

Awesome! Let me know how it goes.

olexsmir 2 hours ago

Really love the project, it reminds me of a now dead xiki[1]

[1]: https://www.youtube.com/watch?v=YufgfbUgEgI and xiki.org

drayfield 3 hours ago

I went to look at Atuin Desktop to see what the crossover was with this product, and it's fascinating to see that the repo was archived the day this was posted here!

https://github.com/atuinsh/desktop

dancablam 3 hours ago

Woah. I have no affiliation with Atuin so a coincidence I'm sure but really weird.

RationPhantoms 2 hours ago

Kind of not surprised with the domination of Claude Code/Codex out there.

edude03 3 hours ago

I feel like there has been a few takes on this (atuin desktop comes to mind[0] but apparently it's not a going concern anymore?) why hasn't it caught on?

0: https://github.com/atuinsh/desktop

junehwi an hour ago

I'm curious about this too. Org-babel, Jupyter, Atuin Desktop, etc. have explored similar ideas, but none became a mainstream way of working.

For people who used these tools long-term: what held them back? UX/accessibility, or do people simply prefer keeping documents separate from the actual work?

ellieh an hour ago

(hi! I worked a lot on atuin desktop)

we saw a bunch of issues with desktop, in no particular order

1. authoring runbooks is difficult, most people barely document their work let alone make it executable

2. keeping runbooks up to date is difficult, they are error-prone across systems

3. agents are now pretty good at a number of the tasks these ideas solve for, and are good at working around issues caused by docs becoming out of date/etc

all these tools are great for your own notes, but are very difficult to scale

dancablam 27 minutes ago

junehwi 37 minutes ago

baranguneysel 13 hours ago

Very cool! I launched something similar as well. My idea was to create a working document in which people could develop their own tools and agents. Conversations with coding agents are treated as editable, executable documents. Both the person and the agent can write on the same page. Rather than correcting a mistake in a follow-up, you can rewrite it, delete a detour, or edit and re-run an earlier prompt. The file is always readable Markdown. Check out: https://piary.dev/

Feel free to get in touch if you are open to an exchange, you can find my contact details in the write-up.

dancablam 11 hours ago

Nice! I'll take a look.

theCodeStig 4 hours ago

As an Emacs user for over a decade I think this is brilliant, it solves my biggest gripes with org-babel which prevent me from using it in a team setting. Ledge is a lot like org-babel from Emacs, but for muggles: a familiar UI, and common format go a long way.

imglorp 3 hours ago

I wonder what would org-babel for team settings look like? Disk/interchange format seems less interesting than what gets shipped around and what the UX feels like.

dancablam 4 hours ago

Hey thanks! This gives me the motivation to keep on evolving this project :)

dannyw 3 hours ago

Love this concept, simple but brilliant idea with lots of utility. I think this can fit in a decent niche. I’ll give it a try!

tetraodonpuffer 4 hours ago

cool idea, do you have any plans to integrate command generation with the shell completion / aliases / functions? Say I have tons of muscle memory on using ctrl-r fzf to get things from history, or on pressing tab to autocomplete pod names etc. so I would never write out a full kubectl command to execute by hand

dancablam 4 hours ago

Ctrl-R, fzf and tab completion work in the terminal drawer. But completion in the editor doesn't exist currently. Really good idea, however so let me look into it!

classictraffic 4 hours ago

This is really cool, and I love the mobile support too! I’ll definitely be giving this a spin

melito 4 hours ago

Looks cool. I vibe coded this a while back to share some org docs on the web https://orgmode.dev/ - its currently a mess, but it does mostly work.

rvdca 8 hours ago

How does this compete to something like Org-mode?

dancablam 6 hours ago

Good question. Main differences of Ledge: You don't need Emacs for those of us that don't use it already. Markdown instead of Org syntax. Shells are interactive by default. Mobile apps can run the shell/code.

KetoManx64 3 hours ago

Woooow! I love the idea of having documentation that I can just run directly as I'm reading through it, that also has a nice GUI to it. There's a similar product called Atuin Desktop (https://github.com/atuinsh/desktop) that uses Tauri for the GUI and the performance is just abysmal (makes my pc fans spin up like crazy when I launch it and navigate around), and have been on a lookout for something that handles the GUI aspect better. Definitely going to try this out.

dancablam 3 hours ago

Great to hear! Hope it works well for you. Let me know if you hit any snags!

wakaru44 14 hours ago

Years ago I just used Jupyter notebooks with a bash (or many others) backend to have a similar thing.

dancablam 11 hours ago

Jupyter is great. From what I recall it's bash kernel isn't a real terminal session so sudo prompts, top, etc can tend to get a bit wonky. I also have a preference towards Markdown over .ipynb.

bpshaver 4 hours ago

This is all valid, but I'd suggest rethinking the slogan "The notebook that runs code" at the top of the README. I much prefer .md too and haven't used notebooks regularly in years, but nevertheless I scoffed when I read that (I thought: hasn't this guy heard of Jupyter?). I believe you'd be better off not calling this a "notebook" at all since that terms tends to describe something slightly different than what you have here.

dancablam 4 hours ago

skrtskrt 4 hours ago