{"slug": "ledge-sh", "name": "Ledge.sh", "category": "notes", "category_name": "Notes and knowledge", "description": "Desktop app for Markdown notes with runnable shell command blocks.", "recommenders": 5, "commenters": 7, "warners": 1, "score": 4.12, "rising": 5.0, "first": "2026-09-30", "latest": "2026-10-01", "why": "HN commenters mostly praise the idea rather than long-term use: runnable documentation that keeps notes and frequently run commands in one Markdown file, with some seeing it as an alternative to Jupyter Notebooks or org-babel-style workflows.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 5, "neutral": 0, "compare": 1, "warn": 1}, "spark": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3], "listed": true, "loved": ["Runnable docs", "Process automation"], "caveat": "Not for critical work", "short_quote": "I love the idea of having documentation that I can just run directly as I'm reading through it", "icon": false, "domain": null, "github_repo": null, "official_url": "", "pricing": "unknown", "aliases": ["Ledge.sh", "Ledge"], "verdict": [{"text": "HN commenters mostly praise the idea rather than long-term use: runnable documentation that keeps notes and frequently run commands in one Markdown file,", "cites": [{"id": 798596864, "item_id": 49912304, "url": "https://news.ycombinator.com/item?id=49912304", "by": "KetoManx64", "date": "2026-09-30", "stance": "recommend", "quote": "I love the idea of having documentation that I can just run directly as I'm reading through it", "excerpt": "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 GU", "context": "", "use_case": "runnable documentation", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798598960, "item_id": 49912435, "url": "https://news.ycombinator.com/item?id=49912435", "by": "dannyw", "date": "2026-09-30", "stance": "recommend", "quote": "Love this concept, simple but brilliant idea with lots of utility.", "excerpt": "Love this concept, simple but brilliant idea with lots of utility. I think this can fit in a decent niche. I\u2019ll give it a try!", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798720096, "item_id": 49920006, "url": "https://news.ycombinator.com/item?id=49920006", "by": "IanCal", "date": "2026-10-01", "stance": "recommend", "quote": "Nice, I'll have to give this a try.", "excerpt": "Nice, I'll have to give this a try. I like the concept, I know there have been some other things in the general area but often tied a bit more to data analysis. I am a big fan of documenting processes as \"do nothing scripts\" which just repeatedly prompt you to go and do something, and you then incrementally actually add automation. I think this is a nice side of something here as well, as well as things for observabi", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798721984, "item_id": 49920124, "url": "https://news.ycombinator.com/item?id=49920124", "by": "Piraty", "date": "2026-10-01", "stance": "warn", "quote": "I advise against using this for any serious project management. Nontrivial and/or crucial code-blocks in markdown files is an anti-pattern.", "excerpt": "> 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. I see it might be handy for exploring your own pipelines (and so are ", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"text": " with some seeing it as an alternative to Jupyter Notebooks or org-babel-style workflows.", "cites": [{"id": 798698784, "item_id": 49918674, "url": "https://news.ycombinator.com/item?id=49918674", "by": "theis_once", "date": "2026-10-01", "stance": "recommend", "quote": "This seems like a good alternative to Jupyter Notebooks.", "excerpt": "Interesting. This seems like a good alternative to Jupyter Notebooks. I get annoyed when working with them using agents. They avoid editing the file directly because there is too much JSON bloat (or sometimes image bytes). It'd be great if this had a config option / toggle for 'Notebook mode' that would enable Jupyter-like execution, e.g., run all cells above, below, etc, so I could use it as a notebook.", "context": "", "use_case": "notebooks with agents", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798700784, "item_id": 49918799, "url": "https://news.ycombinator.com/item?id=49918799", "by": "mfld", "date": "2026-10-01", "stance": "recommend", "quote": "Great idea!", "excerpt": "Great idea! During my time as a researcher, I heavily used org-babel. I used it to put code for data wrangling, plots, and notes into a single document. The notes would often contain formulas to describe what was done. I would regularly export that to PDF using pdflatex to send it to collaborators. Maybe this is an avenue worth considering for Ledge.", "context": "former researcher", "use_case": "runnable notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"text": " The main caveat is a warning against putting crucial code blocks in Markdown for serious project management,", "cites": [{"id": 798721984, "item_id": 49920124, "url": "https://news.ycombinator.com/item?id=49920124", "by": "Piraty", "date": "2026-10-01", "stance": "warn", "quote": "I advise against using this for any serious project management. Nontrivial and/or crucial code-blocks in markdown files is an anti-pattern.", "excerpt": "> 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. I see it might be handy for exploring your own pipelines (and so are ", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"text": " and one commenter expects the existing tool xc to suit their needs better.", "cites": [{"id": 798691297, "item_id": 49918206, "url": "https://news.ycombinator.com/item?id=49918206", "by": "20after4", "date": "2026-10-01", "stance": "compare", "quote": "I think xc is probably more suited for my uses", "excerpt": "This is pretty cool. I've been interested in runnable code in markdown for a long time. It's a kind of \"literate programming\u00b9\" which I've always thought was one of Knuth's best ideas. More prior art: xcfile\u00b2 I've used xc\u00b3 for a long time now and it's fairly solid. The idea of runnable markdown is definitely useful. A lot of projects have attempted it and none that I've seen have achieved what I'd call perfection, how", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}], "praise": [{"label": "Runnable docs", "summary": "Commenters like being able to run documentation directly while reading it.", "quotes": [{"id": 798596864, "item_id": 49912304, "url": "https://news.ycombinator.com/item?id=49912304", "by": "KetoManx64", "date": "2026-09-30", "stance": "recommend", "quote": "I love the idea of having documentation that I can just run directly as I'm reading through it", "excerpt": "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 GU", "context": "", "use_case": "runnable documentation", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798598960, "item_id": 49912435, "url": "https://news.ycombinator.com/item?id=49912435", "by": "dannyw", "date": "2026-09-30", "stance": "recommend", "quote": "Love this concept, simple but brilliant idea with lots of utility.", "excerpt": "Love this concept, simple but brilliant idea with lots of utility. I think this can fit in a decent niche. I\u2019ll give it a try!", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798691297, "item_id": 49918206, "url": "https://news.ycombinator.com/item?id=49918206", "by": "20after4", "date": "2026-10-01", "stance": "compare", "quote": "I think xc is probably more suited for my uses", "excerpt": "This is pretty cool. I've been interested in runnable code in markdown for a long time. It's a kind of \"literate programming\u00b9\" which I've always thought was one of Knuth's best ideas. More prior art: xcfile\u00b2 I've used xc\u00b3 for a long time now and it's fairly solid. The idea of runnable markdown is definitely useful. A lot of projects have attempted it and none that I've seen have achieved what I'd call perfection, how", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"label": "Process automation", "summary": "Seen as a good fit for incrementally automated 'do nothing scripts' and baked-in observability queries.", "quotes": [{"id": 798720096, "item_id": 49920006, "url": "https://news.ycombinator.com/item?id=49920006", "by": "IanCal", "date": "2026-10-01", "stance": "recommend", "quote": "Nice, I'll have to give this a try.", "excerpt": "Nice, I'll have to give this a try. I like the concept, I know there have been some other things in the general area but often tied a bit more to data analysis. I am a big fan of documenting processes as \"do nothing scripts\" which just repeatedly prompt you to go and do something, and you then incrementally actually add automation. I think this is a nice side of something here as well, as well as things for observabi", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"label": "Jupyter alternative", "summary": "Suggested as a Markdown alternative to Jupyter, avoiding the notebook JSON bloat that trips up agents.", "quotes": [{"id": 798698784, "item_id": 49918674, "url": "https://news.ycombinator.com/item?id=49918674", "by": "theis_once", "date": "2026-10-01", "stance": "recommend", "quote": "This seems like a good alternative to Jupyter Notebooks.", "excerpt": "Interesting. This seems like a good alternative to Jupyter Notebooks. I get annoyed when working with them using agents. They avoid editing the file directly because there is too much JSON bloat (or sometimes image bytes). It'd be great if this had a config option / toggle for 'Notebook mode' that would enable Jupyter-like execution, e.g., run all cells above, below, etc, so I could use it as a notebook.", "context": "", "use_case": "notebooks with agents", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"label": "GUI", "summary": "One commenter was drawn by its GUI after finding Atuin Desktop's performance poor.", "quotes": [{"id": 798596864, "item_id": 49912304, "url": "https://news.ycombinator.com/item?id=49912304", "by": "KetoManx64", "date": "2026-09-30", "stance": "recommend", "quote": "I love the idea of having documentation that I can just run directly as I'm reading through it", "excerpt": "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 GU", "context": "", "use_case": "runnable documentation", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}], "caveats": [{"label": "Not for critical work", "summary": "One commenter calls crucial code blocks in Markdown an anti-pattern for serious project management.", "quotes": [{"id": 798721984, "item_id": 49920124, "url": "https://news.ycombinator.com/item?id=49920124", "by": "Piraty", "date": "2026-10-01", "stance": "warn", "quote": "I advise against using this for any serious project management. Nontrivial and/or crucial code-blocks in markdown files is an anti-pattern.", "excerpt": "> 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. I see it might be handy for exploring your own pipelines (and so are ", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"label": "Existing alternatives", "summary": "Similar tools like xc and Atuin Desktop exist, and one user expects xc to suit them better.", "quotes": [{"id": 798691297, "item_id": 49918206, "url": "https://news.ycombinator.com/item?id=49918206", "by": "20after4", "date": "2026-10-01", "stance": "compare", "quote": "I think xc is probably more suited for my uses", "excerpt": "This is pretty cool. I've been interested in runnable code in markdown for a long time. It's a kind of \"literate programming\u00b9\" which I've always thought was one of Knuth's best ideas. More prior art: xcfile\u00b2 I've used xc\u00b3 for a long time now and it's fairly solid. The idea of runnable markdown is definitely useful. A lot of projects have attempted it and none that I've seen have achieved what I'd call perfection, how", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798596864, "item_id": 49912304, "url": "https://news.ycombinator.com/item?id=49912304", "by": "KetoManx64", "date": "2026-09-30", "stance": "recommend", "quote": "I love the idea of having documentation that I can just run directly as I'm reading through it", "excerpt": "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 GU", "context": "", "use_case": "runnable documentation", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}, {"label": "Missing features", "summary": "Commenters asked for a Jupyter-like notebook mode and PDF export.", "quotes": [{"id": 798698784, "item_id": 49918674, "url": "https://news.ycombinator.com/item?id=49918674", "by": "theis_once", "date": "2026-10-01", "stance": "recommend", "quote": "This seems like a good alternative to Jupyter Notebooks.", "excerpt": "Interesting. This seems like a good alternative to Jupyter Notebooks. I get annoyed when working with them using agents. They avoid editing the file directly because there is too much JSON bloat (or sometimes image bytes). It'd be great if this had a config option / toggle for 'Notebook mode' that would enable Jupyter-like execution, e.g., run all cells above, below, etc, so I could use it as a notebook.", "context": "", "use_case": "notebooks with agents", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798700784, "item_id": 49918799, "url": "https://news.ycombinator.com/item?id=49918799", "by": "mfld", "date": "2026-10-01", "stance": "recommend", "quote": "Great idea!", "excerpt": "Great idea! During my time as a researcher, I heavily used org-babel. I used it to put code for data wrangling, plots, and notes into a single document. The notes would often contain formulas to describe what was done. I would regularly export that to PDF using pdflatex to send it to collaborators. Maybe this is an avenue worth considering for Ledge.", "context": "former researcher", "use_case": "runnable notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}], "who": [{"by": "mfld", "context": "former researcher", "url": "https://news.ycombinator.com/item?id=49918799", "date": "2026-10-01"}], "tags": ["for runbooks", "for literate programming", "for notebook users"], "use_cases": ["runnable markdown notes", "runnable notes", "notebooks with agents", "runnable documentation"], "compared": [{"slug": "org-babel", "name": "org-babel", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 798758432, "item_id": 49922402, "url": "https://news.ycombinator.com/item?id=49922402", "by": "theCodeStig", "date": "2026-10-01", "stance": "recommend", "quote": "support for Ledge notebooks degrades gracefully.", "excerpt": "Yes, exactly that. Org predates Markdown, however the Achilles heel is that it's tied to Emacs. I love Emacs, but I can't (ethically and pragmatically) force any editor/IDE on anyone. And as soon as a lone emacser commits an org file to a repo, it creates a disconnect. Markdown (although it doesn't adhere to a strict standard) is ubiquitous, and support for Ledge notebooks degrades gracefully. If one doesn't have Led", "context": "", "use_case": "runnable markdown notebooks", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798746176, "item_id": 49921636, "url": "https://news.ycombinator.com/item?id=49921636", "by": "dancablam", "date": "2026-10-01", "stance": "recommend", "quote": "So I use Ledge to run my automation scripts, do some manual checks, based on those run more automations", "excerpt": "Ledge doesn't remove the need to write scripts / automations. But for things like complex deploy pipelines there are still many manual / human steps in between. So I use Ledge to run my automation scripts, do some manual checks, based on those run more automations, etc.", "context": "", "use_case": "runnable notes for deploy automation", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}], "threads": [{"url": "https://news.ycombinator.com/item?id=49902382", "title": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes", "mentions": 9}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {"recommend": 2}, "2026-10": {"compare": 1, "recommend": 3, "warn": 1}}, "quotes": [{"id": 798721984, "item_id": 49920124, "url": "https://news.ycombinator.com/item?id=49920124", "by": "Piraty", "date": "2026-10-01", "stance": "warn", "quote": "I advise against using this for any serious project management. Nontrivial and/or crucial code-blocks in markdown files is an anti-pattern.", "excerpt": "> 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. I see it might be handy for exploring your own pipelines (and so are ", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798720096, "item_id": 49920006, "url": "https://news.ycombinator.com/item?id=49920006", "by": "IanCal", "date": "2026-10-01", "stance": "recommend", "quote": "Nice, I'll have to give this a try.", "excerpt": "Nice, I'll have to give this a try. I like the concept, I know there have been some other things in the general area but often tied a bit more to data analysis. I am a big fan of documenting processes as \"do nothing scripts\" which just repeatedly prompt you to go and do something, and you then incrementally actually add automation. I think this is a nice side of something here as well, as well as things for observabi", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798700784, "item_id": 49918799, "url": "https://news.ycombinator.com/item?id=49918799", "by": "mfld", "date": "2026-10-01", "stance": "recommend", "quote": "Great idea!", "excerpt": "Great idea! During my time as a researcher, I heavily used org-babel. I used it to put code for data wrangling, plots, and notes into a single document. The notes would often contain formulas to describe what was done. I would regularly export that to PDF using pdflatex to send it to collaborators. Maybe this is an avenue worth considering for Ledge.", "context": "former researcher", "use_case": "runnable notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798698784, "item_id": 49918674, "url": "https://news.ycombinator.com/item?id=49918674", "by": "theis_once", "date": "2026-10-01", "stance": "recommend", "quote": "This seems like a good alternative to Jupyter Notebooks.", "excerpt": "Interesting. This seems like a good alternative to Jupyter Notebooks. I get annoyed when working with them using agents. They avoid editing the file directly because there is too much JSON bloat (or sometimes image bytes). It'd be great if this had a config option / toggle for 'Notebook mode' that would enable Jupyter-like execution, e.g., run all cells above, below, etc, so I could use it as a notebook.", "context": "", "use_case": "notebooks with agents", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798691297, "item_id": 49918206, "url": "https://news.ycombinator.com/item?id=49918206", "by": "20after4", "date": "2026-10-01", "stance": "compare", "quote": "I think xc is probably more suited for my uses", "excerpt": "This is pretty cool. I've been interested in runnable code in markdown for a long time. It's a kind of \"literate programming\u00b9\" which I've always thought was one of Knuth's best ideas. More prior art: xcfile\u00b2 I've used xc\u00b3 for a long time now and it's fairly solid. The idea of runnable markdown is definitely useful. A lot of projects have attempted it and none that I've seen have achieved what I'd call perfection, how", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798598960, "item_id": 49912435, "url": "https://news.ycombinator.com/item?id=49912435", "by": "dannyw", "date": "2026-09-30", "stance": "recommend", "quote": "Love this concept, simple but brilliant idea with lots of utility.", "excerpt": "Love this concept, simple but brilliant idea with lots of utility. I think this can fit in a decent niche. I\u2019ll give it a try!", "context": "", "use_case": "runnable markdown notes", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}, {"id": 798596864, "item_id": 49912304, "url": "https://news.ycombinator.com/item?id=49912304", "by": "KetoManx64", "date": "2026-09-30", "stance": "recommend", "quote": "I love the idea of having documentation that I can just run directly as I'm reading through it", "excerpt": "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 GU", "context": "", "use_case": "runnable documentation", "switched_from": "", "story": "Show HN: Ledge.sh \u2013 Runnable Markdown Notes"}]}