Related and a step beyond just viewing diffs - has anyone found a good TUI solution for a local equivalent of doing GitHub PR reviews?
I love the simplicity of using existing tools in this post.
It would be nice to have something similar that would allow for adding online comment threads on a diff, and output it to a simple markdown file. Of course, I'm thinking about a local agent workflow here.
Claude spawns the process, it pops open a browser tab. You review what is there and can leave line by line feedback. You click finish and your comments go to stdout for Claude to read.
We ask Claude to group changes and order them by importance to make reviews easier for us.
Two advantages I see to files in folders are the ability to browse and the ability to easily read - by both LLMs and humans.
But I also agree that this has limitations. If I were to challenge you and say that Obsidian solves this, or gets close to solving it, what gaps would you say were left unfulfilled?
I am because I'm working on something in this space and your comment touches on my three main ingredients: text files, SQLite, and graphs.
Very good point and question. I am not intimately familiar with Obsidian because I haven't used it. My understanding is that it indexes directories of .md files to provide a graph-like interface over them, using the contents of the files themselves to store meta-data (e.g. in the form of links and YAML frontmatter).
Let's imagine a .zip file format that combines:
- A directory of .md and/or .xml files (there is more to structured text than markdown)
- A sqlite db in the root for some metadata
- A graph representation (RDF, triples, whatever) of the files
That is directionally what I am talking about, but with a standard spec so that someone receiving a project bundle knows how to parse it all.
You can still have all of the Obsidian stuff over the contents of the directory. But you can also store much more interesting meta-data in the db that may not be appropriate to put in any individual file (or in some kind of pure data .md file). It is something that can be sent over the network a bit more conveniently than a directory. And if you standardize the db schema and the graph you can have immediate interoperability between systems.
In fact, given advanced enough LLMs, you could just have an README.md or something in the root that sketches out the directory structure and files, the db schema for the metadata, and then just expect that the agent, knowing how to load and query a SQLite db, will be able to work with it. But I think there is value in having some loose standards around the db schema, some YAML frontmatter conventions, some well known graph representation, etc.
Yep, you're right, I read this too fast - it's also breaking long lines into many and I read this in reverse. I just imagined how much I could reduce my own LOC by adjusting the print width on my prettier settings..
I've been thinking about this (dishes vs creative work). I think it's because our high-production culture requires everyone to figure out their own way of providing value - otherwise you'll go hungry.
Getting a little meta here .
If we were to consider this with an economics-type lens, one could say that there is a finite-yet-unbounded field of possibility within which we can stake our ground to provide value. This field is finite in that we (as individuals, groups, or societies) only have so much knowledge and technology with which to explore the field. As we gain more in either category, the field expands.
Maybe an analogy for this would be terraforming an inhospitable planet such as Mars - our ability to extract value from it and support an increasing amount of actors is limited by how fast we can make it habitable.
the efficiency of industrialization results in less space in the field for people to create value. So the boundaries must be expanded. It's a different kind of work, and maybe this is the distinction between toil and creative work.
And we're in a world now where there is decreasing toil-work -- it's a resource that is becoming more and more scarce. So we must find creative, entrepreneurial ways to keep up.
Anyways, back to the kitchen sink -- doing our dishes is simply not as urgent as doing the creative thing that will help you stay afloat. With this anxious pressure in mind it makes sense to me that people reach for using AI to (attempt to) do the latter.
AI is great at toil-work, so we feel that it ought to be good at creative work too. The lines between the two are very blurry, and there is so much hype and things are moving so fast. But I think the ones who do figure out how to grow in this era will be those who learn to tell the distinction between the two, and resist the urge to let an LLM do the creative work for them. The kids in college right now who don't use AI to write for them, but use it to help gather research and so on.
Another planetary example comes to mind -- it's like there's a new Western gold rush frontier - but instead of it being open territory spanning beyind the horizon, it's slowly being revealed as the water recedes, and we are all already crowded at the shore.
a truly heartwarming website and discussion. I built my wheels the Sheldon Way as well, I'm looking at them right now. Such a rare combination of wisdom and generosity.
Thank you, OP, for posting. Also, hey all, click that donate button!
I have been switching between OpenCode and Claude - one thing I like about OpenCode is the ability to define custom agents. These can be ones tailored to specific workflows like PR reviews or writing change logs. I haven't yet attempted the equivalent of this with skills in Claude.
These two solutions look feel and smell like the same thing. Are they the same thing?
Any OpenCode users out there have any hot or nuanced takes?
Claude Code has subagents as well. I created a workflow with multiple agents to build iOS apps, including agents for orchestration, design, build, and QA.
I love the simplicity of using existing tools in this post. It would be nice to have something similar that would allow for adding online comment threads on a diff, and output it to a simple markdown file. Of course, I'm thinking about a local agent workflow here.
reply