Entries for July 20, 2026
-
-
Speaking of graphs... here is something I wanted to build since 3 months, and finally had the chance to, thanks to @pidotdev I often have these sequence of prompts that emerge while I work. Not just sequences but conditionals that necessitate control flow For example, one workflow that resembles socratic questioning: 1. Discuss some problem 2. "What is the most elegant and long-term production ready solution for this?" -> Agent replies 3. "Is that the holy grail?" 4. Agent can reply "yes it is, basically" or "no, it is not, it is instead ..." 5. If yes, continue to "autoimplement". If no, think about it and decide what to do And "autoimplement" is a single prompt of 6-7 sequential steps, which I've been meaning to make more deterministic as well But I wasn't sure how to build it I had previously built acpx workflows to be a swiss army knife, "something like n8n, but can drive codex through deterministic steps, nodes in a graph. or claude code. or pi. it uses acp..." But it had one problem. It was run from outside the harness, like a CI orchestrator I wanted to integrate acpx into pi. Because pi was the only CLI that could enable building of such a thing. But I wasn't sure how to reconcile a general ACP-based tool into a single coding agent I was being too accommodative of all the other harnesses, claude code, codex. I was trying to be too general I have changed my mind since then ACP is great and lets you integrate a harness into other software in cool ways But maybe, if a harness is proprietary, does not accept outside contributions, or does not even *support ACP*, maybe, it does not deserve cool features 😤 (they know who they are) So I ripped out ACP, and built it natively, only for pi No need for a web viewer... Just view it in a native widget, right inside pi! I cannot put into words how awesome it is to be able to do this! I am still tinkering, discovering. It is at osolmaz/pi-workflows if you want to take a look -
It's interesting, a @pidotdev extension can be built with different attitudes: (a) To be installed as a package: You want other people to adopt, like @nicopreme /pi-web-access (a) is like "I want others to adopt it, so I will try to make it elegant, simple and make it have a good architecture" People install these by npm install ... or pi install ... (or rather, telling their agent to do it) (b) To be vendored: You build for yourself. It is too idiosyncratic of you, and you know others will likely not adopt. But you still put it out there, because it's easier to share them when you mention it to a friend. People (b) is like "This is mine, I don't care what others think about it. If they want to use it, they do whatever they want with it" People install these by pointing their agent and telling to copy it to their own extensions repo And then there is the maintenance dimension: - If an extension poses as (a), - but has not been maintained since 3 months, - and is the sort of package that has to be continuously maintained by its nature (not one-off), then you deem it unmaintained, and still vendor it in... Interestingly, most pi extensions I observe out in the wild appear to be of category (b), because creating (b) is easier than creating (a) This is nothing new, and I am kind of late to the game. Moreover, pi is not the first software of this kind, emacs for example did it decades before But code wasn't cheap then. So people still tried to coordinate effort When you don't have to write any code to extend---a lisp dialect, typescript or otherwise, when extending is 1 prompt away, when you can pump out 10 extensions in an evening, then we enter a new dimension of malleability Before, in the pre-AI era, most users of emacs were not producers of extensions but consumers of them, save for a few prolific authors After, now, every user can be a producer! This is significant! And a lot more messy! And a lot more fun! "A love letter to pi" indeed! -
stealing this, thanks @tornikegomareli 😺 x.com/tornikegomarel… -
I have a confession to make. I am Pi-curious I have spent the weekend to get the coding agent UX I have always wanted, with @pidotdev Here is one example: my turn-fold pi extension in action Brings codex desktop app UX into the CLI, where it collapses all the messages between the user message and the last assistant message It also lets me remove the pesky indentation so I don't have to do it manually every time I copy something. No need for an extension, just a config change My pi config is open source under osolmaz/onurpiImage hidden